glibc/sysdeps/unix/sysv/linux/alpha
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
..
alpha
alphaev6/fpu
alphaev67/fpu
bits Add ADDRB from Linux 6.0 to bits/termios-c_cflag.h 2022-10-24 13:43:19 +00:00
fpu
sys Add AGROUP from Linux 5.19 to sys/acct.h, remove Alpha version (bug 29502) 2022-08-22 14:16:57 +00:00
Implies
Makefile nptl: Remove remaining code from libpthread 2021-05-21 22:35:01 +02:00
Versions Linux: Move timer_settime, __timer_settime64 from librt to libc 2021-06-28 09:51:01 +02:00
____longjmp_chk.S Introduce <pointer_guard.h>, extracted from <sysdep.h> 2022-10-18 17:03:55 +02:00
a.out.h
adjtime.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
adjtimex.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
aio_cancel.c Linux: Move aio_cancel, aio_cancel64 into libc 2021-06-25 11:48:46 +02:00
arch-syscall.h Update syscall lists for Linux 5.17 2022-03-23 17:11:56 +00:00
brk_call.h alpha: Fix generic brk system call emulation in __brk_call (bug 29490) 2022-08-22 11:05:42 +02:00
c++-types.data
clone.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
configure
configure.ac
dl-auxv.h Linux: Consolidate auxiliary vector parsing (redo) 2022-02-28 11:50:41 +01:00
dl-support.c
dl-sysdep.c
errlist-compat-data.h stdio: Remove the usage of $(fno-unit-at-a-time) for errlist.c 2022-05-13 10:54:41 -03:00
fraiseexcpt.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
fstatfs.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
fstatfs64.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
fxstat64.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
fxstatat64.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
getclktck.c
getcontext.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
getdents.c
getdents64.c
getegid.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
geteuid.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
gethostname.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
getppid.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
getrlimit64.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
gettimeofday.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
glob-lstat-compat.c
globfree.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
ieee_get_fp_control.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
ieee_set_fp_control.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
ioperm.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
ipc_priv.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08: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
kernel_sysinfo.h
kernel_termios.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
libBrokenLocale.abilist
libanl.abilist resolv: Move libanl into libc (if libpthread is in libc) 2021-07-02 11:45:00 +02:00
libc.abilist stdlib: Add arc4random, arc4random_buf, and arc4random_uniform (BZ #4417) 2022-07-22 11:58:27 -03:00
libc_malloc_debug.abilist Move malloc_{g,s}et_state to libc_malloc_debug 2021-07-22 18:38:10 +05:30
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-compat.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08: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
lxstat64.c 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
nldbl-abi.h
oldglob.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
osf_adjtime.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
osf_getitimer.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
osf_getrusage.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
osf_gettimeofday.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
osf_setitimer.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
osf_settimeofday.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
osf_utimes.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
osf_wait4.c 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
rt_sigaction.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
select.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
setcontext.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
setfpucw.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
setrlimit64.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
settimeofday.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
shlib-versions
sigcontextinfo.h 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
statfs.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
statfs64.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
swapcontext.S 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: Consolidate Linux setsockopt implementation 2021-07-06 11:45:35 -03:00
sysconf.c 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
timer_t_was_int_compat.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
ucontext-offsets.sym
vfork.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
wait4.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
wordexp.c
xstat64.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
xstatconv.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xstatver.h