[gcc r11-7678] libstdc++-v3: Update VTV vars for libtool link commands [PR99172]

Caroline Tice ctice@gcc.gnu.org
Mon Mar 15 16:43:46 GMT 2021


https://gcc.gnu.org/g:c2be82058fb40f3ae891c68d185ff53e07f14f45

commit r11-7678-gc2be82058fb40f3ae891c68d185ff53e07f14f45
Author: Caroline Tice <cmtice@google.com>
Date:   Fri Mar 12 07:34:36 2021 -0800

    libstdc++-v3: Update VTV vars for libtool link commands [PR99172]
    
    This fixes PR 99172
    
    Currently when GCC is configured with --enable-vtable-verify, the
    libstdc++-v3 Makefiles add "-fvtable-verify=std
    -Wl,-u_vtable_map_vars_start,-u_vtable_map_vars_end" to libtool link
    commands. The "-fvtable-verify=std" piece causes alternate versions of
    libtool (such as slibtool) to fail, unable to find "-lvtv" (GNU
    libtool just removes that piece).
    
    This patch updates the libstdc++-v3 Makefiles to not pass
    "-fvtable-verify=std" to the libtool link commands.

Diff:
---
 libstdc++-v3/ChangeLog       | 9 +++++++++
 libstdc++-v3/src/Makefile.am | 4 +++-
 libstdc++-v3/src/Makefile.in | 3 ++-
 3 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 6834a90ff9e..296dc680675 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,12 @@
+2021-03-15  Caroline Tice  <cmtice@google.com>
+
+	PR libstdc++/99172
+	* src/Makefile.am (AM_CXXFLAGS_PRE, AM_CXXFLAGS): Add
+	AM_CXXFLAGS_PRE with the old definition of AM_CXXFLAGS; make
+	AM_CXXFLAGS to be AM_CXXFLAGS_PRE with '-fvtable-verify=std'
+	filtered out.
+	* src/Makefile.in: Regenerate.
+
 2021-03-11  Patrick Palka  <ppalka@redhat.com>
 
 	* src/c++17/floating_to_chars.cc: Simplify the file as if
diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am
index 78e788cccb3..16f4cc6eff4 100644
--- a/libstdc++-v3/src/Makefile.am
+++ b/libstdc++-v3/src/Makefile.am
@@ -214,12 +214,14 @@ compatibility-condvar.o: compatibility-condvar.cc
 # set this option because CONFIG_CXXFLAGS has to be after
 # OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
 # as the occasion calls for it.
-AM_CXXFLAGS = \
+AM_CXXFLAGS_PRE = \
 	-std=gnu++98 \
 	$(glibcxx_compiler_pic_flag) \
 	$(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \
 	$(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS)
 
+AM_CXXFLAGS = $(filter-out -fvtable-verify=std,$(AM_CXXFLAGS_PRE))
+
 # Libtool notes
 
 # 1) In general, libtool expects an argument such as `--tag=CXX' when
diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in
index 684b7aee16b..4df5c829a7f 100644
--- a/libstdc++-v3/src/Makefile.in
+++ b/libstdc++-v3/src/Makefile.in
@@ -578,12 +578,13 @@ libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS) $(lt_host_flags)
 # set this option because CONFIG_CXXFLAGS has to be after
 # OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
 # as the occasion calls for it.
-AM_CXXFLAGS = \
+AM_CXXFLAGS_PRE = \
 	-std=gnu++98 \
 	$(glibcxx_compiler_pic_flag) \
 	$(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \
 	$(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS)
 
+AM_CXXFLAGS = $(filter-out -fvtable-verify=std,$(AM_CXXFLAGS_PRE))
 
 # Libtool notes


More information about the Gcc-cvs mailing list