mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-18 05:12:33 +08:00
[GOLD] PowerPC tweak relnum tests
There is a call of relocate() to perform a single relocation. In that case the "relnum" parameter is -1U and of course it isn't appropriate to consider any of the PowerPC code sequence optimisations triggered by a following relocation. * powerpc.cc (Target_powerpc::Relocate::relocate): Don't look at next/previous reloc when relnum is -1.
This commit is contained in:
@ -1,3 +1,8 @@
|
||||
2019-06-28 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* powerpc.cc (Target_powerpc::Relocate::relocate): Don't look
|
||||
at next/previous reloc when relnum is -1.
|
||||
|
||||
2019-06-28 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* powerpc.cc (Stub_table::plt_error): New function.
|
||||
|
@ -8986,7 +8986,7 @@ Target_powerpc<size, big_endian>::Relocate::relocate(
|
||||
size_t reloc_count = shdr.get_sh_size() / reloc_size;
|
||||
if (size == 64
|
||||
&& ent->r2save_
|
||||
&& relnum + 1 < reloc_count)
|
||||
&& relnum < reloc_count - 1)
|
||||
{
|
||||
Reltype next_rela(preloc + reloc_size);
|
||||
if (elfcpp::elf_r_type<size>(next_rela.get_r_info())
|
||||
@ -9757,7 +9757,7 @@ Target_powerpc<size, big_endian>::Relocate::relocate(
|
||||
// addi 2,2,.TOC.@l
|
||||
// if .TOC. is in range. */
|
||||
if (value + address - 4 + 0x80008000 <= 0xffffffff
|
||||
&& relnum != 0
|
||||
&& relnum + 1 > 1
|
||||
&& preloc != NULL
|
||||
&& target->abiversion() >= 2
|
||||
&& !parameters->options().output_is_position_independent()
|
||||
|
Reference in New Issue
Block a user