diff options
Diffstat (limited to 'libexec/rtld-elf/amd64')
-rw-r--r-- | libexec/rtld-elf/amd64/lockdflt.c | 8 | ||||
-rw-r--r-- | libexec/rtld-elf/amd64/rtld_machdep.h | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/libexec/rtld-elf/amd64/lockdflt.c b/libexec/rtld-elf/amd64/lockdflt.c index c1c23c1..88dd569 100644 --- a/libexec/rtld-elf/amd64/lockdflt.c +++ b/libexec/rtld-elf/amd64/lockdflt.c @@ -80,8 +80,8 @@ cmpxchgl(int old, int new, volatile int *m) int result; __asm __volatile ("lock; cmpxchgl %2, %0" - : "=m"(*m), "=a"(result) - : "r"(new), "0"(*m), "1"(old) + : "+m"(*m), "=a"(result) + : "r"(new), "1"(old) : "cc"); return result; @@ -93,8 +93,8 @@ xchgl(int v, volatile int *m) int result; __asm __volatile ("xchgl %0, %1" - : "=r"(result), "=m"(*m) - : "0"(v), "1"(*m)); + : "=r"(result), "+m"(*m) + : "0"(v)); return result; } diff --git a/libexec/rtld-elf/amd64/rtld_machdep.h b/libexec/rtld-elf/amd64/rtld_machdep.h index e51194c..1f83411 100644 --- a/libexec/rtld-elf/amd64/rtld_machdep.h +++ b/libexec/rtld-elf/amd64/rtld_machdep.h @@ -55,21 +55,21 @@ reloc_jmpslot(Elf_Addr *where, Elf_Addr target, static inline void atomic_decr_int(volatile int *p) { - __asm __volatile ("lock; decl %0" : "=m"(*p) : "0"(*p) : "cc"); + __asm __volatile ("lock; decl %0" : "+m"(*p) : : "cc"); } static inline void atomic_incr_int(volatile int *p) { - __asm __volatile ("lock; incl %0" : "=m"(*p) : "0"(*p) : "cc"); + __asm __volatile ("lock; incl %0" : "+m"(*p) : : "cc"); } static inline void atomic_add_int(volatile int *p, int val) { __asm __volatile ("lock; addl %1, %0" - : "=m"(*p) - : "ri"(val), "0"(*p) + : "+m"(*p) + : "ri"(val) : "cc"); } |