[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