summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 7225371426..b56b279eb8 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 3259e2e719..769b0a4361 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);