diff options
-rw-r--r-- | gnu/usr.bin/binutils-2.17/bfd/elf32-ppc.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gnu/usr.bin/binutils-2.17/bfd/elf32-ppc.c b/gnu/usr.bin/binutils-2.17/bfd/elf32-ppc.c index d4f4cf2bf8e..328031bbe7e 100644 --- a/gnu/usr.bin/binutils-2.17/bfd/elf32-ppc.c +++ b/gnu/usr.bin/binutils-2.17/bfd/elf32-ppc.c @@ -5235,6 +5235,9 @@ ppc_elf_relax_section (bfd *abfd, irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), stub_rtype); irel->r_offset = trampoff + insn_offset; + if (r_type == R_PPC_PLTREL24 && + (stub_rtype == R_PPC_RELAX32 || stub_rtype == R_PPC_RELAX32PC)) + irel->r_addend = 0; /* Record the fixup so we don't do it again this section. */ f = bfd_malloc (sizeof (*f)); |