From c59f721c7377106888bff47064bf7da5a082e129 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Wed, 15 Jul 2015 15:22:48 -0700 Subject: Fix sparc build. * sysdeps/sparc/nptl/pthread_barrier_init.c: Include futex-intenal.h * sysdeps/sparc/sparc32/sparcv9/Makefile (nscd): Add cpu_relax. * sysdeps/sparc/sparc64/Makefile: Likewise. * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h (atomic_spin_nop): Remove space from macro define. * sysdeps/sparc/sparc64/bits/atomic.h (atomic_spin_nop): Likewise. --- sysdeps/sparc/nptl/pthread_barrier_init.c | 1 + sysdeps/sparc/sparc32/sparcv9/Makefile | 5 +++++ sysdeps/sparc/sparc32/sparcv9/bits/atomic.h | 2 +- sysdeps/sparc/sparc64/Makefile | 5 +++++ sysdeps/sparc/sparc64/bits/atomic.h | 2 +- 5 files changed, 13 insertions(+), 2 deletions(-) (limited to 'sysdeps/sparc') 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 #include "pthreadP.h" #include +#include #include 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 () -- cgit v1.1