From a69ed7f7aa6fb202509361b02d43838270cc65a0 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 28 Jun 2013 15:07:55 +0000 Subject: Handle R_X86_64_DTPOFF64 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 | 6 ++++++ bfd/elf64-x86-64.c | 5 +++++ ld/testsuite/ChangeLog | 6 ++++++ ld/testsuite/ld-x86-64/tlsg.s | 1 + ld/testsuite/ld-x86-64/tlsg.sd | 2 +- 5 files changed, 19 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 49a6fe6..a592817 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2013-06-28 H.J. Lu + + PR ld/15685 + * elf64-x86-64.c (elf_x86_64_relocate_section): Handle + R_X86_64_DTPOFF64. + 2013-06-28 Nick Clifton PR ld/15302 diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 758231e..56a1f81 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -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; } diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index dce58ad..7bc29c8 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2013-06-28 H.J. Lu + + 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 * ld-mips-elf/jalx-2.dd: Update for microMIPS PLT support. diff --git a/ld/testsuite/ld-x86-64/tlsg.s b/ld/testsuite/ld-x86-64/tlsg.s index 048e98f..af390fb 100644 --- a/ld/testsuite/ld-x86-64/tlsg.s +++ b/ld/testsuite/ld-x86-64/tlsg.s @@ -10,3 +10,4 @@ a: _start: .section .debug_foobar .long a@dtpoff, 0 + .quad a@dtpoff diff --git a/ld/testsuite/ld-x86-64/tlsg.sd b/ld/testsuite/ld-x86-64/tlsg.sd index 7652d57..10c4934 100644 --- a/ld/testsuite/ld-x86-64/tlsg.sd +++ b/ld/testsuite/ld-x86-64/tlsg.sd @@ -7,4 +7,4 @@ .*: +file format elf64-x86-64.* Contents of section .debug_foobar: - 0+ 18000000 0+ +.* + 0+ 18000000 0+ +18000000 0+ +.* -- cgit v1.1