]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
3366. [bug] Fixed Read-After-Write dependency violation for IA64
authorckb <ckb@isc.org>
Fri, 17 Aug 2012 18:07:55 +0000 (13:07 -0500)
committerckb <ckb@isc.org>
Fri, 17 Aug 2012 18:07:55 +0000 (13:07 -0500)
atomic operations. [RT #25181]

CHANGES
lib/isc/ia64/include/isc/atomic.h

diff --git a/CHANGES b/CHANGES
index b0a695642f089a7503b6dcffe323984f5ead58e7..2ec7a4645fbc3b83dfe59b5a161bf1bee8e8d975 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+3366.  [bug]           Fixed Read-After-Write dependency violation for IA64 
+                       atomic operations. [RT #25181]
+
 3365.  [bug]           Removed spurious newlines from log messages in
                        zone.c [RT #30675]
 
index 6c22f2a53e28857bcd376a3486ad082fdc8a8d0a..74df4c5b8c051a357124c70f5fb67b6a10cc2852 100644 (file)
@@ -41,7 +41,7 @@ isc_atomic_xadd(isc_int32_t *p, isc_int32_t val)
        for (prev = *(volatile isc_int32_t *)p; ; prev = swapped) {
                swapped = prev + val;
                __asm__ volatile(
-                       "mov ar.ccv=%2;"
+                       "mov ar.ccv=%2;;"
                        "cmpxchg4.acq %0=%4,%3,ar.ccv"
                        : "=r" (swapped), "=m" (*p)
                        : "r" (prev), "r" (swapped), "m" (*p)
@@ -84,7 +84,7 @@ isc_atomic_cmpxchg(isc_int32_t *p, isc_int32_t cmpval, isc_int32_t val)
        isc_int32_t ret;
 
        __asm__ volatile(
-               "mov ar.ccv=%2;"
+               "mov ar.ccv=%2;;"
                "cmpxchg4.acq %0=%4,%3,ar.ccv"
                : "=r" (ret), "=m" (*p)
                : "r" (cmpval), "r" (val), "m" (*p)