Make libSegFault.so NODELETE (#2224348)

Resolves: #2224348
This commit is contained in:
Florian Weimer 2023-07-21 16:48:28 +02:00
parent a7237924af
commit 6a1334bb9d
2 changed files with 32 additions and 1 deletions

27
glibc-rh2224348.patch Normal file
View File

@ -0,0 +1,27 @@
commit 0fda2a41baf7e978d07322aa278e964f4dce8802
Author: Florian Weimer <fweimer@redhat.com>
Date: Thu Jul 20 18:31:48 2023 +0200
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)
diff --git a/debug/Makefile b/debug/Makefile
index b0f0b7beb6d5cef5..8bce89ddcd0a61ed 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))

View File

@ -1,6 +1,6 @@
%define glibcsrcdir glibc-2.28
%define glibcversion 2.28
%define glibcrelease 231%{?dist}
%define glibcrelease 232%{?dist}
# Pre-release tarballs are pulled in from git using a command that is
# effectively:
#
@ -1041,6 +1041,7 @@ Patch848: glibc-rh2213909.patch
Patch849: glibc-rh2176707-1.patch
Patch850: glibc-rh2176707-2.patch
Patch851: glibc-rh2186781.patch
Patch852: glibc-rh2224348.patch
##############################################################################
# Continued list of core "glibc" package information:
@ -2871,6 +2872,9 @@ fi
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
%changelog
* Fri Jul 21 2023 Florian Weimer <fweimer@redhat.com> - 2.28-232
- Make libSegFault.so NODELETE (#2224348)
* Sun Jul 9 2023 Carlos O'Donell <carlos@redhat.com> - 2.28-231
- Update ESTALE error message translations (#2186781)