aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2010-04-13 04:05:29 +0000
committerAlan Modra <amodra@gmail.com>2010-04-13 04:05:29 +0000
commit727ac201d4273426750f36d9523a3d48399eba3c (patch)
tree7de0054845ee108e0bc9a91ad5387210813dcd94
parent523136f211c183f5e5c51adf00eb84cb838e7d0a (diff)
downloadgdb-727ac201d4273426750f36d9523a3d48399eba3c.zip
gdb-727ac201d4273426750f36d9523a3d48399eba3c.tar.gz
gdb-727ac201d4273426750f36d9523a3d48399eba3c.tar.bz2
* elf64-ppc.c (ppc64_elf_relocate_section): Correct NOP location
when optimizing high got_tlsgd/ld insns.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf64-ppc.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 7225371..b56b279 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2010-04-13 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Correct NOP location
+ when optimizing high got_tlsgd/ld insns.
+
2010-04-10 H.J. Lu <hongjiu.lu@intel.com>
* hosts/x86-64linux.h (HAVE_PRPSINFO32_T): Undefine before
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 3259e2e..769b0a4 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -11650,8 +11650,8 @@ ppc64_elf_relocate_section (bfd *output_bfd,
+ R_PPC64_GOT_TPREL16_DS);
else
{
- bfd_put_32 (output_bfd, NOP, contents + rel->r_offset);
rel->r_offset -= d_offset;
+ bfd_put_32 (output_bfd, NOP, contents + rel->r_offset);
r_type = R_PPC64_NONE;
}
rel->r_info = ELF64_R_INFO (r_symndx, r_type);