]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[v9_10] fix build error on x86_64 solaris v9.10.4rc1
authorEvan Hunt <each@isc.org>
Fri, 15 Apr 2016 02:23:36 +0000 (19:23 -0700)
committerEvan Hunt <each@isc.org>
Fri, 15 Apr 2016 02:23:36 +0000 (19:23 -0700)
CHANGES
lib/isc/x86_64/include/isc/atomic.h

diff --git a/CHANGES b/CHANGES
index 46d4fc388aac516f50d870ac3fe0219539bc820b..1e93e5d1f73f9f94572c18eed481dc3ffbe1f952 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,7 @@
        --- 9.10.4rc1 released ---
 
+4437.  [port]          Corrected a build error on x86_64 Solaris. [RT #42150]
+
 4436.  [bug]           Fixed a regression introduced in change #4337 which
                        caused signed domains with revoked KSKs to fail
                        validation. [RT #42147]
index f819dfb000a69892ad6e5a42b4a55dfd64312312..04806dbdf055bcd73efccf3eec3e3e1004758985 100644 (file)
@@ -87,12 +87,26 @@ isc_atomic_store(isc_int32_t *p, isc_int32_t val) {
                "lock;"
 #endif
                "xchgl (%rax), %edx\n"
-               /*
-                * XXX: assume %rax will be used as the return value.
-                */
                );
 }
 
+#ifdef ISC_PLATFORM_HAVEATOMICSTOREQ
+static void
+isc_atomic_storeq(isc_int64_t *p, isc_int64_t val) {
+       UNUSED(p);
+       UNUSED(val);
+
+       __asm (
+               "movq %rdi, %rax\n"
+               "movq %rsi, %rdx\n"
+#ifdef ISC_PLATFORM_USETHREADS
+               "lock;"
+#endif
+               "xchgq (%rax), %rdx\n"
+               );
+}
+#endif
+
 static isc_int32_t
 isc_atomic_cmpxchg(isc_int32_t *p, isc_int32_t cmpval, isc_int32_t val) {
        UNUSED(p);