summaryrefslogtreecommitdiffstats
path: root/libexec/rtld-elf/amd64
diff options
context:
space:
mode:
Diffstat (limited to 'libexec/rtld-elf/amd64')
-rw-r--r--libexec/rtld-elf/amd64/lockdflt.c8
-rw-r--r--libexec/rtld-elf/amd64/rtld_machdep.h8
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");
}
OpenPOWER on IntegriCloud