bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/22150] [2.29 Regression] ld.bfd keeps a version reference in .gn


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/22150] [2.29 Regression] ld.bfd keeps a version reference in .gnu.version_r for symbols which are optimized out
Date: Tue, 19 Sep 2017 07:15:57 +0000

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

--- Comment #10 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The binutils-2_29-branch branch has been updated by Alan Modra
<address@hidden>:

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

commit c01ee74d3ad56a25272dfd5607ce4a807223e7e5
Author: Alan Modra <address@hidden>
Date:   Tue Sep 19 11:59:30 2017 +0930

    PR22150, ld keeps a version reference for gc'd symbols

    elf_gc_sweep_symbol should run after verdefs are calculated, since
    the verdef code creates symbols for the versions.  However,
    elf_gc_sweep_symbol needs to run before verrefs so as to not emit
    useless verrefs for symbols that are gc'd.

    I've also removed a _bfd_elf_link_renumber_dynsyms calls added by
    Maciej after I fussed about it when reviewing.  On further examination
    the call appears to be unnecessary.  Looking at renumber_dynsyms also
    made me realize that the test to exclude .gnu.version has been wrong
    since 2016-04-26 (git commit d5486c4372), so fix that too.

        PR 22150
        * elflink.c (bfd_elf_size_dynamic_sections): Garbage collect
        symbols before calculating verrefs.  Don't renumber dynsyms
        after gc.  Exclude .gnu.version when zero or one dynsym.
        Localize some vars and reindent.

    (cherry picked from commit 3d13f3e9bda5aada68915f5d958f731ae79ed41d)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]