mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-24 20:28:28 +08:00
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.
This commit is contained in:
@ -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>
|
2009-07-23 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* elf-bfd.h (struct elf_link_hash_entry): Add unique_global field.
|
* elf-bfd.h (struct elf_link_hash_entry): Add unique_global field.
|
||||||
|
@ -1231,7 +1231,7 @@ elf64_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info,
|
|||||||
goto create_got;
|
goto create_got;
|
||||||
|
|
||||||
case R_X86_64_TPOFF32:
|
case R_X86_64_TPOFF32:
|
||||||
if (info->shared)
|
if (!info->executable)
|
||||||
{
|
{
|
||||||
if (h)
|
if (h)
|
||||||
name = h->root.root.string;
|
name = h->root.root.string;
|
||||||
@ -3639,7 +3639,7 @@ elf64_x86_64_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case R_X86_64_TPOFF32:
|
case R_X86_64_TPOFF32:
|
||||||
BFD_ASSERT (! info->shared);
|
BFD_ASSERT (info->executable);
|
||||||
relocation = elf64_x86_64_tpoff (info, relocation);
|
relocation = elf64_x86_64_tpoff (info, relocation);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
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.
|
||||||
|
|
||||||
2009-07-21 H.J. Lu <hongjiu.lu@intel.com>
|
2009-07-21 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
PR ld/10426
|
PR ld/10426
|
||||||
|
6
ld/testsuite/ld-x86-64/tlsle1.d
Normal file
6
ld/testsuite/ld-x86-64/tlsle1.d
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#name: TLS LE with PIE
|
||||||
|
#as: --64
|
||||||
|
#ld: -melf_x86_64 -pie
|
||||||
|
#readelf: -r
|
||||||
|
|
||||||
|
There are no relocations in this file.
|
11
ld/testsuite/ld-x86-64/tlsle1.s
Normal file
11
ld/testsuite/ld-x86-64/tlsle1.s
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
.text
|
||||||
|
.globl _start
|
||||||
|
_start:
|
||||||
|
movl $0, %fs:foo@TPOFF
|
||||||
|
.globl foo
|
||||||
|
.section .tdata,"awT",@progbits
|
||||||
|
.align 4
|
||||||
|
.type foo, @object
|
||||||
|
.size foo, 4
|
||||||
|
foo:
|
||||||
|
.long 100
|
@ -92,4 +92,4 @@ run_dump_test "hidden3"
|
|||||||
run_dump_test "protected1"
|
run_dump_test "protected1"
|
||||||
run_dump_test "protected2"
|
run_dump_test "protected2"
|
||||||
run_dump_test "protected3"
|
run_dump_test "protected3"
|
||||||
|
run_dump_test "tlsle1"
|
||||||
|
Reference in New Issue
Block a user