summaryrefslogtreecommitdiff
path: root/bfd/elf64-x86-64.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2013-06-28 15:07:54 +0000
committerH.J. Lu <hjl.tools@gmail.com>2013-06-28 15:07:54 +0000
commitc9c3ccf2f5c2bad2516b522c6ad7cd29cc66d21c (patch)
tree3e1247be3f84dadc84a0c76dc821ca5530e528e2 /bfd/elf64-x86-64.c
parent4395b290c3931fe0c39c50547042c072b0892196 (diff)
downloadbinutils-redhat-c9c3ccf2f5c2bad2516b522c6ad7cd29cc66d21c.tar.gz
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.
Diffstat (limited to 'bfd/elf64-x86-64.c')
-rw-r--r--bfd/elf64-x86-64.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index 758231e2c4..56a1f814eb 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;
}