glibc/sysdeps
Florian Weimer b2964eb1d9 dlfcn: Failures after dlmopen should not terminate process [BZ #24772]
Commit 9e78f6f6e7 ("Implement
_dl_catch_error, _dl_signal_error in libc.so [BZ #16628]") has the
side effect that distinct namespaces, as created by dlmopen, now have
separate implementations of the rtld exception mechanism.  This means
that the call to _dl_catch_error from libdl in a secondary namespace
does not actually install an exception handler because the
thread-local variable catch_hook in the libc.so copy in the secondary
namespace is distinct from that of the base namepace.  As a result, a
dlsym/dlopen/... failure in a secondary namespace terminates the process
with a dynamic linker error because it looks to the exception handler
mechanism as if no handler has been installed.

This commit restores GLRO (dl_catch_error) and uses it to set the
handler in the base namespace.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2021-04-21 19:49:51 +02:00
..
aarch64 elf: Remove lazy tlsdesc relocation related code 2021-04-21 14:35:53 +01:00
alpha Implement <unwind-link.h> for dynamically loading the libgcc_s unwinder 2021-03-01 15:58:01 +01:00
arc ARC: Update ulps 2021-04-14 09:24:45 -07:00
arm nptl: Move __pthread_unwind_next into libc 2021-04-21 19:49:50 +02:00
csky Reduce the statically linked startup code [BZ #23323] 2021-02-25 12:13:02 +01:00
generic dlfcn: Failures after dlmopen should not terminate process [BZ #24772] 2021-04-21 19:49:51 +02:00
gnu Move sysdeps/gnu/unwind-resume.c to sysdeps/generic/unwind-resume.c 2021-03-01 15:59:49 +01:00
hppa Update hppa libm-test-ulps 2021-04-06 18:55:58 +00:00
htl fork.h: replace with register-atfork.h 2021-03-29 21:41:09 +02:00
hurd Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
i386 elf: Remove lazy tlsdesc relocation related code 2021-04-21 14:35:53 +01:00
ia64 nptl: Move __pthread_unwind_next into libc 2021-04-21 19:49:50 +02:00
ieee754 Improve the accuracy of tgamma (BZ #26983) 2021-04-07 13:23:39 +02:00
m68k m68: Fix build after 9acda61d94 2021-04-06 15:10:31 -03:00
mach hurd: Export _hurd_libc_proc_init 2021-04-12 00:23:36 +02:00
microblaze Reduce the statically linked startup code [BZ #23323] 2021-02-25 12:13:02 +01:00
mips Implement <unwind-link.h> for dynamically loading the libgcc_s unwinder 2021-03-01 15:58:01 +01:00
nios2 Update Nios II libm-test-ulps. 2021-04-01 19:41:40 +00:00
nptl nptl: Invoke the set_robust_list system call directly in fork 2021-04-21 19:49:51 +02:00
posix nptl: Move pthread_setcancelstate into libc 2021-04-21 19:49:50 +02:00
powerpc nptl: Move __pthread_unwind_next into libc 2021-04-21 19:49:50 +02:00
pthread nptl: Move pthread_exit into libc 2021-04-21 19:49:50 +02:00
riscv Reduce the statically linked startup code [BZ #23323] 2021-02-25 12:13:02 +01:00
s390 s390: Update ulps 2021-04-15 11:05:43 +02:00
sh Implement <unwind-link.h> for dynamically loading the libgcc_s unwinder 2021-03-01 15:58:01 +01:00
sparc Fix the inaccuracy of j0f/j1f/y0f/y1f [BZ #14469, #14470, #14471, #14472] 2021-04-02 06:15:48 +02:00
unix nptl: Move pthread_setcanceltype into libc 2021-04-21 19:49:50 +02:00
wordsize-32 Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
wordsize-64 Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
x86 nptl: Remove longjmp, siglongjmp from libpthread 2021-04-21 19:49:50 +02:00
x86_64 elf: Remove lazy tlsdesc relocation related code 2021-04-21 14:35:53 +01:00