public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/99172] New: Build failure with slibtool and vtv
@ 2021-02-19 20:52 gcc-user at riseup dot net
  2021-02-22  8:42 ` [Bug libstdc++/99172] " rguenth at gcc dot gnu.org
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: gcc-user at riseup dot net @ 2021-02-19 20:52 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99172

            Bug ID: 99172
           Summary: Build failure with slibtool and vtv
           Product: gcc
           Version: 10.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gcc-user at riseup dot net
  Target Milestone: ---

Created attachment 50227
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50227&action=edit
Full build log.

When building gcc with slibtool (https://dev.midipix.org/cross/slibtool) the
build will fail in the libstdc++.la make target in libstdc++-v3/src.

  /usr/x86_64-pc-linux-gnu/bin/ld: cannot find -lvtv

This doesn't occur with GNU libtool because it silently filters out the invalid
-lvtv while slibtool does not. I attached a full build log.

Also see this gentoo issue.

https://bugs.gentoo.org/767706

To build gcc with slibtool:

  export MAKE='make LIBTOOL=rdlibtool'

Unfortunately gcc doesn't respect the value of the MAKEFLAGS environment
variable.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/99172] Build failure with slibtool and vtv
  2021-02-19 20:52 [Bug libstdc++/99172] New: Build failure with slibtool and vtv gcc-user at riseup dot net
@ 2021-02-22  8:42 ` rguenth at gcc dot gnu.org
  2021-02-22 15:16 ` gcc-user at riseup dot net
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-02-22  8:42 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99172

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |build

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Note swapping out parts of the build system isn't tested/supported.  Can you
quote where the "invalid" -lvtv is present?

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/99172] Build failure with slibtool and vtv
  2021-02-19 20:52 [Bug libstdc++/99172] New: Build failure with slibtool and vtv gcc-user at riseup dot net
  2021-02-22  8:42 ` [Bug libstdc++/99172] " rguenth at gcc dot gnu.org
@ 2021-02-22 15:16 ` gcc-user at riseup dot net
  2021-02-22 15:35 ` redi at gcc dot gnu.org
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: gcc-user at riseup dot net @ 2021-02-22 15:16 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99172

--- Comment #2 from gcc-user at riseup dot net ---
> Note swapping out parts of the build system isn't tested/supported. 

This is both a gcc and GNU libtool bug, gcc is passing invalid flags and
libtool is silently hiding the fact. I understand that slibtool may be untested
in gcc, but since its actually doing the right thing here and has several
benefits over GNU libtool (Maintained and readable codebase) it would be very
appreciated if this can be fixed.

> Can you quote where the "invalid" -lvtv is present?

Honestly the gcc build system is confusing for me, but see this comment from
the gentoo issue.

https://bugs.gentoo.org/767706#c7

Briefly it explained that -lvtv comes from -fvtable-verify=std in a gcc spec
file and is propogated to Makefile.in by gcc/Makefile.def.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/99172] Build failure with slibtool and vtv
  2021-02-19 20:52 [Bug libstdc++/99172] New: Build failure with slibtool and vtv gcc-user at riseup dot net
  2021-02-22  8:42 ` [Bug libstdc++/99172] " rguenth at gcc dot gnu.org
  2021-02-22 15:16 ` gcc-user at riseup dot net
@ 2021-02-22 15:35 ` redi at gcc dot gnu.org
  2021-02-22 16:18 ` gcc-user at riseup dot net
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: redi at gcc dot gnu.org @ 2021-02-22 15:35 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99172

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to gcc-user from comment #2)
> Briefly it explained that -lvtv comes from -fvtable-verify=std in a gcc spec
> file and is propogated to Makefile.in by gcc/Makefile.def.

The -fvtable-verify=std doesn't come from the spec file, it comes from using
--enable-vtable-verify to configure gcc. That adds -fvtable-verify=std and the
spec file turns that into -lvtv.

I don't know why you want to use --enable-vtable-verify but it's not really
maintained as far as I can see.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/99172] Build failure with slibtool and vtv
  2021-02-19 20:52 [Bug libstdc++/99172] New: Build failure with slibtool and vtv gcc-user at riseup dot net
                   ` (2 preceding siblings ...)
  2021-02-22 15:35 ` redi at gcc dot gnu.org
@ 2021-02-22 16:18 ` gcc-user at riseup dot net
  2021-02-23  3:46 ` gcc-user at riseup dot net
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: gcc-user at riseup dot net @ 2021-02-22 16:18 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99172

--- Comment #4 from gcc-user at riseup dot net ---
Thanks for the clarification, regardless -lvtv is then passed to the libtool
implementation. With GNU libtool it is silently removed hiding the bug, while
slibtool actually passes it to ld which fails when its not valid. Ideally -lvtv
should never reach the libtool implementation in this case since its not valid.
(It is unfortunate that GNU libtool has hidden issues like this among others
for so long...)

> I don't know why you want to use --enable-vtable-verify but it's not really maintained as far as I can see.

I was not aware of that, it is default in gentoo. Maybe they should change
that? I will add that to the gentoo issue.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/99172] Build failure with slibtool and vtv
  2021-02-19 20:52 [Bug libstdc++/99172] New: Build failure with slibtool and vtv gcc-user at riseup dot net
                   ` (3 preceding siblings ...)
  2021-02-22 16:18 ` gcc-user at riseup dot net
@ 2021-02-23  3:46 ` gcc-user at riseup dot net
  2021-02-24 13:44 ` egallager at gcc dot gnu.org
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: gcc-user at riseup dot net @ 2021-02-23  3:46 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99172

--- Comment #5 from gcc-user at riseup dot net ---
Starting with gcc-10 gentoo is not going to enable --enable-vtable-verify by
default anymore.

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63c16d8b5e71b5f8e6185965062cf9c836800c29

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/99172] Build failure with slibtool and vtv
  2021-02-19 20:52 [Bug libstdc++/99172] New: Build failure with slibtool and vtv gcc-user at riseup dot net
                   ` (4 preceding siblings ...)
  2021-02-23  3:46 ` gcc-user at riseup dot net
@ 2021-02-24 13:44 ` egallager at gcc dot gnu.org
  2021-02-24 16:27 ` ctice at gcc dot gnu.org
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: egallager at gcc dot gnu.org @ 2021-02-24 13:44 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99172

Eric Gallager <egallager at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |cmtice at google dot com,
                   |                            |egallager at gcc dot gnu.org

--- Comment #6 from Eric Gallager <egallager at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #3)
> (In reply to gcc-user from comment #2)
> > Briefly it explained that -lvtv comes from -fvtable-verify=std in a gcc spec
> > file and is propogated to Makefile.in by gcc/Makefile.def.
> 
> The -fvtable-verify=std doesn't come from the spec file, it comes from using
> --enable-vtable-verify to configure gcc. That adds -fvtable-verify=std and
> the spec file turns that into -lvtv.
> 
> I don't know why you want to use --enable-vtable-verify but it's not really
> maintained as far as I can see.

I thought Caroline Tice was maintaining it.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/99172] Build failure with slibtool and vtv
  2021-02-19 20:52 [Bug libstdc++/99172] New: Build failure with slibtool and vtv gcc-user at riseup dot net
                   ` (5 preceding siblings ...)
  2021-02-24 13:44 ` egallager at gcc dot gnu.org
@ 2021-02-24 16:27 ` ctice at gcc dot gnu.org
  2021-02-24 16:56 ` gcc-user at riseup dot net
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ctice at gcc dot gnu.org @ 2021-02-24 16:27 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99172

ctice at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ctice at gcc dot gnu.org

--- Comment #7 from ctice at gcc dot gnu.org ---
I thought I was maintaining it too! :-)

Is there something here that you want/need me to take care of?

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/99172] Build failure with slibtool and vtv
  2021-02-19 20:52 [Bug libstdc++/99172] New: Build failure with slibtool and vtv gcc-user at riseup dot net
                   ` (6 preceding siblings ...)
  2021-02-24 16:27 ` ctice at gcc dot gnu.org
@ 2021-02-24 16:56 ` gcc-user at riseup dot net
  2021-02-24 17:06 ` ctice at gcc dot gnu.org
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: gcc-user at riseup dot net @ 2021-02-24 16:56 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99172

--- Comment #8 from gcc-user at riseup dot net ---
> Is there something here that you want/need me to take care of?

If you can make it so that -lvtv is never passed to libtool so that slibtool
will also work with --enable-vtable-verify as described in this issue it would
be very much appreciated.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/99172] Build failure with slibtool and vtv
  2021-02-19 20:52 [Bug libstdc++/99172] New: Build failure with slibtool and vtv gcc-user at riseup dot net
                   ` (7 preceding siblings ...)
  2021-02-24 16:56 ` gcc-user at riseup dot net
@ 2021-02-24 17:06 ` ctice at gcc dot gnu.org
  2021-02-24 18:57 ` redi at gcc dot gnu.org
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ctice at gcc dot gnu.org @ 2021-02-24 17:06 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99172

--- Comment #9 from ctice at gcc dot gnu.org ---
I will work on fixing that.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/99172] Build failure with slibtool and vtv
  2021-02-19 20:52 [Bug libstdc++/99172] New: Build failure with slibtool and vtv gcc-user at riseup dot net
                   ` (8 preceding siblings ...)
  2021-02-24 17:06 ` ctice at gcc dot gnu.org
@ 2021-02-24 18:57 ` redi at gcc dot gnu.org
  2021-03-11  5:03 ` ctice at gcc dot gnu.org
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: redi at gcc dot gnu.org @ 2021-02-24 18:57 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99172

--- Comment #10 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to ctice from comment #7)
> I thought I was maintaining it too! :-)

OK, thanks. I guess I mistook "doesn't need much work" for "unmaintained".

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/99172] Build failure with slibtool and vtv
  2021-02-19 20:52 [Bug libstdc++/99172] New: Build failure with slibtool and vtv gcc-user at riseup dot net
                   ` (9 preceding siblings ...)
  2021-02-24 18:57 ` redi at gcc dot gnu.org
@ 2021-03-11  5:03 ` ctice at gcc dot gnu.org
  2021-03-11 13:33 ` redi at gcc dot gnu.org
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ctice at gcc dot gnu.org @ 2021-03-11  5:03 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99172

--- Comment #11 from ctice at gcc dot gnu.org ---
Created attachment 50360
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50360&action=edit
Proposed patch to fix issue

This patch fixes the issue, without breaking VTV, and is currently out for
review.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/99172] Build failure with slibtool and vtv
  2021-02-19 20:52 [Bug libstdc++/99172] New: Build failure with slibtool and vtv gcc-user at riseup dot net
                   ` (10 preceding siblings ...)
  2021-03-11  5:03 ` ctice at gcc dot gnu.org
@ 2021-03-11 13:33 ` redi at gcc dot gnu.org
  2021-03-15 16:43 ` cvs-commit at gcc dot gnu.org
  2021-03-15 22:01 ` gcc-user at riseup dot net
  13 siblings, 0 replies; 15+ messages in thread
From: redi at gcc dot gnu.org @ 2021-03-11 13:33 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99172

--- Comment #12 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Comment on attachment 50360
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50360
Proposed patch to fix issue

The patch looks good but please CC the libstdc++ list for libstdc++ patches,
thanks.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/99172] Build failure with slibtool and vtv
  2021-02-19 20:52 [Bug libstdc++/99172] New: Build failure with slibtool and vtv gcc-user at riseup dot net
                   ` (11 preceding siblings ...)
  2021-03-11 13:33 ` redi at gcc dot gnu.org
@ 2021-03-15 16:43 ` cvs-commit at gcc dot gnu.org
  2021-03-15 22:01 ` gcc-user at riseup dot net
  13 siblings, 0 replies; 15+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-03-15 16:43 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99172

--- Comment #13 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Caroline Tice <ctice@gcc.gnu.org>:

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.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug libstdc++/99172] Build failure with slibtool and vtv
  2021-02-19 20:52 [Bug libstdc++/99172] New: Build failure with slibtool and vtv gcc-user at riseup dot net
                   ` (12 preceding siblings ...)
  2021-03-15 16:43 ` cvs-commit at gcc dot gnu.org
@ 2021-03-15 22:01 ` gcc-user at riseup dot net
  13 siblings, 0 replies; 15+ messages in thread
From: gcc-user at riseup dot net @ 2021-03-15 22:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99172

gcc-user at riseup dot net changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |FIXED

--- Comment #14 from gcc-user at riseup dot net ---
Thanks, I applied that commit as a patch against 10.2.0 and it fixes the issue
on my end too!

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2021-03-15 22:01 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-19 20:52 [Bug libstdc++/99172] New: Build failure with slibtool and vtv gcc-user at riseup dot net
2021-02-22  8:42 ` [Bug libstdc++/99172] " rguenth at gcc dot gnu.org
2021-02-22 15:16 ` gcc-user at riseup dot net
2021-02-22 15:35 ` redi at gcc dot gnu.org
2021-02-22 16:18 ` gcc-user at riseup dot net
2021-02-23  3:46 ` gcc-user at riseup dot net
2021-02-24 13:44 ` egallager at gcc dot gnu.org
2021-02-24 16:27 ` ctice at gcc dot gnu.org
2021-02-24 16:56 ` gcc-user at riseup dot net
2021-02-24 17:06 ` ctice at gcc dot gnu.org
2021-02-24 18:57 ` redi at gcc dot gnu.org
2021-03-11  5:03 ` ctice at gcc dot gnu.org
2021-03-11 13:33 ` redi at gcc dot gnu.org
2021-03-15 16:43 ` cvs-commit at gcc dot gnu.org
2021-03-15 22:01 ` gcc-user at riseup dot net

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).