bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/31652] weak def in discarded comdat section becomes unreferenced


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/31652] weak def in discarded comdat section becomes unreferenced undefweak with ld -r
Date: Fri, 19 Apr 2024 02:19:48 +0000

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

--- Comment #2 from Sourceware Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <hjl@sourceware.org>:

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

commit eebad48efeeee858be83d754a6b1326133e51d36
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 18 05:28:56 2024 -0700

    elf: Strip unreferenced weak undefined symbols

    Linker will resolve an undefined symbol only if it is referenced by
    relocation.  Unreferenced weak undefined symbols serve no purpose.
    Weak undefined symbols appear in the dynamic symbol table only when they
    are referenced by dynamic relocation.  Mark symbols with relocation and
    strip undefined weak symbols if they don't have relocation and aren't
    in the dynamic symbol table.

    bfd/

            PR ld/31652
            * elf-bfd.h (elf_link_hash_entry): Add has_reloc.
            * elf-vxworks.c (elf_vxworks_emit_relocs): Set has_reloc.
            * elflink.c (_bfd_elf_link_output_relocs): Likewise.
            (elf_link_output_extsym): Strip undefined weak symbols if they
            don't have relocation and aren't in the dynamic symbol table.

    ld/

            PR ld/31652
            * testsuite/ld-elf/elf.exp: Run undefweak tests.
            * testsuite/ld-elf/undefweak-1.rd: New file.
            * testsuite/ld-elf/undefweak-1a.s: Likewise.
            * testsuite/ld-elf/undefweak-1b.s: Likewise.
            * testsuite/ld-x86-64/weakundef-1.nd: Likewise.
            * testsuite/ld-x86-64/weakundef-1a.s: Likewise.
            * testsuite/ld-x86-64/weakundef-1b.s: Likewise.
            * testsuite/ld-x86-64/x86-64.exp: Run undefweak tests.

-- 
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]