AIX's assembler does not support local labels, use relative addressing instead

(Laurent Vivier)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5731 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
malc 2008-11-18 01:42:17 +00:00
parent 48253bd84e
commit 14f87098c0
1 changed files with 3 additions and 4 deletions

View File

@ -63,12 +63,11 @@ static inline int testandset (int *p)
{
int ret;
__asm__ __volatile__ (
"0: lwarx %0,0,%1\n"
" lwarx %0,0,%1\n"
" xor. %0,%3,%0\n"
" bne 1f\n"
" bne $+12\n"
" stwcx. %2,0,%1\n"
" bne- 0b\n"
"1: "
" bne- $-16\n"
: "=&r" (ret)
: "r" (p), "r" (1), "r" (0)
: "cr0", "memory");