[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: |
Wed, 01 Nov 2017 07:13:01 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=22300
--- Comment #7 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=1dac3b4518f811cc124df2040db3c5a0e9049bb3
commit 1dac3b4518f811cc124df2040db3c5a0e9049bb3
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.
(cherry picked from commit c0e331c794d6bd75d9be9bea6145513074c33f39)
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug ld/22300] Abort in elf32_hppa_relocate_section at elf32-hppa.c:4055 building debian polyml,
cvs-commit at gcc dot gnu.org <=