glibc/dlfcn
Florian Weimer f4cba6ca1e dlfcn: Failures after dlmopen should not terminate process [BZ #15271]
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.

Backport notes: GLRO (dl_catch_error) is replaced with
_dl_catch_error_ptr to preserve _rtld_global_ro layout.

(cherry picked from commit b2964eb1d9)
2021-06-09 17:15:00 +02:00
..
bug-atexit1-lib.c
bug-atexit1.c Prefer https for Sourceware links 2017-11-16 11:49:26 +05:30
bug-atexit2-lib.c
bug-atexit2.c Prefer https for Sourceware links 2017-11-16 11:49:26 +05:30
bug-atexit3-lib.cc support: Introduce new subdirectory for test infrastructure 2016-12-09 08:18:27 +01:00
bug-atexit3.c
bug-dl-leaf-lib-cb.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
bug-dl-leaf-lib.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
bug-dl-leaf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
bug-dlopen1.c
bug-dlsym1-lib1.c
bug-dlsym1-lib2.c
bug-dlsym1.c
default.c Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
defaultmod1.c
defaultmod2.c
dladdr1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dladdr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dlclose.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dlerror.c dlfcn: Failures after dlmopen should not terminate process [BZ #15271] 2021-06-09 17:15:00 +02:00
dlfcn.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dlfcn.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dlfreeres.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dlinfo.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dlmopen.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dlopen.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dlopenold.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dlsym.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dlvsym.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
errmsg1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
errmsg1mod.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
failtest.c
failtestmod.c Fix dlfcn/failtestmod.c warning. 2014-11-27 16:00:08 +00:00
glreflib1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
glreflib2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
glreflib3.c
glrefmain.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
Makefile Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
modatexit.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
modcxaatexit.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
moddummy1.c Fix recursive dlopen. 2015-01-21 01:51:10 -05:00
moddummy2.c Fix recursive dlopen. 2015-01-21 01:51:10 -05:00
modstatic2.c Remove --disable-versioning. 2013-09-04 15:25:42 +00:00
modstatic3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
modstatic5.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
modstatic.c
sdladdr1.c
sdladdr.c
sdlclose.c
sdlerror.c
sdlfreeres.c libc: Extend __libc_freeres framework (Bug 23329). 2018-06-29 22:39:06 -04:00
sdlinfo.c
sdlmopen.c
sdlopen.c
sdlsym.c
sdlvsym.c
tst-dladdr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-dlinfo.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-rec-dlopen.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tstatexit.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tstcxaatexit.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tststatic2.c Convert dlfcn/tststatic2 to use test-skeleton. 2015-02-27 15:54:33 -08:00
tststatic3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tststatic4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tststatic5.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tststatic.c Convert dlfcn/tststatic to use test-skeleton. 2015-03-27 12:55:25 -07:00
Versions libc: Extend __libc_freeres framework (Bug 23329). 2018-06-29 22:39:06 -04:00