glibc/sysdeps/unix/sysv/linux/sh
Florian Weimer ee1ada1bdb elf: Rework exception handling in the dynamic loader [BZ #25486]
The old exception handling implementation used function interposition
to replace the dynamic loader implementation (no TLS support) with the
libc implementation (TLS support).  This results in problems if the
link order between the dynamic loader and libc is reversed (bug 25486).

The new implementation moves the entire implementation of the
exception handling functions back into the dynamic loader, using
THREAD_GETMEM and THREAD_SETMEM for thread-local data support.
These depends on Hurd support for these macros, added in commit
b65a82e4e7 ("hurd: Add THREAD_GET/SETMEM/_NC").

One small obstacle is that the exception handling facilities are used
before the TCB has been set up, so a check is needed if the TCB is
available.  If not, a regular global variable is used to store the
exception handling information.

Also rename dl-error.c to dl-catch.c, to avoid confusion with the
dlerror function.

Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
2022-11-03 09:39:31 +01:00
..
be stdlib: Add arc4random, arc4random_buf, and arc4random_uniform (BZ #4417) 2022-07-22 11:58:27 -03:00
bits linux: Fix generic struct_stat for 64 bit time (BZ# 29657) 2022-10-25 15:53:19 -03:00
le stdlib: Add arc4random, arc4random_buf, and arc4random_uniform (BZ #4417) 2022-07-22 11:58:27 -03:00
sh3 Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sh4 Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sys Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
Implies
Makefile
Versions
____longjmp_chk.S Introduce <pointer_guard.h>, extracted from <sysdep.h> 2022-10-18 17:03:55 +02:00
adaptive_spin_count.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
arch-syscall.h Update syscall lists for Linux 5.17 2022-03-23 17:11:56 +00:00
atomic-machine.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
c++-types.data
clone.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
configure
configure.ac
fanotify_mark.c linux: Add fanotify_mark C implementation 2021-11-25 09:56:57 -03:00
kernel-features.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
kernel_sigaction.h
kernel_stat.h
localplt.data elf: Rework exception handling in the dynamic loader [BZ #25486] 2022-11-03 09:39:31 +01:00
lowlevel-atomic.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
makecontext.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
pointer_guard.h Introduce <pointer_guard.h>, extracted from <sysdep.h> 2022-10-18 17:03:55 +02:00
shlib-versions Move malloc hooks into a compat DSO 2021-07-22 18:37:59 +05:30
sigaltstack-offsets.sym
sigcontextinfo.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
syscall.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
syscalls.list linux: Add prlimit64 C implementation 2021-11-30 13:13:03 -03:00
sysdep.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sysdep.h Introduce <pointer_guard.h>, extracted from <sysdep.h> 2022-10-18 17:03:55 +02:00
time64-compat.h
vfork.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00