commit:     ff3a446afb9e0abb87869e85826454e85ef398c3
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 15 22:55:21 2021 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Mon Mar 15 22:57:07 2021 +0000
URL:        https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=ff3a446a

10.2.0: fix vtv build on slibtool

Reported-by: orbea <AT> riseup.net
Bug: https://gcc.gnu.org/PR99172
Bug: https://bugs.gentoo.org/767706
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 10.2.0/gentoo/43_all_vtv-slibtool.patch | 62 +++++++++++++++++++++++++++++++++
 10.2.0/gentoo/README.history            |  1 +
 2 files changed, 63 insertions(+)

diff --git a/10.2.0/gentoo/43_all_vtv-slibtool.patch 
b/10.2.0/gentoo/43_all_vtv-slibtool.patch
new file mode 100644
index 0000000..b5716f9
--- /dev/null
+++ b/10.2.0/gentoo/43_all_vtv-slibtool.patch
@@ -0,0 +1,62 @@
+https://bugs.gentoo.org/767706
+https://gcc.gnu.org/PR99172
+
+From c2be82058fb40f3ae891c68d185ff53e07f14f45 Mon Sep 17 00:00:00 2001
+From: Caroline Tice <cmt...@google.com>
+Date: Fri, 12 Mar 2021 07:34:36 -0800
+Subject: [PATCH] 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.
+---
+ libstdc++-v3/src/Makefile.am | 4 +++-
+ libstdc++-v3/src/Makefile.in | 3 ++-
+
+--- 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
+--- 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
+ 
+-- 
+2.30.2
+

diff --git a/10.2.0/gentoo/README.history b/10.2.0/gentoo/README.history
index 4ca261a..f195ae9 100644
--- a/10.2.0/gentoo/README.history
+++ b/10.2.0/gentoo/README.history
@@ -1,5 +1,6 @@
 7              TODO
        + 42_all_vmat-PR97236.patch
+       + 43_all_vtv-slibtool.patch
 
 6              29 Dec 2020
        - 34_all_fundecl-ICE-PR95820.patch

Reply via email to