[PATCH v1] libstdc++-v3: Update VTV vars for libtool link commands [PR99172]

Caroline Tice cmtice@google.com
Thu Mar 11 04:50:48 GMT 2021


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
cmtice@google.com

libstdc++-v3/ChangeLog

2021-03-10  Caroline Tice  <cmtice@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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v1-0001-libstdc-v3-Update-VTV-vars-for-libtool-link-comma.patch
Type: application/octet-stream
Size: 16597 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20210310/0ca3d611/attachment-0001.obj>


More information about the Gcc-patches mailing list