summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2012-12-05 04:58:50 +0000
committerAlan Modra <amodra@bigpond.net.au>2012-12-05 04:58:50 +0000
commit3498dba791c255ca4839889a49cfc78cd8d7034c (patch)
tree7062489ba7351be93883028db68dd7dc9cd2c8f5
parentec2d87bc8f7eb677cc998f30164eb1f9043d71b2 (diff)
downloadbinutils-redhat-3498dba791c255ca4839889a49cfc78cd8d7034c.tar.gz
* elf64-ppc.c (build_plt_stub): Fix off by one error in branch
to glink.
-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 d450599a94..ce1d7046bf 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 94f3c42151..10b6f9dc10 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);