https://sourceware.org/bugzilla/show_bug.cgi?id=24873

--- Comment #11 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Alan Modra <amo...@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b02c4f162335ed055964f603ba3aca18b0e5c5bf

commit b02c4f162335ed055964f603ba3aca18b0e5c5bf
Author: Alan Modra <amo...@gmail.com>
Date:   Tue Aug 6 15:23:28 2019 +0930

    PR24873, gcc -flto objects result in --start-group .. --end-group failure
to include --as-needed libraries

    Reloading of archives (and checking --as-needed DSOs again) is
    disabled until we hit the plugin insert point.  It's necessary to do
    that because in a case like lib1.a lto.o lib2.a where lib1.a and
    lib2.a contain duplicate symbols, we want the lto.o recompiled object
    to pull in objects from lib2.a as necessary, but not from lib1.a.
    Unfortunately this heuristic fails when the insert point is inside a
    group, because ld actually loads the symbols from the recompiled
    object before running over the contours of the script, thus missing
    the fact that new undefs appeared in the group.

        PR 24873
        * ldlang.c (plugin_undefs): New static var.
        (open_input_bfds <lang_group_statement_enum>): Loop on
        plugin_undefs and hitting plugin_insert point.
        (lang_process <lto_plugin_active>): Set plugin_undefs.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to