From: Evan Hunt Date: Fri, 15 Apr 2016 02:23:36 +0000 (-0700) Subject: [v9_10] fix build error on x86_64 solaris X-Git-Tag: v9.10.4rc1^0 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cea32f84f0d063ca525336f54f3bb1127ee0f5fa;p=thirdparty%2Fbind9.git [v9_10] fix build error on x86_64 solaris --- diff --git a/CHANGES b/CHANGES index 46d4fc388aa..1e93e5d1f73 100644 --- 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] diff --git a/lib/isc/x86_64/include/isc/atomic.h b/lib/isc/x86_64/include/isc/atomic.h index f819dfb000a..04806dbdf05 100644 --- a/lib/isc/x86_64/include/isc/atomic.h +++ b/lib/isc/x86_64/include/isc/atomic.h @@ -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);