mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-02 01:40:07 +00:00
8d2c0a593b
This patch adds support for lock elision using ISA 2.07 hardware transactional memory instructions for pthread_mutex primitives. Similar to s390 version, the for elision logic defined in 'force-elision.h' is only enabled if ENABLE_LOCK_ELISION is defined. Also, the lock elision code should be able to be built even with a compiler that does not provide HTM support with builtins. However I have noted the performance is sub-optimal due scheduling pressures.
38 lines
990 B
Makefile
38 lines
990 B
Makefile
abi-variants := 32 64-v1 64-v2
|
|
abi-32-options := -U__powerpc64__
|
|
abi-32-condition := __WORDSIZE == 32
|
|
abi-64-v1-options := -D__powerpc64__ -U_CALL_ELF -D_CALL_ELF=1
|
|
abi-64-v1-condition := __WORDSIZE == 64 && _CALL_ELF != 2
|
|
abi-64-v2-options := -D__powerpc64__ -U_CALL_ELF -D_CALL_ELF=2
|
|
abi-64-v2-condition := __WORDSIZE == 64 && _CALL_ELF == 2
|
|
|
|
ifeq ($(subdir),rt)
|
|
librt-routines += rt-sysdep
|
|
endif
|
|
|
|
ifeq ($(subdir),stdlib)
|
|
gen-as-const-headers += ucontext_i.sym
|
|
endif
|
|
|
|
ifeq ($(subdir),elf)
|
|
sysdep_routines += dl-vdso
|
|
ifeq ($(build-shared),yes)
|
|
# This is needed for DSO loading from static binaries.
|
|
sysdep-dl-routines += dl-static
|
|
sysdep_routines += dl-static
|
|
sysdep-rtld-routines += dl-static
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(subdir),misc)
|
|
sysdep_headers += bits/ppc.h
|
|
sysdep_routines += get_timebase_freq
|
|
tests += test-gettimebasefreq
|
|
endif
|
|
|
|
ifeq ($(subdir),nptl)
|
|
libpthread-routines += sysdep
|
|
libpthread-sysdep_routines += elision-lock elision-unlock elision-timed \
|
|
elision-trylock
|
|
endif
|