* elf64-ppc.c (ppc64_elf_relocate_section): Correct NOP location
authorAlan Modra <amodra@gmail.com>
Tue, 13 Apr 2010 04:05:29 +0000 (04:05 +0000)
committerAlan Modra <amodra@gmail.com>
Tue, 13 Apr 2010 04:05:29 +0000 (04:05 +0000)
when optimizing high got_tlsgd/ld insns.

bfd/ChangeLog
bfd/elf64-ppc.c

index 7225371..b56b279 100644 (file)
@@ -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
index 3259e2e..769b0a4 100644 (file)
@@ -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);