From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2181) id 98EB33857C44; Wed, 25 Oct 2023 14:21:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 98EB33857C44 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1698243680; bh=3PXvys2G0zLdVOn6TleMl/+sdLEsOnI+n+sGMZXXW58=; h=From:To:Subject:Date:From; b=NoiIPYdEtXYKd7YxCVJnqaHCD4DTO7FNk55F1qoBkuTUX+ORnwCRywM12TvKNF6AS KhbaL0GOv2m4VQ6jlmSLZWQ1lp9Tnq1ScsHoAnsF0gcaqHLzWd98jsEKakHFiLB0yQ 5rXPM11F5owH49D7ilOxiGiLZvl7LS/SkiNPPIG0= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Jonathan Wakely To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r13-7982] libstdc++: Build libstdc++_libbacktrace.a as PIC [PR111936] X-Act-Checkin: gcc X-Git-Author: Jonathan Wakely X-Git-Refname: refs/heads/releases/gcc-13 X-Git-Oldrev: c79e015fff919e01504537bddf26baef1e2bd803 X-Git-Newrev: 13ad7b1603f31b65e181780a29ada3f9a331bf8f Message-Id: <20231025142120.98EB33857C44@sourceware.org> Date: Wed, 25 Oct 2023 14:21:20 +0000 (GMT) List-Id: https://gcc.gnu.org/g:13ad7b1603f31b65e181780a29ada3f9a331bf8f commit r13-7982-g13ad7b1603f31b65e181780a29ada3f9a331bf8f Author: Jonathan Wakely Date: Tue Oct 24 16:56:30 2023 +0100 libstdc++: Build libstdc++_libbacktrace.a as PIC [PR111936] In order for std::stacktrace to be used in a shared library, the libbacktrace symbols need to be built with -fPIC. Add the libtool -prefer-pic flag to the commands in src/libbacktrace/Makefile so that the archive contains PIC objects. libstdc++-v3/ChangeLog: PR libstdc++/111936 * src/libbacktrace/Makefile.am: Add -prefer-pic to libtool compile commands. * src/libbacktrace/Makefile.in: Regenerate. (cherry picked from commit f32c1e1e96ffef6512ce025942b51f3967a3e7f2) Diff: --- libstdc++-v3/src/libbacktrace/Makefile.am | 8 ++++++-- libstdc++-v3/src/libbacktrace/Makefile.in | 7 ++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/libstdc++-v3/src/libbacktrace/Makefile.am b/libstdc++-v3/src/libbacktrace/Makefile.am index 9abf9dd64a1a..998c059418eb 100644 --- a/libstdc++-v3/src/libbacktrace/Makefile.am +++ b/libstdc++-v3/src/libbacktrace/Makefile.am @@ -48,9 +48,13 @@ WARN_FLAGS = -W -Wall -Wwrite-strings -Wmissing-format-attribute \ -Wcast-qual -Werror C_WARN_FLAGS = $(WARN_FLAGS) -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wno-unused-but-set-variable CXX_WARN_FLAGS = $(WARN_FLAGS) -Wno-unused-parameter -AM_CFLAGS = $(C_WARN_FLAGS) +AM_CFLAGS = \ + $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ + $(C_WARN_FLAGS) AM_CFLAGS += $(EXTRA_CFLAGS) -AM_CXXFLAGS = $(CXX_WARN_FLAGS) -fno-rtti -fno-exceptions +AM_CXXFLAGS = \ + $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ + $(CXX_WARN_FLAGS) -fno-rtti -fno-exceptions AM_CXXFLAGS += $(EXTRA_CXXFLAGS) obj_prefix = std_stacktrace diff --git a/libstdc++-v3/src/libbacktrace/Makefile.in b/libstdc++-v3/src/libbacktrace/Makefile.in index 1c1242d88278..b5cce3741df3 100644 --- a/libstdc++-v3/src/libbacktrace/Makefile.in +++ b/libstdc++-v3/src/libbacktrace/Makefile.in @@ -498,9 +498,10 @@ libstdc___libbacktrace_la_CPPFLAGS = \ C_WARN_FLAGS = $(WARN_FLAGS) -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wno-unused-but-set-variable CXX_WARN_FLAGS = $(WARN_FLAGS) -Wno-unused-parameter -AM_CFLAGS = $(C_WARN_FLAGS) $(EXTRA_CFLAGS) -AM_CXXFLAGS = $(CXX_WARN_FLAGS) -fno-rtti -fno-exceptions \ - $(EXTRA_CXXFLAGS) +AM_CFLAGS = $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ + $(C_WARN_FLAGS) $(EXTRA_CFLAGS) +AM_CXXFLAGS = $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ + $(CXX_WARN_FLAGS) -fno-rtti -fno-exceptions $(EXTRA_CXXFLAGS) obj_prefix = std_stacktrace # Each FILE.c in SOURCES will be compiled to SHORTNAME-FILE.o