diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2009-07-23 21:22:20 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2009-07-23 21:22:20 +0000 |
commit | 9b769489c6ae11df1294c5a1502daf8c78b00376 (patch) | |
tree | 9f30e0977c62f28bd66bc9f2ec9e2a2efcd06a9c /bfd | |
parent | 89295b4d6f980663e6bd35568e2b733659dc58df (diff) | |
download | gdb-9b769489c6ae11df1294c5a1502daf8c78b00376.zip gdb-9b769489c6ae11df1294c5a1502daf8c78b00376.tar.gz gdb-9b769489c6ae11df1294c5a1502daf8c78b00376.tar.bz2 |
bfd/
2009-07-23 H.J. Lu <hongjiu.lu@intel.com>
PR ld/10434
* elf64-x86-64.c (elf64_x86_64_check_relocs): Check executable
instead of shared for R_X86_64_TPOFF32.
(elf64_x86_64_relocate_section): Likewise.
ld/testsuite/
2009-07-23 H.J. Lu <hongjiu.lu@intel.com>
PR ld/10434
* ld-x86-64/tlsle1.d: New.
* ld-x86-64/tlsle1.s: Likewise.
* ld-x86-64/x86-64.exp: Run tlsle1.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/elf64-x86-64.c | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 42dd8e3..f15da41 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2009-07-23 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/10434 + * elf64-x86-64.c (elf64_x86_64_check_relocs): Check executable + instead of shared for R_X86_64_TPOFF32. + (elf64_x86_64_relocate_section): Likewise. + 2009-07-23 Ulrich Drepper <drepper@redhat.com> * elf-bfd.h (struct elf_link_hash_entry): Add unique_global field. diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 718f076..2364233 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -1231,7 +1231,7 @@ elf64_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info, goto create_got; case R_X86_64_TPOFF32: - if (info->shared) + if (!info->executable) { if (h) name = h->root.root.string; @@ -3639,7 +3639,7 @@ elf64_x86_64_relocate_section (bfd *output_bfd, struct bfd_link_info *info, break; case R_X86_64_TPOFF32: - BFD_ASSERT (! info->shared); + BFD_ASSERT (info->executable); relocation = elf64_x86_64_tpoff (info, relocation); break; |