From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2178) id D76763858409; Fri, 21 Jul 2023 14:41:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D76763858409 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1689950477; bh=8VIWsh5E8gCPozEnodJCklVNhWpa33gLqFsNm0vGuz0=; h=From:To:Subject:Date:From; b=E04eCCDNd/7R8d0vVrra1yjnuNph32I3bkcLg+YJ4CW6vJttW1KURtNNaRZnGgLYK 4DUfUFaigAwCRVifvaVDXoIrEl4rOxGHF9DIbGj49c0l0aJDOVE2V4vXpd0FEQ07z2 MAxcKtdRCWgraNbziFsR806h5OjRpKu+s5XJWZ2M= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Florian Weimer To: glibc-cvs@sourceware.org Subject: [glibc/release/2.29/master] debug: Mark libSegFault.so as NODELETE X-Act-Checkin: glibc X-Git-Author: Florian Weimer X-Git-Refname: refs/heads/release/2.29/master X-Git-Oldrev: 5ac4f45c1b1afdf5ab9ca0d4c0915fd6980bdccd X-Git-Newrev: 66b1fe1d4fa67714925ac381c18f8b9cffdb968a Message-Id: <20230721144117.D76763858409@sourceware.org> Date: Fri, 21 Jul 2023 14:41:17 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=66b1fe1d4fa67714925ac381c18f8b9cffdb968a commit 66b1fe1d4fa67714925ac381c18f8b9cffdb968a Author: Florian Weimer 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 (cherry picked from commit 23ee92deea4c99d0e6a5f48fa7b942909b123ec5) Diff: --- debug/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/debug/Makefile b/debug/Makefile index 6351b7e9f4..48d03395a1 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))