summaryrefslogtreecommitdiff
path: root/bfd/elf64-x86-64.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-10-01 09:10:46 +0000
committerJakub Jelinek <jakub@redhat.com>2002-10-01 09:10:46 +0000
commita45bb67df201470589b4adc8b50190bdbec903cb (patch)
tree48ee43725910b197400b5ec6fc0cfd60ae20b95a /bfd/elf64-x86-64.c
parent97724570fe57a08d93c7c61269848e2326cf4efc (diff)
downloadbinutils-gdb-a45bb67df201470589b4adc8b50190bdbec903cb.tar.gz
bfd/
* elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32 to st_value + addend in non-code sections. * elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve R_X86_64_DTPOFF32 to st_value + addend in non-code sections. ld/testsuite/ * ld-i386/i386.exp: Add tlsg test. * ld-i386/tlsg.s: New test. * ld-i386/tlsg.sd: New test. * ld-i386/tlsbin.dd: Change LD into LD -> LE in comments. * ld-i386/tlsbinpic.s: Likewise. * ld-x86-64/x86-64.exp: Add tlsg test. * ld-x86-64/tlsg.s: New test. * ld-x86-64/tlsg.sd: New test. * ld-x86-64/tlsbin.dd: Change LD into LD -> LE in comments. * ld-x86-64/tlsbinpic.s: Likewise.
Diffstat (limited to 'bfd/elf64-x86-64.c')
-rw-r--r--bfd/elf64-x86-64.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index fa2f2ee5ec1..2f92eae38a4 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -2496,7 +2496,7 @@ elf64_x86_64_relocate_section (output_bfd, info, input_bfd, input_section,
break;
case R_X86_64_DTPOFF32:
- if (info->shared)
+ if (info->shared || (input_section->flags & SEC_CODE) == 0)
relocation -= dtpoff_base (info);
else
relocation = tpoff (info, relocation);