aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2009-06-19 16:00:33 +0000
committerH.J. Lu <hjl.tools@gmail.com>2009-06-19 16:00:33 +0000
commit4c5448074d6fce6d6c0bbaba75c4bba3f16db786 (patch)
treed4dd76714916a90e0c21847de3524735e0a56463 /ld
parent5d2c29b8d19dc84f75bfa2ce0e2f334f17b5b2e7 (diff)
downloadfsf-binutils-gdb-4c5448074d6fce6d6c0bbaba75c4bba3f16db786.zip
fsf-binutils-gdb-4c5448074d6fce6d6c0bbaba75c4bba3f16db786.tar.gz
fsf-binutils-gdb-4c5448074d6fce6d6c0bbaba75c4bba3f16db786.tar.bz2
bfd/
2009-06-19 H.J. Lu <hongjiu.lu@intel.com> * elf32-i386.c (elf_i386_tls_transition): Add a parameter, r_symndx. Report local symbol name on error. (elf_i386_check_relocs): Updated. Report local symbol name on error. (elf_i386_gc_sweep_hook): Updated. (elf_i386_relocate_section): Likewise. * elf64-x86-64.c (elf64_x86_64_tls_transition): Add a parameter, r_symndx. Report local symbol name on error. (elf64_x86_64_check_relocs): Updated. Report local symbol name on error. (elf64_x86_64_gc_sweep_hook): Updated. (elf64_x86_64_relocate_section): Likewise. ld/testsuite/ 2009-06-19 H.J. Lu <hongjiu.lu@intel.com> * ld-i386/i386.exp: Run tlsgd2. * ld-i386/tlsgd2.d: New. * ld-i386/tlsgd2.s: Likewise. * ld-x86-64/tlsgd3.d: Updated.
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ChangeLog9
-rw-r--r--ld/testsuite/ld-i386/i386.exp1
-rw-r--r--ld/testsuite/ld-i386/tlsgd2.d4
-rw-r--r--ld/testsuite/ld-i386/tlsgd2.s11
-rw-r--r--ld/testsuite/ld-x86-64/tlsgd3.d2
5 files changed, 26 insertions, 1 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index fbd1ff4..c7f7adb 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2009-06-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-i386/i386.exp: Run tlsgd2.
+
+ * ld-i386/tlsgd2.d: New.
+ * ld-i386/tlsgd2.s: Likewise.
+
+ * ld-x86-64/tlsgd3.d: Updated.
+
2009-06-18 Dave Korn <dave.korn.cygwin@gmail.com>
* ld-pe/pe-run.exp (proc test_direct_link_dll): Always pass
diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp
index 6f75f3a..18e8d80 100644
--- a/ld/testsuite/ld-i386/i386.exp
+++ b/ld/testsuite/ld-i386/i386.exp
@@ -128,6 +128,7 @@ run_dump_test "pcrel16"
run_dump_test "pcrel16abs"
run_dump_test "alloc"
run_dump_test "warn1"
+run_dump_test "tlsgd2"
run_dump_test "tlsie2"
run_dump_test "tlsie3"
run_dump_test "tlsie4"
diff --git a/ld/testsuite/ld-i386/tlsgd2.d b/ld/testsuite/ld-i386/tlsgd2.d
new file mode 100644
index 0000000..136a8fa
--- /dev/null
+++ b/ld/testsuite/ld-i386/tlsgd2.d
@@ -0,0 +1,4 @@
+#name: TLS GD->LE transition check
+#as: --32
+#ld: -melf_i386
+#error: .*TLS transition from R_386_TLS_GD to R_386_TLS_LE_32 against `foo'.*failed.*
diff --git a/ld/testsuite/ld-i386/tlsgd2.s b/ld/testsuite/ld-i386/tlsgd2.s
new file mode 100644
index 0000000..29d9339
--- /dev/null
+++ b/ld/testsuite/ld-i386/tlsgd2.s
@@ -0,0 +1,11 @@
+ .text
+ .globl _start
+_start:
+ leal foo@TLSGD(%ebx), %eax
+ call ___tls_get_addr
+ .section .tdata,"awT",@progbits
+ .align 4
+ .type foo, @object
+ .size foo, 4
+foo:
+ .long 100
diff --git a/ld/testsuite/ld-x86-64/tlsgd3.d b/ld/testsuite/ld-x86-64/tlsgd3.d
index 40f8e3d..a8830e9 100644
--- a/ld/testsuite/ld-x86-64/tlsgd3.d
+++ b/ld/testsuite/ld-x86-64/tlsgd3.d
@@ -1,4 +1,4 @@
#name: TLS GD->LE transition check
#as: --64
#ld: -melf_x86_64
-#error: .*TLS transition from R_X86_64_TLSGD to R_X86_64_TPOFF32 against `a local symbol'.*failed.*
+#error: .*TLS transition from R_X86_64_TLSGD to R_X86_64_TPOFF32 against `foo'.*failed.*