glibc/sysdeps/powerpc/powerpc64
Rogerio Alves 07ed18d26a Add elision tunables
This patch adds several new tunables to control the behavior of
elision on supported platforms[1].   Since elision now depends
on tunables, we should always *compile* with elision enabled,
and leave the code disabled, but available for runtime
selection.  This gives us *much* better compile-time testing of
the existing code to avoid bit-rot[2].

Tested on ppc, ppc64, ppc64le, s390x and x86_64.

[1] This part of the patch was initially proposed by
Paul Murphy but was "staled" because the framework have changed
since the patch was originally proposed:

https://patchwork.sourceware.org/patch/10342/

[2] This part of the patch was inititally proposed as a RFC by
Carlos O'Donnell.  Make sense to me integrate this on the patch:

https://sourceware.org/ml/libc-alpha/2017-05/msg00335.html

	* elf/dl-tunables.list: Add elision parameters.
	* manual/tunables.texi: Add entries about elision tunable.
	* sysdeps/unix/sysv/linux/powerpc/elision-conf.c:
	Add callback functions to dynamically enable/disable elision.
	Add multiple callbacks functions to set elision parameters.
	Deleted __libc_enable_secure check.
	* sysdeps/unix/sysv/linux/s390/elision-conf.c: Likewise.
	* sysdeps/unix/sysv/linux/x86/elision-conf.c: Likewise.
	* configure: Regenerated.
	* configure.ac: Option enable_lock_elision was deleted.
	* config.h.in: ENABLE_LOCK_ELISION flag was deleted.
	* config.make.in: Remove references to enable_lock_elision.
	* manual/install.texi: Elision configure option was removed.
	* INSTALL: Regenerated to remove enable_lock_elision.
	* nptl/Makefile:
	Disable elision so it can verify error case for destroying a mutex.
	* sysdeps/powerpc/nptl/elide.h:
	Cleanup ENABLE_LOCK_ELISION check.
	Deleted macros for the case when ENABLE_LOCK_ELISION was not defined.
	* sysdeps/s390/configure: Regenerated.
	* sysdeps/s390/configure.ac: Remove references to enable_lock_elision..
	* nptl/tst-mutex8.c:
	Deleted all #ifndef ENABLE_LOCK_ELISION from the test.
	* sysdeps/powerpc/powerpc32/sysdep.h:
	Deleted all ENABLE_LOCK_ELISION checks.
	* sysdeps/powerpc/powerpc64/sysdep.h: Likewise.
	* sysdeps/powerpc/sysdep.h: Likewise.
	* sysdeps/s390/nptl/bits/pthreadtypes-arch.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/force-elision.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/elision-conf.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/force-elision.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/Makefile: Remove references to
	enable-lock-elision.

Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
2017-12-05 17:48:48 -02:00
..
970
a2 PowerPC64 ENTRY_TOCLESS 2017-06-14 10:45:50 +09:30
bits Define wordsize.h macros everywhere 2016-11-04 09:37:44 -07:00
cell PowerPC64 ENTRY_TOCLESS 2017-06-14 10:45:50 +09:30
fpu Use libm_alias_float for powerpc. 2017-12-05 00:26:26 +00:00
multiarch powerpc: Use latest optimization for internal function calls 2017-11-07 10:07:48 +05:30
power4 Do not use __ptr_t. 2017-08-08 17:14:49 +00:00
power5 PowerPC64 ENTRY_TOCLESS 2017-06-14 10:45:50 +09:30
power5+ Use libm_alias_float for powerpc. 2017-12-05 00:26:26 +00:00
power6 Use libm_alias_float for powerpc. 2017-12-05 00:26:26 +00:00
power6x Use libm_alias_float for powerpc. 2017-12-05 00:26:26 +00:00
power7 powerpc: Replace lxvd2x/stxvd2x with lvx/stvx in P7's memcpy/memmove 2017-10-25 13:14:30 -02:00
power8 Use libm_alias_float for powerpc. 2017-12-05 00:26:26 +00:00
power9 PowerPC64 ENTRY_TOCLESS 2017-06-14 10:45:50 +09:30
__longjmp-common.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
__longjmp.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
addmul_1.S PowerPC64 ENTRY_TOCLESS 2017-06-14 10:45:50 +09:30
atomic-machine.h Optimize generic spinlock code and use C11 like atomic macros. 2017-06-06 09:41:56 +02:00
backtrace.c Rename struct ucontext tag (bug 21457). 2017-06-26 22:03:58 +00:00
bsd-_setjmp.S
bsd-setjmp.S
bzero.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
configure
configure.ac
crti.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
crtn.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dl-dtprocnum.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dl-irel.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dl-machine.c PowerPC64 ELFv2 PPC64_OPT_LOCALENTRY 2017-06-14 10:47:25 +09:30
dl-machine.h PowerPC64 ELFv2 PPC64_OPT_LOCALENTRY 2017-06-14 10:47:25 +09:30
dl-trampoline.S PowerPC64 ENTRY_TOCLESS 2017-06-14 10:45:50 +09:30
entry.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ffsll.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
hp-timing.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Implies
lshift.S PowerPC64 ENTRY_TOCLESS 2017-06-14 10:45:50 +09:30
Makefile
memcpy.S Do not use __ptr_t. 2017-08-08 17:14:49 +00:00
memset.S Do not use __ptr_t. 2017-08-08 17:14:49 +00:00
mul_1.S PowerPC64 ENTRY_TOCLESS 2017-06-14 10:45:50 +09:30
ppc-mcount.S PowerPC64 ENTRY_TOCLESS 2017-06-14 10:45:50 +09:30
register-dump.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
rtld-memset.c
setjmp-common.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
setjmp.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
stackguard-macros.h
start.S PowerPC64 ENTRY_TOCLESS 2017-06-14 10:45:50 +09:30
strchr.S PowerPC64 ENTRY_TOCLESS 2017-06-14 10:45:50 +09:30
strcmp.S PowerPC64 ENTRY_TOCLESS 2017-06-14 10:45:50 +09:30
strlen.S PowerPC64 ENTRY_TOCLESS 2017-06-14 10:45:50 +09:30
strncmp.S PowerPC64 ENTRY_TOCLESS 2017-06-14 10:45:50 +09:30
submul_1.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
sysdep.h Add elision tunables 2017-12-05 17:48:48 -02:00
tls-macros.h tst-tlsopt-powerpc as a shared lib 2017-08-03 15:39:21 +09:30
tst-audit.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00