glibc/sysdeps/unix/sysv/linux
Adhemerval Zanella 9deec7c8ba string: Remove old TLS usage on strsignal
The per-thread state is refactored two use two strategies:

  1. The default one uses a TLS structure, which will be placed in the
     static TLS space (using __thread keyword).

  2. Linux allocates via struct pthread and access it through THREAD_*
     macros.

The default strategy has the disadvantage of increasing libc.so static
TLS consumption and thus decreasing the possible surplus used in
some scenarios (which might be mitigated by BZ#25051 fix).

It is used only on Hurd, where accessing the thread storage in the in
single thread case is not straightforward (afaiu, Hurd developers could
correct me here).

The fallback static allocation used for allocation failure is also
removed: defining its size is problematic without synchronizing with
translated messages (to avoid partial translation) and the resulting
usage is not thread-safe.

Checked on x86-64-linux-gnu, i686-linux-gnu, powerpc64le-linux-gnu,
and s390x-linux-gnu.

Tested-by: Carlos O'Donell <carlos@redhat.com>
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
2020-07-07 14:10:58 -03:00
..
aarch64 Add the __libc_single_threaded variable 2020-07-06 11:15:58 +02:00
alpha signal: Move sys_errlist to a compat symbol 2020-07-07 14:10:58 -03:00
arm Add the __libc_single_threaded variable 2020-07-06 11:15:58 +02:00
bits signal: Move sys_errlist to a compat symbol 2020-07-07 14:10:58 -03:00
csky Add the __libc_single_threaded variable 2020-07-06 11:15:58 +02:00
generic
hppa signal: Move sys_errlist to a compat symbol 2020-07-07 14:10:58 -03:00
i386 Add the __libc_single_threaded variable 2020-07-06 11:15:58 +02:00
ia64 signal: Add signum-{generic,arch}.h 2020-07-07 14:10:58 -03:00
include
m68k Add the __libc_single_threaded variable 2020-07-06 11:15:58 +02:00
microblaze Add the __libc_single_threaded variable 2020-07-06 11:15:58 +02:00
mips signal: Move sys_errlist to a compat symbol 2020-07-07 14:10:58 -03:00
net
netash
netatalk
netax25
neteconet
netinet
netipx
netiucv
netpacket
netrom
netrose
nfs
nios2 Add the __libc_single_threaded variable 2020-07-06 11:15:58 +02:00
powerpc Add the __libc_single_threaded variable 2020-07-06 11:15:58 +02:00
riscv Add the __libc_single_threaded variable 2020-07-06 11:15:58 +02:00
s390 Add the __libc_single_threaded variable 2020-07-06 11:15:58 +02:00
scsi
sh Add the __libc_single_threaded variable 2020-07-06 11:15:58 +02:00
sparc signal: Move sys_errlist to a compat symbol 2020-07-07 14:10:58 -03:00
sys Linux: Perform rseq registration at C startup and thread creation 2020-07-06 10:21:16 +02:00
wordsize-64
x86 linux: Fix __NSIG_WORDS and add __NSIG_BYTES 2020-07-07 14:10:58 -03:00
x86_64 Add the __libc_single_threaded variable 2020-07-06 11:15:58 +02:00
Implies
Makefile Linux: rseq registration tests 2020-07-06 10:21:35 +02:00
Versions signal: Move sys_errlist to a compat symbol 2020-07-07 14:10:58 -03:00
_G_config.h
_exit.c
a.out.h
accept.c
accept4.c
access.c
adjtime.c
adjtimex.c
aio_misc.h linux: Fix __NSIG_WORDS and add __NSIG_BYTES 2020-07-07 14:10:58 -03:00
aio_sigqueue.c
alphasort64.c
arch-fd_to_filename.h
arch-fork.h
bind.c
check_native.c
check_pf.c
clock.c
clock_adjtime.c
clock_getcpuclockid.c
clock_getres.c
clock_gettime.c
clock_nanosleep.c
clock_settime.c
close.c
close_nocancel.c
cmsg_nxthdr.c
configure
configure.ac
connect.c
copy_file_range.c
creat.c
creat64.c
createthread.c nptl: Make pthread_attr_t dynamically extensible 2020-06-02 11:54:58 +02:00
default-sched.h
device-nrs.h
dl-brk.c
dl-execstack.c
dl-fxstatat64.c
dl-getcwd.c
dl-librecon.h
dl-openat64.c
dl-opendir.c
dl-origin.c
dl-osinfo.h
dl-sbrk.c
dl-sysdep.c
dl-sysdep.h
dl-vdso-setup.c
dl-vdso-setup.h
dl-vdso.h
dl-writev.h
epoll_pwait.c linux: Fix __NSIG_WORDS and add __NSIG_BYTES 2020-07-07 14:10:58 -03:00
epoll_wait.c
errlist-compat.c signal: Move sys_errlist to a compat symbol 2020-07-07 14:10:58 -03:00
errlist-compat.h signal: Move sys_errlist to a compat symbol 2020-07-07 14:10:58 -03:00
errqueue.h
eventfd_read.c
eventfd_write.c
exit-thread.h
faccessat.c
fallocate.c
fallocate64.c
fatal-prepare.h
fchmodat.c
fcntl.c
fcntl64.c
fcntl_nocancel.c
fdatasync.c
fexecve.c
filter-nr-syscalls.awk
fips-private.h
fixup-asm-unistd.h
fpathconf.c
fstatfs64.c
fstatvfs.c
fstatvfs64.c
fsync.c
ftruncate.c
ftruncate64.c
futimens.c
futimes.c
futimesat.c
fxstat.c
fxstat64.c
fxstatat.c
fxstatat64.c
gai_sigqueue.c
gen-syscall-h.awk
gentempfd.c
getclktck.c
getcpu.c
getcwd.c
getdents.c
getdents64.c
getdirentries.c
getdirentries64.c
getdtsz.c
getentropy.c
gethostid.c
getipv4sourcefilter.c
getitimer.c
getloadavg.c
getlogin.c
getlogin_r.c
getpagesize.c
getpeername.c
getpriority.c
getpt.c
getrandom.c
getrlimit.c
getrlimit64.c
getrusage.c
getsockname.c
getsockopt.c
getsourcefilter.c
getsourcefilter.h
getsysstats.c
gettimeofday.c
glibcsyscalls.py
glob-lstat-compat.c
glob.c
glob64-lstat-compat.c
glob64.c
globfree.c
globfree64.c
grantpt.c
if_index.c
ifaddrs.c
ifreq.c
internal-signals.h linux: Fix __NSIG_WORDS and add __NSIG_BYTES 2020-07-07 14:10:58 -03:00
internal_statvfs.c
internal_statvfs.h
internal_statvfs64.c
ipc_ops.h
ipc_priv.h
kernel-features.h
kernel-posix-cpu-timers.h
kernel-posix-timers.h
kernel_sigaction.h
kernel_stat.h
kernel_termios.h
ldd-rewrite.sed
lddlibc4.c
ldsodefs.h
libc-vdso.h
libc_fatal.c
linux_fsinfo.h
listen.c
local-setxid.h
lseek.c
lseek64.c
lutimes.c
lxstat.c
lxstat64.c
malloc-sysdep.h
mlock2.c
mmap.c
mmap64.c
mmap_internal.h
mq_close.c
mq_getattr.c
mq_notify.c
mq_open.c
mq_receive.c
mq_send.c
mq_timedreceive.c
mq_timedsend.c
mq_unlink.c
msgctl.c
msgget.c
msgrcv.c
msgsnd.c
msync.c
netlink_assert_response.c
netlinkaccess.h
nice.c
not-cancel.h
not-errno.h
nscd_setup_thread.c
ntp_gettime.c
ntp_gettimex.c
olddirent.h
oldglob.c
open.c
open64.c
open64_nocancel.c
open_by_handle_at.c
open_nocancel.c
openat.c
openat64.c
openat64_nocancel.c
openat_nocancel.c
opensock.c
pathconf.c
pathconf.h
paths.h
pause.c
personality.c
pkey_get.c
pkey_mprotect.c
pkey_set.c
poll.c
posix_fadvise.c
posix_fadvise64.c
posix_fallocate.c
posix_fallocate64.c
posix_madvise.c
ppoll.c linux: Fix __NSIG_WORDS and add __NSIG_BYTES 2020-07-07 14:10:58 -03:00
prctl.c
pread.c
pread64.c
pread64_nocancel.c
preadv.c
preadv2.c
preadv64.c
preadv64v2.c
prlimit.c
process_vm_readv.c
process_vm_writev.c
prof-freq.c
profil-counter.h
profil.c
pselect.c linux: Fix __NSIG_WORDS and add __NSIG_BYTES 2020-07-07 14:10:58 -03:00
pt-raise.c
pthread-pids.h
pthread_getcpuclockid.c
pthread_kill.c
pthread_sigqueue.c
ptrace.c
ptsname.c
pwrite.c
pwrite64.c
pwritev.c
pwritev2.c
pwritev64.c
pwritev64v2.c
raise.c
read.c
read_nocancel.c
readahead.c
readdir.c
readdir64.c
readdir64_r.c
readdir_r.c
readonly-area.c
readv.c
reboot.c
recv.c
recvfrom.c
recvmmsg.c
recvmsg.c
remove.c
rename.c
renameat.c
renameat2.c
rseq-internal.h Linux: Perform rseq registration at C startup and thread creation 2020-07-06 10:21:16 +02:00
rseq-sym.c Linux: Perform rseq registration at C startup and thread creation 2020-07-06 10:21:16 +02:00
sa_len.c
safe-fatal.h
scandir64.c
sched_getaffinity.c
sched_getcpu.c Linux: Use rseq in sched_getcpu if available 2020-07-06 10:21:32 +02:00
sched_rr_gi.c
sched_setaffinity.c
segfault.c
select.c
semctl.c
semget.c
semop.c
semtimedop.c
send.c
sendmmsg.c
sendmsg.c
sendto.c
setegid.c
seteuid.c
setgid.c
setgroups.c
sethostid.c
setipv4sourcefilter.c
setitimer.c
setregid.c
setresgid.c
setresuid.c
setreuid.c
setrlimit.c
setrlimit64.c
setsockopt.c
setsourcefilter.c
settimeofday.c Linux: Fix UTC offset setting in settimeofday for __TIMESIZE != 64 2020-06-30 21:20:20 +02:00
settimezone.c
setuid.c
shlib-versions
shm-directory.c
shmat.c
shmctl.c
shmdt.c
shmget.c
shutdown.c
sigaction.c linux: Fix __NSIG_WORDS and add __NSIG_BYTES 2020-07-07 14:10:58 -03:00
siglist-compat.c signal: Move sys_siglist to a compat symbol 2020-07-07 14:10:58 -03:00
signal.c
signalfd.c linux: Fix __NSIG_WORDS and add __NSIG_BYTES 2020-07-07 14:10:58 -03:00
sigpending.c linux: Fix __NSIG_WORDS and add __NSIG_BYTES 2020-07-07 14:10:58 -03:00
sigprocmask.c
sigqueue.c
sigreturn.c
sigset-cvt-mask.h
sigsetops.h linux: Fix __NSIG_WORDS and add __NSIG_BYTES 2020-07-07 14:10:58 -03:00
sigstack.c
sigsuspend.c linux: Fix __NSIG_WORDS and add __NSIG_BYTES 2020-07-07 14:10:58 -03:00
sigtimedwait.c linux: Fix __NSIG_WORDS and add __NSIG_BYTES 2020-07-07 14:10:58 -03:00
sigwait.c
sigwaitinfo.c
single-thread.h
sizes.h
socket.c
socketcall.h
socketpair.c
spawni.c
speed.c
splice.c
statfs64.c
statvfs.c
statvfs64.c
statx.c
statx_cp.c
statx_cp.h
sync_file_range.c
syscall-names.list Update syscall-names.list for Linux 5.7. 2020-06-15 22:58:22 +00:00
syscalls.list
sysconf.c
sysctl.c
sysdep-cancel.h
sysdep-vdso.h
sysdep.h
syslog.c
tcdrain.c
tcflow.c
tcflush.c
tcgetattr.c
tcgetpgrp.c
tcsendbrk.c
tcsetattr.c
tcsetpgrp.c
tee.c
termio.h
test-errno-linux.c
time-clockid.h
time.c
timer_create.c
timer_delete.c
timer_getoverr.c
timer_gettime.c
timer_routines.c Linux: Use __pthread_attr_setsigmask_internal for timer helper thread 2020-06-02 11:59:26 +02:00
timer_settime.c
timerfd_gettime.c
timerfd_settime.c
times.c
timespec_get.c
tls-internal.c string: Remove old TLS usage on strsignal 2020-07-07 14:10:58 -03:00
tls-internal.h string: Remove old TLS usage on strsignal 2020-07-07 14:10:58 -03:00
truncate.c
truncate64.c
tst-affinity-pid.c
tst-affinity-static.c
tst-affinity.c
tst-align-clone.c
tst-clone.c
tst-clone2.c
tst-clone3.c
tst-fallocate-common.c
tst-fallocate.c
tst-fallocate64.c
tst-fanotify.c
tst-getdents64.c
tst-getpid1.c
tst-gettid-kill.c
tst-gettid.c
tst-glibcsyscalls.py
tst-memfd_create.c
tst-mlock2.c
tst-mman-consts.py Update kernel version to 5.7 in tst-mman-consts.py. 2020-06-29 14:06:32 +00:00
tst-o_path-locks.c
tst-ofdlocks-compat.c
tst-ofdlocks.c
tst-personality.c
tst-pkey.c
tst-quota.c
tst-readdir64-compat.c
tst-rlimit-infinity.c
tst-rseq-nptl.c Linux: rseq registration tests 2020-07-06 10:21:35 +02:00
tst-rseq.c Linux: rseq registration tests 2020-07-06 10:21:35 +02:00
tst-rseq.h Linux: rseq registration tests 2020-07-06 10:21:35 +02:00
tst-sigcontext-get_pc.c
tst-signal-numbers.py
tst-skeleton-affinity.c
tst-skeleton-thread-affinity.c
tst-socket-consts.py
tst-sync_file_range.c
tst-syscall-list.sh
tst-sysconf-iov_max-uapi.c
tst-sysconf-iov_max.c
tst-tgkill.c
tst-ttyname.c
ttyname.c
ttyname.h
ttyname_r.c
tv32-compat.h
ualarm.c
umount.c
umount2.c
unlockpt.c
update-syscall-lists.py
updwtmp.c
ustat.c
utime.c
utimensat.c
utimes.c
utmp_file.c
versionsort64.c
vfork.c
vmsplice.c
wait4.c
waitid.c
write.c
write_nocancel.c
writev.c
xmknod.c
xmknodat.c
xstat.c
xstat64.c
xstatconv.c
xstatconv.h