glibc/sysdeps/unix/sysv/linux/sparc/sparc64
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
..
bits Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
____longjmp_chk.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
__longjmp.S
__start_context.S 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
bsd-_setjmp.S
bsd-setjmp.S
c++-types.data
clone.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
configure
configure.ac
dl-cache.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
getcontext.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
Implies
ipc_priv.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
kernel_stat.h
kstat_cp.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
ld.abilist Linux: Use ptrdiff_t for __rseq_offset 2022-02-02 22:37:20 +01:00
libanl.abilist resolv: Move libanl into libc (if libpthread is in libc) 2021-07-02 11:45:00 +02:00
libBrokenLocale.abilist
libc_malloc_debug.abilist Move malloc_{g,s}et_state to libc_malloc_debug 2021-07-22 18:38:10 +05:30
libc_sigaction.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
libc.abilist stdlib: Add arc4random, arc4random_buf, and arc4random_uniform (BZ #4417) 2022-07-22 11:58:27 -03:00
libcrypt.abilist
libdl.abilist dlfcn: Move dlopen into libc 2021-06-03 08:26:04 +02:00
libm.abilist math: Remove the error handling wrapper from hypot and hypotf 2021-12-13 10:08:46 -03:00
libnsl.abilist
libpthread.abilist nptl: Remove remaining code from libpthread 2021-05-21 22:35:01 +02:00
libresolv.abilist resolv: Move res_query functions into libc 2021-07-19 07:56:57 +02:00
librt.abilist Linux: Move timer_settime, __timer_settime64 from librt to libc 2021-06-28 09:51:01 +02:00
libthread_db.abilist
libutil.abilist login: Move libutil into libc 2021-06-30 08:43:37 +02:00
localplt.data elf: Rework exception handling in the dynamic loader [BZ #25486] 2022-11-03 09:39:31 +01:00
longjmp.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
makecontext.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
Makefile
personality.c
pointer_guard.h Introduce <pointer_guard.h>, extracted from <sysdep.h> 2022-10-18 17:03:55 +02:00
setcontext.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
setjmp.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
shlib-versions Move malloc hooks into a compat DSO 2021-07-22 18:37:59 +05:30
sigcontextinfo.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sigjmp.S
sigreturn_stub.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sizes.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
swapcontext.c 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
sysdep.h Introduce <pointer_guard.h>, extracted from <sysdep.h> 2022-10-18 17:03:55 +02:00
timer_t_was_int_compat.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
ucontext_i.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
Versions Linux: Move timer_settime, __timer_settime64 from librt to libc 2021-06-28 09:51:01 +02:00
vfork.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
wordexp.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xstatconv.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00