From: Evan Hunt Date: Fri, 15 Apr 2016 02:22:22 +0000 (-0700) Subject: [master] fix build error on x86_64 solaris X-Git-Tag: v9.11.0a2~82 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=91499fdb483d88377756fa517c25e3564bfa4e3b;p=thirdparty%2Fbind9.git [master] fix build error on x86_64 solaris --- diff --git a/CHANGES b/CHANGES index 98ec8470dd4..d69eca8559c 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ +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);