summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/usr.bin/binutils-2.17/bfd/elf32-ppc.c3
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));