bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/21334] [MIPS] Undefined hidden symbols cause assertion failure b


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/21334] [MIPS] Undefined hidden symbols cause assertion failure bfd/elfxx-mips.c:3860
Date: Wed, 26 Apr 2017 12:34:47 +0000

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

--- Comment #10 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Maciej W. Rozycki <address@hidden>:

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

commit 23ec1e32b1ab714649a7c25e49b5d721fe3bd3db
Author: Maciej W. Rozycki <address@hidden>
Date:   Mon Apr 24 20:15:31 2017 +0100

    PR ld/21334: Always call `_bfd_elf_link_renumber_dynsyms' if required

    Complement commit e17b0c351f0b ("MIPS/BFD: Respect the ELF gABI dynamic
    symbol table sort requirement") and correct an inconsistency in dynamic
    symbol accounting data causing an assertion failure in the MIPS backend:

    ld: BFD (GNU Binutils) 2.28.51.20170330 assertion fail
    ../../binutils-gdb/bfd/elfxx-mips.c:3860

    in the course of making a GOT entry in a static binary to satisfy a GOT
    relocation present in input, due to the local dynamic symbol count not
    having been established.

    To do so let backends request `_bfd_elf_link_renumber_dynsyms' to be
    always called, rather than where a dynamic binary is linked only, and
    then make this request in the MIPS backend.

        bfd/
        PR ld/21334
        * elf-bfd.h (elf_backend_data): Add `always_renumber_dynsyms'
        member.
        * elfxx-target.h [!elf_backend_always_renumber_dynsyms]
        (elf_backend_always_renumber_dynsyms): Define.
        (elfNN_bed): Initialize `always_renumber_dynsyms' member.
        * elfxx-mips.h (elf_backend_always_renumber_dynsyms): Define.
        * elflink.c (bfd_elf_size_dynamic_sections): Also call
        `_bfd_elf_link_renumber_dynsyms' if the backend has requested
        it.
        (bfd_elf_size_dynsym_hash_dynstr): Likewise.

        ld/
        PR ld/21334
        * testsuite/ld-mips-elf/pr21334.dd: New test.
        * testsuite/ld-mips-elf/pr21334.gd: New test.
        * testsuite/ld-mips-elf/pr21334.ld: New test linker script.
        * testsuite/ld-mips-elf/pr21334.s: New test source.
        * testsuite/ld-mips-elf/mips-elf.exp: Run the new 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]