bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/19704] Missing dynamic relocation against undefined weak symbol


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/19704] Missing dynamic relocation against undefined weak symbol
Date: Mon, 10 Apr 2017 11:48:03 +0000

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

--- Comment #4 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Nick Clifton <address@hidden>:

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

commit bb1dd176fb6f38ae3cc30dc61ce55a7fbf9d0d7b
Author: Qing Zhao <address@hidden>
Date:   Mon Apr 10 12:46:30 2017 +0100

    Port the bug fix for PR 19704 (Missing dynamic relocation against undefined
weak symbol) to the SPARC architecture.

           * elf32-sparc.c (elf_backend_fixup_symbol): New.
            * elf64-sparc.c (elf_backend_fixup_symbol): New.
            * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
            (_bfd_sparc_elf_link_hash_entry): Add has_got_reloc and
            has_non_got_reloc.
            (link_hash_newfunc): Initialize has_got_reloc and
        has_non_got_reloc.
            (_bfd_sparc_elf_size_dynamic_sections): Set interp to .interp
            section.
            (_bfd_sparc_elf_copy_indirect_symbol): Copy has_got_reloc and
            has_non_got_reloc.
            (_bfd_sparc_elf_check_relocs): Set has_got_reloc and
            has_non_got_reloc.
            (_bfd_sparc_elf_fixup_symbol): New function.
            (allocate_dynrelocs): Don't allocate space for dynamic
            relocations and discard relocations against resolved undefined
            weak symbols in executable.  Don't make resolved undefined weak
            symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
            relocation against undefined weak symbols in PIE.
            (_bfd_sparc_elf_relocate_section): Don't generate dynamic
            relocations against resolved undefined weak symbols in PIE
            (_bfd_sparc_elf_finish_dynamic_symbol): Keep PLT/GOT entries
            without ynamic PLT/GOT relocations for resolved undefined weak
            symbols.
            Don't generate dynamic relocation against resolved undefined
            weak symbol in executable.
            (pie_finish_undefweak_symbol): New function.
            (_bfd_sparc_elf_finish_dynamic_sections): Call
            pie_finish_undefweak_symbol on all symbols in PIE.
            * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add interp.
            (_bfd_sparc_elf_fixup_symbol): New function.

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