]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
use smt_pause instead of pause on sparc
authorMark Andrews <marka@isc.org>
Tue, 15 Jan 2019 00:35:40 +0000 (11:35 +1100)
committerEvan Hunt <each@isc.org>
Wed, 16 Jan 2019 01:29:27 +0000 (20:29 -0500)
CHANGES
lib/isc/rwlock.c

diff --git a/CHANGES b/CHANGES
index 15d5b1a1c672be65dfc67d19f5fcb4ce841dd546..66e168828e661610c92a11f8c0edbaa198476aff 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+5135.  [port]          sparc: Use smt_pause() instead of pause. [GL #816]
+
 5134.  [bug]           win32: WSAStartup was not called before getservbyname
                        was called. [GL #590]
 
index 8b3f2b5988be3c17d30310ce92d29d33974644c4..b6b2456cd5a0e0098df1ea764d47d46b224fde47 100644 (file)
 #include <stddef.h>
 #include <inttypes.h>
 
+#if defined(sun) && (defined(__sparc) || defined(__sparc__))
+#include <synch.h> /* for smt_pause(3c) */
+#endif
+
 #include <isc/atomic.h>
 #include <isc/magic.h>
 #include <isc/platform.h>
@@ -52,6 +56,8 @@
 # define isc_rwlock_pause() __asm__ __volatile__ ("hint @pause")
 #elif defined(__arm__)
 # define isc_rwlock_pause() __asm__ __volatile__ ("yield")
+#elif defined(sun) && (defined(__sparc) || defined(__sparc__))
+# define isc_rwlock_pause() smt_pause()
 #elif defined(__sparc) || defined(__sparc__)
 # define isc_rwlock_pause() __asm__ __volatile__ ("pause")
 #elif defined(__ppc__) || defined(_ARCH_PPC)  ||                       \