diff options
author | Florian Weimer <fweimer@redhat.com> | 2023-07-20 18:31:48 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2023-07-21 16:37:42 +0200 |
commit | 23ee92deea4c99d0e6a5f48fa7b942909b123ec5 (patch) | |
tree | fbe8ef618962c963fcb6bb4eb6ecba23e77d9b45 | |
parent | cad3adf4ddeada37912c1c13b59a2ea5dd5d2832 (diff) | |
download | glibc-23ee92deea4c99d0e6a5f48fa7b942909b123ec5.tar glibc-23ee92deea4c99d0e6a5f48fa7b942909b123ec5.tar.gz glibc-23ee92deea4c99d0e6a5f48fa7b942909b123ec5.tar.bz2 glibc-23ee92deea4c99d0e6a5f48fa7b942909b123ec5.zip |
debug: Mark libSegFault.so as NODELETE
The signal handler installed in the ELF constructor cannot easily
be removed again (because the program may have changed handlers
in the meantime). Mark the object as NODELETE so that the registered
handler function is never unloaded.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
-rw-r--r-- | debug/Makefile | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/debug/Makefile b/debug/Makefile index 71248e0d45..9fbc40dc69 100644 --- a/debug/Makefile +++ b/debug/Makefile @@ -213,6 +213,8 @@ extra-libs-others = $(extra-libs) libSegFault-routines = segfault libSegFault-inhibit-o = $(filter-out .os,$(object-suffixes)) +# libSegFault.so installs a signal handler in its ELF constructor. +LDFLAGS-SegFault.so = -Wl,--enable-new-dtags,-z,nodelete libpcprofile-routines = pcprofile libpcprofile-inhibit-o = $(filter-out .os,$(object-suffixes)) |