mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 06:25:31 +00:00
configure.ac: autodetect 'pause' instruction presence on sparc
The change fixes the following build failure on sparc T3 and older CPUs: ``` sparc-unknown-linux-gnu-gcc ... -O2 -mcpu=niagara2 ... -c rwlock.c {standard input}: Assembler messages: {standard input}:398: Error: Architecture mismatch on "pause ". {standard input}:398: (Requires v9e|v9v|v9m|m8; requested architecture is v9b.) make[1]: *** [Makefile:280: rwlock.o] Error 1 ``` `pause` insutruction exists only on `-mcpu=niagara4` (`T4`) and upper. The change adds `pause` configure-time autodetection and uses it if available. config.h.in got new `HAVE_SPARC_PAUSE` knob. Fallback is a fall-through no-op. Build-tested on: - sparc-unknown-linux-gnu-gcc (no `pause`, build succeeds) - sparc-unknown-linux-gnu-gcc -mcpu=niagara4 (`pause`, build succeeds) Reported-by: Rolf Eike Beer Bug: https://bugs.gentoo.org/691708 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
This commit is contained in:
committed by
Ondřej Surý
parent
d3506c9728
commit
a5ad6b16c5
@@ -152,7 +152,7 @@ isc_rwlock_destroy(isc_rwlock_t *rwl) {
|
||||
# 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__)
|
||||
#elif (defined(__sparc) || defined(__sparc__)) && HAVE_SPARC_PAUSE
|
||||
# define isc_rwlock_pause() __asm__ __volatile__ ("pause")
|
||||
#elif defined(__ppc__) || defined(_ARCH_PPC) || \
|
||||
defined(_ARCH_PWR) || defined(_ARCH_PWR2) || defined(_POWER)
|
||||
|
Reference in New Issue
Block a user