mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-22 02:50:08 +08:00
Fix "PowerPC64 ELFv2 entry code" for big-endian
bfd/ * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch for big-endian. gold/ * powerpc.cc (relocate): Adjust last patch for big-endian.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2016-02-04 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
|
||||||
|
for big-endian.
|
||||||
|
|
||||||
2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
|
2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
PR ld/19542
|
PR ld/19542
|
||||||
|
@ -13915,7 +13915,7 @@ ppc64_elf_relocate_section (bfd *output_bfd,
|
|||||||
if (!bfd_link_pic (info)
|
if (!bfd_link_pic (info)
|
||||||
&& !info->traditional_format
|
&& !info->traditional_format
|
||||||
&& !htab->opd_abi
|
&& !htab->opd_abi
|
||||||
&& rel->r_addend == 0
|
&& rel->r_addend == d_offset
|
||||||
&& h != NULL && &h->elf == htab->elf.hgot
|
&& h != NULL && &h->elf == htab->elf.hgot
|
||||||
&& rel + 1 < relend
|
&& rel + 1 < relend
|
||||||
&& rel[1].r_info == ELF64_R_INFO (r_symndx, R_PPC64_REL16_LO)
|
&& rel[1].r_info == ELF64_R_INFO (r_symndx, R_PPC64_REL16_LO)
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2016-02-04 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* powerpc.cc (relocate): Adjust last patch for big-endian.
|
||||||
|
|
||||||
2016-02-02 Alan Modra <amodra@gmail.com>
|
2016-02-02 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
* powerpc.cc (relocate): Further restrict ELFv2 entry optimization.
|
* powerpc.cc (relocate): Further restrict ELFv2 entry optimization.
|
||||||
|
@ -7727,7 +7727,7 @@ Target_powerpc<size, big_endian>::Relocate::relocate(
|
|||||||
&& preloc != NULL
|
&& preloc != NULL
|
||||||
&& target->abiversion() >= 2
|
&& target->abiversion() >= 2
|
||||||
&& !parameters->options().output_is_position_independent()
|
&& !parameters->options().output_is_position_independent()
|
||||||
&& rela.get_r_addend() == 4
|
&& rela.get_r_addend() == d_offset + 4
|
||||||
&& gsym != NULL
|
&& gsym != NULL
|
||||||
&& strcmp(gsym->name(), ".TOC.") == 0)
|
&& strcmp(gsym->name(), ".TOC.") == 0)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user