mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-01 15:05:23 +00:00
3366. [bug] Fixed Read-After-Write dependency violation for IA64
atomic operations. [RT #25181]
This commit is contained in:
3
CHANGES
3
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
|
3365. [bug] Removed spurious newlines from log messages in
|
||||||
zone.c [RT #30675]
|
zone.c [RT #30675]
|
||||||
|
|
||||||
|
@@ -41,7 +41,7 @@ isc_atomic_xadd(isc_int32_t *p, isc_int32_t val)
|
|||||||
for (prev = *(volatile isc_int32_t *)p; ; prev = swapped) {
|
for (prev = *(volatile isc_int32_t *)p; ; prev = swapped) {
|
||||||
swapped = prev + val;
|
swapped = prev + val;
|
||||||
__asm__ volatile(
|
__asm__ volatile(
|
||||||
"mov ar.ccv=%2;"
|
"mov ar.ccv=%2;;"
|
||||||
"cmpxchg4.acq %0=%4,%3,ar.ccv"
|
"cmpxchg4.acq %0=%4,%3,ar.ccv"
|
||||||
: "=r" (swapped), "=m" (*p)
|
: "=r" (swapped), "=m" (*p)
|
||||||
: "r" (prev), "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;
|
isc_int32_t ret;
|
||||||
|
|
||||||
__asm__ volatile(
|
__asm__ volatile(
|
||||||
"mov ar.ccv=%2;"
|
"mov ar.ccv=%2;;"
|
||||||
"cmpxchg4.acq %0=%4,%3,ar.ccv"
|
"cmpxchg4.acq %0=%4,%3,ar.ccv"
|
||||||
: "=r" (ret), "=m" (*p)
|
: "=r" (ret), "=m" (*p)
|
||||||
: "r" (cmpval), "r" (val), "m" (*p)
|
: "r" (cmpval), "r" (val), "m" (*p)
|
||||||
|
Reference in New Issue
Block a user