glibc/sysdeps/unix/sysv/linux/hppa
Adhemerval Zanella 09c76a7409 Linux: Consolidate {RTLD_}SINGLE_THREAD_P definition
Current GLIBC has two ways to implement the single thread optimization
on syscalls to avoid calling the cancellation path: either by using
global variables (__{libc,pthread}_multiple_thread) or by accessing
the TCB field (defined by TLS_MULTIPLE_THREADS_IN_TCB).  Both the
variables and the macros to acces its value are defined in the
architecture sysdep-cancel.h header.

This patch consolidates its definition on only one header,
sysdeps/unix/sysv/linux/sysdep-cancel.h, and adds a new define
(SINGLE_THREAD_BY_GLOBAL) which the architecture defines if it prefer
to use the global variables instead of the TCB field.  This is an
optimization, so if the architecture does not define it, the TCB
method will be used as default.

Checked on x86_64-linux-gnu and on a build with major touched
ABIs (aarch64-linux-gnu, alpha-linux-gnu, arm-linux-gnueabihf,
hppa-linux-gnu, i686-linux-gnu, m68k-linux-gnu, microblaze-linux-gnu,
mips-linux-gnu, mips64-linux-gnu, powerpc-linux-gnu,
powerpc64le-linux-gnu, s390-linux-gnu, s390x-linux-gnu, sh4-linux-gnu,
sparcv9-linux-gnu, sparc64-linux-gnu, tilegx-linux-gnu).

	* sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h: Remove file.
	* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/tile/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
	(SINGLE_THREAD_BY_GLOBAL): Define.
	* sysdeps/unix/sysv/linux/aarch64/sysdep.h (SINGLE_THREAD_BY_GLOBAL):
	Likewise.
	* sysdeps/unix/sysv/linux/alpha/sysdep.h (SINGLE_THREAD_BY_GLOBAL):
	Likewise.
	* sysdeps/unix/sysv/linux/arm/sysdep.h (SINGLE_THREAD_BY_GLOBAL):
	Likewise.
	* sysdeps/unix/sysv/linux/hppa/sysdep.h (SINGLE_THREAD_BY_GLOBAL):
	Likewise.
	* sysdeps/unix/sysv/linux/microblaze/sysdep.h
	(SINGLE_THREAD_BY_GLOBAL): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (SINGLE_THREAD_BY_GLOBAL):
	Likewise.
2017-10-11 14:27:24 -03:00
..
bits Fix XPG4.2 bits/sigaction.h namespace (bug 21899). 2017-08-07 23:41:32 +00:00
sys Fix mcontext_t sigcontext namespace (bug 21457). 2017-08-30 22:02:04 +00:00
____longjmp_chk.c Fix struct sigaltstack namespace (bug 21517). 2017-06-05 10:17:46 +00:00
arch-fork.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
atomic-machine.h Optimize generic spinlock code and use C11 like atomic macros. 2017-06-06 09:41:56 +02:00
brk.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
c++-types.data
clone.S hppa: Fix clone exit syscall argument passing (BZ#21512) 2017-07-17 14:25:40 -03:00
fxstat.c
fxstatat.c
getcontext.S Fix return pointer save and PIC register restore in __getcontext and 2017-10-01 11:58:04 -04:00
getdents64.c
Implies
ipc_priv.h hppa: set __IPC_64 as zero for SysV IPC calls 2017-03-07 09:12:48 +01:00
kernel_sigaction.h
kernel_stat.h
kernel-features.h Use execveat syscall in fexecve (bug 22134) 2017-09-19 16:19:14 +02:00
ld.abilist
libanl.abilist
libBrokenLocale.abilist
libc.abilist posix: Add compat glob symbol to not follow dangling symbols 2017-09-25 18:04:16 -07:00
libcrypt.abilist
libdl.abilist
libm.abilist New symbol version for logf, log2f and powf without SVID compat 2017-10-02 14:38:03 +01:00
libnsl.abilist
libpthread.abilist
libresolv.abilist
librt.abilist
libthread_db.abilist
libutil.abilist
localplt.data ld.so: Introduce struct dl_exception 2017-08-10 16:54:57 +02:00
lxstat.c
makecontext.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Makefile
profil-counter.h Rename struct ucontext tag (bug 21457). 2017-06-26 22:03:58 +00:00
pt-vfork.S Add CFI annotation. 2017-07-16 12:46:50 -04:00
pthread.h Use generic pthread support on hppa. 2017-07-09 15:01:11 -04:00
pthreadP.h
setcontext.S Fix return pointer save and PIC register restore in __getcontext and 2017-10-01 11:58:04 -04:00
shlib-versions
swapcontext.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
syscall.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
syscalls.list Consolidate Linux send implementation 2017-03-09 15:22:06 +01:00
sysdep.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
sysdep.h Linux: Consolidate {RTLD_}SINGLE_THREAD_P definition 2017-10-11 14:27:24 -03:00
ucontext_i.sym
umount.c
utimes.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Versions
xstat.c