* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
authorHans-Peter Nilsson <hp@axis.com>
Tue, 24 Mar 2009 03:32:31 +0000 (03:32 +0000)
committerHans-Peter Nilsson <hp@axis.com>
Tue, 24 Mar 2009 03:32:31 +0000 (03:32 +0000)
<R_CRIS_16_GOT_GD, R_CRIS_32_GOT_GD>: Don't include the TLS size
when emitting a known TP offset in the GOT.

bfd/ChangeLog
bfd/elf32-cris.c

index 9dfb87e..8336ac4 100644 (file)
@@ -1,3 +1,9 @@
+2009-03-24  Hans-Peter Nilsson  <hp@axis.com>
+
+       * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD>
+       <R_CRIS_16_GOT_GD, R_CRIS_32_GOT_GD>: Don't include the TLS size
+       when emitting a known TP offset in the GOT.
+
 2009-03-23  Alan Modra  <amodra@bigpond.net.au>
 
        * elf64-ppc.c (synthetic_opd): Delete.
index bd6de29..6dc669a 100644 (file)
@@ -1735,9 +1735,8 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
              bfd_vma off;
 
              /* The symbol is defined in the program, so just write
-                (1, -prog_tls_size+known_tpoffset) into the GOT.  */
+                (1, known_tpoffset) into the GOT.  */
              relocation -= elf_hash_table (info)->tls_sec->vma;
-             relocation -= elf_hash_table (info)->tls_size;
 
              if (h != NULL)
                {