diff options
author | malc <malc@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-11-18 01:42:17 +0000 |
---|---|---|
committer | malc <malc@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-11-18 01:42:17 +0000 |
commit | 14f87098c07c33cc46fb7510be739e63c3a9be07 (patch) | |
tree | 9856ec75a02e6246ca9a533ec54332bedd09277b | |
parent | 48253bd84ee24182dd8a1e236094eb8649da3b54 (diff) |
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
-rw-r--r-- | qemu-lock.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/qemu-lock.h b/qemu-lock.h index fdd8da9435..f938e19e16 100644 --- a/qemu-lock.h +++ b/qemu-lock.h @@ -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"); |