glibc/sysdeps/unix/sysv/linux/arc
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
sys 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
c++-types.data ARC: ABI lists 2020-07-10 16:08:44 -07:00
clone.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
configure Regenerate configure scripts. 2020-08-04 21:36:19 -04:00
configure.ac ARC: Build Infrastructure 2020-07-10 16:08:45 -07:00
fixup-asm-unistd.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 ARC: Build Infrastructure 2020-07-10 16:08:45 -07:00
kernel-features.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
ld.abilist Fix glibc 2.34 ABI omission (missing GLIBC_2.34 in dynamic loader) 2022-01-27 18:52:05 +01:00
libanl.abilist resolv: Move libanl into libc (if libpthread is in libc) 2021-07-02 11:45:00 +02:00
libBrokenLocale.abilist ARC: ABI lists 2020-07-10 16:08:44 -07:00
libc_malloc_debug.abilist glibc.malloc.check: Wean away from malloc hooks 2021-07-22 18:38:08 +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 ARC: ABI lists 2020-07-10 16:08:44 -07:00
libdl.abilist dlfcn: Move dlopen into libc 2021-06-03 08:26:04 +02:00
libm.abilist Add fmaximum, fminimum functions 2021-09-28 23:31:35 +00:00
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 ARC: ABI lists 2020-07-10 16:08:44 -07:00
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
makecontext.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
Makefile arc: Remove _dl_var_init 2021-05-17 10:08:05 +02:00
mmap_internal.h linux: Use same type for MMAP2_PAGE_UNIT 2022-09-20 10:57:40 -03:00
setcontext.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
shlib-versions ARC: Build Infrastructure 2020-07-10 16:08:45 -07:00
sigcontextinfo.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sigrestorer.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
single-thread.h Replace __libc_multiple_threads with __libc_single_threaded 2022-07-05 10:14:47 -03: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
sysdep.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
ucontext_i.sym ARC: Linux ABI 2020-07-10 16:08:44 -07:00
ucontext-macros.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
Versions arc: Remove _dl_var_init 2021-05-17 10:08:05 +02:00
vfork.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00