aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/sparc
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/sparc')
-rw-r--r--sysdeps/sparc/nptl/pthread_barrier_init.c1
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/Makefile5
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/bits/atomic.h2
-rw-r--r--sysdeps/sparc/sparc64/Makefile5
-rw-r--r--sysdeps/sparc/sparc64/bits/atomic.h2
5 files changed, 13 insertions, 2 deletions
diff --git a/sysdeps/sparc/nptl/pthread_barrier_init.c b/sysdeps/sparc/nptl/pthread_barrier_init.c
index 86ec7d0..d13c32a 100644
--- a/sysdeps/sparc/nptl/pthread_barrier_init.c
+++ b/sysdeps/sparc/nptl/pthread_barrier_init.c
@@ -19,6 +19,7 @@
#include <errno.h>
#include "pthreadP.h"
#include <lowlevellock.h>
+#include <futex-internal.h>
#include <sparc-nptl.h>
int
diff --git a/sysdeps/sparc/sparc32/sparcv9/Makefile b/sysdeps/sparc/sparc32/sparcv9/Makefile
index 925fa4f..fefc742 100644
--- a/sysdeps/sparc/sparc32/sparcv9/Makefile
+++ b/sysdeps/sparc/sparc32/sparcv9/Makefile
@@ -14,6 +14,11 @@ ASFLAGS-.og += -Wa,-Av9a
ASFLAGS-.oS += -Wa,-Av9a
endif
+# nscd uses atomic_spin_nop which in turn requires cpu_relax
+ifeq ($(subdir),nscd)
+routines += cpu_relax
+endif
+
ifeq ($(subdir), nptl)
libpthread-routines += cpu_relax
endif
diff --git a/sysdeps/sparc/sparc32/sparcv9/bits/atomic.h b/sysdeps/sparc/sparc32/sparcv9/bits/atomic.h
index 2122afb..0ff5dcd 100644
--- a/sysdeps/sparc/sparc32/sparcv9/bits/atomic.h
+++ b/sysdeps/sparc/sparc32/sparcv9/bits/atomic.h
@@ -102,4 +102,4 @@ typedef uintmax_t uatomic_max_t;
__asm __volatile ("membar #LoadStore | #StoreStore" : : : "memory")
extern void __cpu_relax (void);
-#define atomic_spin_nop () __cpu_relax ()
+#define atomic_spin_nop() __cpu_relax ()
diff --git a/sysdeps/sparc/sparc64/Makefile b/sysdeps/sparc/sparc64/Makefile
index dfc118c..3a12510 100644
--- a/sysdeps/sparc/sparc64/Makefile
+++ b/sysdeps/sparc/sparc64/Makefile
@@ -10,6 +10,11 @@ ASFLAGS-.og += -Wa,-Av9d
ASFLAGS-.oS += -Wa,-Av9d
endif
+# nscd uses atomic_spin_nop which in turn requires cpu_relax
+ifeq ($(subdir),nscd)
+routines += cpu_relax
+endif
+
ifeq ($(subdir),nptl)
libpthread-routines += cpu_relax
endif
diff --git a/sysdeps/sparc/sparc64/bits/atomic.h b/sysdeps/sparc/sparc64/bits/atomic.h
index 48b7fd6..79f4a1d 100644
--- a/sysdeps/sparc/sparc64/bits/atomic.h
+++ b/sysdeps/sparc/sparc64/bits/atomic.h
@@ -123,4 +123,4 @@ typedef uintmax_t uatomic_max_t;
__asm __volatile ("membar #LoadStore | #StoreStore" : : : "memory")
extern void __cpu_relax (void);
-#define atomic_spin_nop () __cpu_relax ()
+#define atomic_spin_nop() __cpu_relax ()