From: ckb Date: Fri, 17 Aug 2012 18:07:55 +0000 (-0500) Subject: 3366. [bug] Fixed Read-After-Write dependency violation for IA64 X-Git-Tag: v9.7.7rc1~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1d64f8f33e731b8d903311ee1536f5992ec360b0;p=thirdparty%2Fbind9.git 3366. [bug] Fixed Read-After-Write dependency violation for IA64 atomic operations. [RT #25181] --- diff --git a/CHANGES b/CHANGES index b0a695642f0..2ec7a4645fb 100644 --- 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] diff --git a/lib/isc/ia64/include/isc/atomic.h b/lib/isc/ia64/include/isc/atomic.h index 6c22f2a53e2..74df4c5b8c0 100644 --- a/lib/isc/ia64/include/isc/atomic.h +++ b/lib/isc/ia64/include/isc/atomic.h @@ -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)