Handle R_X86_64_DTPOFF64
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 28 Jun 2013 15:07:55 +0000 (15:07 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 28 Jun 2013 15:07:55 +0000 (15:07 +0000)
bfd/

PR ld/15685
* elf64-x86-64.c (elf_x86_64_relocate_section): Handle
R_X86_64_DTPOFF64.

ld/testsuite/

PR ld/15685
* ld-x86-64/tlsg.s: Add a test for R_X86_64_DTPOFF64.
* ld-x86-64/tlsg.sd: Updated.

bfd/ChangeLog
bfd/elf64-x86-64.c
ld/testsuite/ChangeLog
ld/testsuite/ld-x86-64/tlsg.s
ld/testsuite/ld-x86-64/tlsg.sd

index 49a6fe60b860707c6cbfb02bca044fa075d13498..a5928171d6519e653ae3244a8ceca408c500a6b8 100644 (file)
@@ -1,3 +1,9 @@
+2013-06-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/15685
+       * elf64-x86-64.c (elf_x86_64_relocate_section): Handle
+       R_X86_64_DTPOFF64.
+
 2013-06-28  Nick Clifton  <nickc@redhat.com>
 
        PR ld/15302
index 758231e2c460f231f9155ba859956d8738760296..56a1f814eb230c67b11e03905c3b370a634d5c8a 100644 (file)
@@ -4332,6 +4332,11 @@ direct:
          relocation = elf_x86_64_tpoff (info, relocation);
          break;
 
+       case R_X86_64_DTPOFF64:
+         BFD_ASSERT ((input_section->flags & SEC_CODE) == 0);
+         relocation -= elf_x86_64_dtpoff_base (info);
+         break;
+
        default:
          break;
        }
index dce58ad2b1eedf40e4e68750705487e4f0c45ab5..7bc29c81cb4f30285b69c4032ffe6b24e18ea941 100644 (file)
@@ -1,3 +1,9 @@
+2013-06-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/15685
+       * ld-x86-64/tlsg.s: Add a test for R_X86_64_DTPOFF64.
+       * ld-x86-64/tlsg.sd: Updated.
+
 2013-06-24  Maciej W. Rozycki  <macro@codesourcery.com>
 
        * ld-mips-elf/jalx-2.dd: Update for microMIPS PLT support.
index 048e98f019c82af9b12c5f06402f2a598fe8860f..af390fb5a355c7ae7c0a5f27457264b40a2f80c9 100644 (file)
@@ -10,3 +10,4 @@ a:
 _start:
        .section        .debug_foobar
        .long   a@dtpoff, 0
+       .quad   a@dtpoff
index 7652d57998e84c80370aa3e25c46e0327574317d..10c4934ef11420561a5a840a2afd1d5cd1effd34 100644 (file)
@@ -7,4 +7,4 @@
 .*: +file format elf64-x86-64.*
 
 Contents of section .debug_foobar:
- 0+ 18000000 0+  +.*
+ 0+ 18000000 0+  +18000000 0+  +.*