mirror of
git://sourceware.org/git/glibc.git
synced 2024-12-09 04:11:27 +08:00
3b5ebe85aa
This patch removes the arch-specific atomic instruction, relying on compiler builtins. The __sparc32_atomic_locks support is removed and a configure check is added to check if compiler uses libatomic to implement CAS. It also removes the sparc specific sem_* and pthread_barrier_* implementations. It in turn allows buidling against a LEON3/LEON4 sparcv8 target, although it will still be incompatible with generic sparcv9. Checked on sparcv9-linux-gnu and sparc64-linux-gnu. I also checked with build against sparcv8-linux-gnu with -mcpu=leon3. Tested-by: Andreas Larsson <andreas@gaisler.com>
30 lines
597 B
Makefile
30 lines
597 B
Makefile
# The Sparc `long double' is a distinct type we support.
|
|
long-double-fcts = yes
|
|
|
|
pie-ccflag = -fPIE
|
|
|
|
ifeq ($(subdir),gmon)
|
|
sysdep_routines += sparc-mcount
|
|
endif
|
|
|
|
ifeq ($(subdir),db2)
|
|
CPPFLAGS += -DHAVE_SPINLOCKS=1 -DHAVE_ASSEM_SPARC_GCC=1
|
|
endif
|
|
|
|
ifeq ($(subdir),csu)
|
|
CPPFLAGS-crti.S += -fPIC
|
|
CPPFLAGS-crtn.S += -fPIC
|
|
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
|
|
|
|
# The assembler on SPARC needs the -fPIC flag even when it's assembler code.
|
|
ASFLAGS-.os += -fPIC
|