This patch is to fix 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, while continuing to pass the rest of the VTV flags (which are necessary for VTV to work). I tested this by configuring with --enable-vtable-verify, boostrapping the compiler, and running all the regression testsuites (including libvtv & libstdc++) without any regressions. I only ran it on a linux system, on an x86_64 machine. I also gave a copy of the patch to the person who reported the bug, and they verified that the patch fixes their issue. Is this ok to commit? -- Caroline Tice cmt...@google.com libstdc++-v3/ChangeLog 2021-03-10 Caroline Tice <cmt...@google.com> PR libstdc++/99172 * Makefile.in: Regenerate. * acinclude.m4: Add definitions for VTV_CXXFLAGS_LT. * configure: Regenerate. * doc/Makefile.in: Regenerate. * include/Maefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * python/Makefile.in: Regenerate. * src/Makefile.am (AM_CXXFLAGS_LT): New definition. (CXXLINK): Update to use AM_CXXFLAGS_LT instead of AM_CXXFLAGS. * src/Makefile.in: Regenerate. * src/c++11/Makefile.in: Regenerate. * src/c++17/Makefile.in: Regenerate. * src/c++20/Makefile.in: Regenerate. * src/c++98/Makefile.in: Regenerate. * src/filesystem/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate.
v1-0001-libstdc-v3-Update-VTV-vars-for-libtool-link-comma.patch
Description: Binary data