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:39:46 +0200 |
commit | aef97dc952a6af0cbf4b2408993745fa97d89a2b (patch) | |
tree | e5d966fa6e8885c836740f9b85befbd13420dc7f | |
parent | eed27b3e46d0c92eb8bff6b2b5d7059a70996a8b (diff) | |
download | glibc-aef97dc952a6af0cbf4b2408993745fa97d89a2b.tar.gz glibc-aef97dc952a6af0cbf4b2408993745fa97d89a2b.tar.xz glibc-aef97dc952a6af0cbf4b2408993745fa97d89a2b.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> (cherry picked from commit 23ee92deea4c99d0e6a5f48fa7b942909b123ec5)
-rw-r--r-- | debug/Makefile | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/debug/Makefile b/debug/Makefile index 3f66666c6c..60d69397f9 100644 --- a/debug/Makefile +++ b/debug/Makefile @@ -168,6 +168,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)) |