aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2009-07-23 21:22:20 +0000
committerH.J. Lu <hjl.tools@gmail.com>2009-07-23 21:22:20 +0000
commit9b769489c6ae11df1294c5a1502daf8c78b00376 (patch)
tree9f30e0977c62f28bd66bc9f2ec9e2a2efcd06a9c /bfd
parent89295b4d6f980663e6bd35568e2b733659dc58df (diff)
downloadgdb-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/ChangeLog7
-rw-r--r--bfd/elf64-x86-64.c4
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;