aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf64-ppc.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d450599..ce1d704 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2012-12-05 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (build_plt_stub): Fix off by one error in branch
+ to glink.
+
2012-12-03 Maciej W. Rozycki <macro@codesourcery.com>
PR ld/10629
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 94f3c42..10b6f9d 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -9653,8 +9653,8 @@ build_plt_stub (struct ppc_link_hash_table *htab,
bfd_vma glinkoff = GLINK_CALL_STUB_SIZE + pltindex * 8;
bfd_vma to, from;
- if (pltindex > 32767)
- glinkoff += (pltindex - 32767) * 4;
+ if (pltindex > 32768)
+ glinkoff += (pltindex - 32768) * 4;
to = (glinkoff
+ htab->glink->output_offset
+ htab->glink->output_section->vma);