diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2008-07-28 18:07:05 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@redhat.com> | 2008-07-28 18:07:05 +0000 |
commit | 9f03412ac677d4f228026de9174c23a4bc47dd74 (patch) | |
tree | d1bcbd579987a05ff60fb13cbdc695b18fb11c62 /ld | |
parent | 7f4b89d1b63f8ba812b911639f264b8e7ff51285 (diff) | |
download | gdb-9f03412ac677d4f228026de9174c23a4bc47dd74.zip gdb-9f03412ac677d4f228026de9174c23a4bc47dd74.tar.gz gdb-9f03412ac677d4f228026de9174c23a4bc47dd74.tar.bz2 |
bfd/ChangeLog:
* elf32-i386.c (struct elf_i386_link_hash_table): Added field
tls_module_base.
(elf_i386_link_hash_table_create): Initialize it.
(elf_i386_always_size_sections): Set it.
(set_tls_module_base): New.
(elf_i386_relocate_sections): Call it.
* elf64-x86-64.c (struct elf64_x86_64_link_hash_table): Added
field tls_module_base.
(elf64_x86_64_link_hash_table_create): Initialize it.
(elf64_x86_64_always_size_sections): Set it.
(set_tls_module_base): New.
(elf64_x86_64_relocate_sections): Call it.
Reported by Cary Coutant <ccoutant@google.com>
ld/testsuite/ChangeLog:
* ld-i386/tlsbindesc.dd: Adjust incorrect expectations for LD to
LE relaxation.
* ld-x86-64/tlsbindesc.dd: Likewise.
* ld-i386/tlsbindesc.rd: Adjust address of _TLS_MODULE_BASE_.
* ld-x86-64/tlsbindesc.rd: Likewise.
Reported by Cary Coutant <ccoutant@google.com>
Diffstat (limited to 'ld')
-rw-r--r-- | ld/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/tlsbindesc.dd | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/tlsbindesc.rd | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/tlsbindesc.dd | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/tlsbindesc.rd | 2 |
5 files changed, 14 insertions, 5 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index d7c6724..6d881ca 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2008-07-28 Alexandre Oliva <aoliva@redhat.com> + + * ld-i386/tlsbindesc.dd: Adjust incorrect expectations for LD to + LE relaxation. + * ld-x86-64/tlsbindesc.dd: Likewise. + * ld-i386/tlsbindesc.rd: Adjust address of _TLS_MODULE_BASE_. + * ld-x86-64/tlsbindesc.rd: Likewise. + Reported by Cary Coutant <ccoutant@google.com> + 2008-07-27 Alan Modra <amodra@bigpond.net.au> * ld-gc/gc.exp (test_gc): xfail powerpc64. diff --git a/ld/testsuite/ld-i386/tlsbindesc.dd b/ld/testsuite/ld-i386/tlsbindesc.dd index 00e164f..f77d1c8 100644 --- a/ld/testsuite/ld-i386/tlsbindesc.dd +++ b/ld/testsuite/ld-i386/tlsbindesc.dd @@ -90,7 +90,7 @@ Disassembly of section .text: [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * # LD -> LE - [0-9a-f]+: 8d 05 00 f0 ff ff[ ]+lea 0xfffff000,%eax + [0-9a-f]+: 8d 05 00 00 00 00[ ]+lea 0x0,%eax [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -105,7 +105,7 @@ Disassembly of section .text: [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * # LD -> LE against hidden variables - [0-9a-f]+: 8d 05 00 f0 ff ff[ ]+lea 0xfffff000,%eax + [0-9a-f]+: 8d 05 00 00 00 00[ ]+lea 0x0,%eax [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * diff --git a/ld/testsuite/ld-i386/tlsbindesc.rd b/ld/testsuite/ld-i386/tlsbindesc.rd index 29f195b..dd3e65e 100644 --- a/ld/testsuite/ld-i386/tlsbindesc.rd +++ b/ld/testsuite/ld-i386/tlsbindesc.rd @@ -109,7 +109,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 00000094 +0 TLS +LOCAL DEFAULT +8 bl6 +[0-9]+: 00000098 +0 TLS +LOCAL DEFAULT +8 bl7 +[0-9]+: 0000009c +0 TLS +LOCAL DEFAULT +8 bl8 - +[0-9]+: 00000000 +0 TLS +LOCAL HIDDEN +7 _TLS_MODULE_BASE_ + +[0-9]+: 00001000 +0 TLS +LOCAL HIDDEN +7 _TLS_MODULE_BASE_ +[0-9]+: 0+804a060 +0 OBJECT LOCAL HIDDEN 9 _DYNAMIC +[0-9]+: [0-9a-f]+ +0 OBJECT LOCAL HIDDEN 11 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG3 diff --git a/ld/testsuite/ld-x86-64/tlsbindesc.dd b/ld/testsuite/ld-x86-64/tlsbindesc.dd index 4cfba5e..9e82eab 100644 --- a/ld/testsuite/ld-x86-64/tlsbindesc.dd +++ b/ld/testsuite/ld-x86-64/tlsbindesc.dd @@ -63,7 +63,7 @@ Disassembly of section .text: [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * # LD -> LE - [0-9a-f]+: 48 c7 c0 60 ff ff ff[ ]+mov \$0xf+60,%rax + [0-9a-f]+: 48 c7 c0 00 00 00 00[ ]+mov \$0x0,%rax [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * diff --git a/ld/testsuite/ld-x86-64/tlsbindesc.rd b/ld/testsuite/ld-x86-64/tlsbindesc.rd index e90a061..b70d78f 100644 --- a/ld/testsuite/ld-x86-64/tlsbindesc.rd +++ b/ld/testsuite/ld-x86-64/tlsbindesc.rd @@ -100,7 +100,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+94 +0 TLS +LOCAL DEFAULT +8 bl6 +[0-9]+: 0+98 +0 TLS +LOCAL DEFAULT +8 bl7 +[0-9]+: 0+9c +0 TLS +LOCAL DEFAULT +8 bl8 - +[0-9]+: 0+0 +0 TLS +LOCAL HIDDEN +7 _TLS_MODULE_BASE_ + +[0-9]+: 0+a0 +0 TLS +LOCAL HIDDEN +7 _TLS_MODULE_BASE_ +[0-9]+: 0+601258 +0 OBJECT LOCAL HIDDEN 9 _DYNAMIC +[0-9]+: 0+601378 +0 OBJECT LOCAL HIDDEN 11 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +7 sg8 |