bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/22300] Abort in elf32_hppa_relocate_section at elf32-hppa.c:4055


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/22300] Abort in elf32_hppa_relocate_section at elf32-hppa.c:4055 building debian polyml
Date: Sat, 28 Oct 2017 11:47:08 +0000

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

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

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

commit c0e331c794d6bd75d9be9bea6145513074c33f39
Author: Alan Modra <address@hidden>
Date:   Sat Oct 28 14:10:55 2017 +1030

    PR22300, Abort in elf32_hppa_relocate_section building polyml

    polyml produces object files with the wrong OS/ABI for hppa-linux.
    This, along with the fact that elf32-hppa.c is using the strictest
    backend relocs_compatible, results in wrong merging of ELF symbols.

    So, remove the relocs_compatible check in _bfd_elf_merge_symbol.
    _bfd_elf_merge_symbol is only called nowadays from within blocks
    protected by is_elf_hash_table, so "we are doing an ELF link" as the
    removed comment says, is true.

    Also relax relocs_compatible for hppa and powerpc.  relocs_compatible
    is used for more than just merging symbols, as the name suggests.
    This allows objects that are in fact reasonably compatible to be
    linked.

        PR 22300
        * elflink.c (_bfd_elf_merge_symbol): Remove relocs_compatible check.
        * elf32-hppa.c (elf_backend_relocs_compatible): Define.
        * elf32-ppc.c (elf_backend_relocs_compatible): Define.
        * elf64-ppc.c (elf_backend_relocs_compatible): Define.

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