From: Evan Hunt Date: Fri, 15 Apr 2016 02:23:47 +0000 (-0700) Subject: [v9_9] fix build error on x86_64 solaris X-Git-Tag: v9.9.9rc1~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6b4d6a9979dfcf795905e272c855cd1483613e12;p=thirdparty%2Fbind9.git [v9_9] fix build error on x86_64 solaris --- diff --git a/CHANGES b/CHANGES index 9db4cb3f13f..286df6c101c 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,7 @@ --- 9.9.9rc1 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);