aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2012-12-05 04:58:51 +0000
committerAlan Modra <amodra@gmail.com>2012-12-05 04:58:51 +0000
commit68d6295870ad1d2f4d0a39e8fbf088a3caaaab29 (patch)
tree134c0176d36d2e8a94eb085587642c7a0c14d781
parent6418c17342b42f4ecd01d1a55ef45cf5a607708b (diff)
downloadgdb-68d6295870ad1d2f4d0a39e8fbf088a3caaaab29.zip
gdb-68d6295870ad1d2f4d0a39e8fbf088a3caaaab29.tar.gz
gdb-68d6295870ad1d2f4d0a39e8fbf088a3caaaab29.tar.bz2
* 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 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);