summaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2012-06-17 07:29:55 +0000
committerHans-Peter Nilsson <hp@axis.com>2012-06-17 07:29:55 +0000
commit64fd98ae8fcc3d07afacd24497462ef033d57b81 (patch)
tree6e493c02b7382a46665cb31a48be38154f65af17 /ld
parent8c2d358066a4fba84bd91100901b718343ae8b04 (diff)
downloadbinutils-redhat-64fd98ae8fcc3d07afacd24497462ef033d57b81.tar.gz
* ld-cris/tls-e-tpiecomm1.d, ld-cris/tls-e-tpiecomm1.s: New test.
* ld-cris/tls-dso-tpoffgotcomm1.d, ld-cris/tls-dso-tpoffgotcomm1.s: Ditto.
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ChangeLog6
-rw-r--r--ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d46
-rw-r--r--ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.s9
-rw-r--r--ld/testsuite/ld-cris/tls-e-tpiecomm1.d47
-rw-r--r--ld/testsuite/ld-cris/tls-e-tpiecomm1.s9
5 files changed, 117 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index e42102b3bf..3c21226873 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2012-06-17 Hans-Peter Nilsson <hp@axis.com>
+
+ * ld-cris/tls-e-tpiecomm1.d, ld-cris/tls-e-tpiecomm1.s: New test.
+ * ld-cris/tls-dso-tpoffgotcomm1.d,
+ ld-cris/tls-dso-tpoffgotcomm1.s: Ditto.
+
2012-06-16 Alan Modra <amodra@gmail.com>
* ld-alpha/emptygot.nm, * ld-alpha/tlsbin.rd, * ld-alpha/tlsbinr.rd,
diff --git a/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d b/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d
new file mode 100644
index 0000000000..0a2ee06292
--- /dev/null
+++ b/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d
@@ -0,0 +1,46 @@
+#source: start1.s
+#source: tls-dso-tpoffgotcomm1.s
+#as: --no-underscore --pic --em=criself -I$srcdir/$subdir
+#ld: -m crislinux -shared
+#objdump: -d -h -s -t -r -R -p
+
+# Make sure we can link a file with TPOFFGOT relocs against common
+# symbols.
+
+.*: file format elf32-cris
+
+Program Header:
+ LOAD off 0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13
+ filesz 0x0+1c8 memsz 0x0+1c8 flags r-x
+ LOAD off .*
+ filesz .*
+ DYNAMIC off .*
+ filesz .*
+ TLS off .* vaddr .* paddr .* align 2\*\*2
+ filesz 0x0+ memsz 0x0+8 flags r--
+#...
+Sections:
+#...
+ 7 .got 0+14 0+2240 0+2240 0+240 2\*\*2
+ CONTENTS, ALLOC, LOAD, DATA
+SYMBOL TABLE:
+#...
+0+ g \.tbss 0+4 foo
+#...
+0+4 g \.tbss 0+4 bar
+
+#...
+Contents of section .got:
+ 2240 c8210000 00000000 00000000 00000000 .*
+ 2250 00000000 .*
+
+Disassembly of section \.text:
+
+0+1b8 <_start>:
+ 1b8: 41b2 moveq 1,\$r11
+ \.\.\.
+
+0+1bc <do_test>:
+ 1bc: 2f0e 0c00 0000 add\.d c <bar\+0x8>,\$r0
+ 1c2: 1f1e 1000 add\.w 0x10,\$r1
+ \.\.\.
diff --git a/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.s b/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.s
new file mode 100644
index 0000000000..a7c7421f33
--- /dev/null
+++ b/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.s
@@ -0,0 +1,9 @@
+ .tls_common foo,4,4
+ .tls_common bar,4,4
+ .text
+ .align 1
+ .type do_test, @function
+do_test:
+ add.d foo:TPOFFGOT,$r0
+ add.w bar:TPOFFGOT16,$r1
+ .size do_test, .-do_test
diff --git a/ld/testsuite/ld-cris/tls-e-tpiecomm1.d b/ld/testsuite/ld-cris/tls-e-tpiecomm1.d
new file mode 100644
index 0000000000..2e0f0f0b92
--- /dev/null
+++ b/ld/testsuite/ld-cris/tls-e-tpiecomm1.d
@@ -0,0 +1,47 @@
+#source: start1.s
+#source: tls-e-tpiecomm1.s
+#as: --no-underscore --em=criself -I$srcdir/$subdir
+#ld: -m crislinux
+#objdump: -d -s -h -t -r -p
+
+# Make sure we can link a file with IE relocs against common
+# symbols and that the values entered in the GOT are right.
+
+.*: file format elf32-cris
+
+Program Header:
+ LOAD off 0x0+ vaddr 0x0+80000 paddr 0x0+80000 align 2\*\*13
+ filesz 0x0+a4 memsz 0x0+a4 flags r-x
+ LOAD off 0x0+a4 vaddr 0x0+820a4 paddr 0x0+820a4 align 2\*\*13
+ filesz 0x0+14 memsz 0x0+14 flags rw-
+ TLS off 0x0+a4 vaddr 0x0+820a4 paddr 0x0+820a4 align 2\*\*2
+ filesz 0x0+ memsz 0x0+8 flags r--
+private flags = 0:
+
+Sections:
+Idx Name Size VMA LMA File off Algn
+ 0 \.text 0+10 0+80094 0+80094 0+94 2\*\*1
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 1 \.tbss 0+8 0+820a4 0+820a4 0+a4 2\*\*2
+ ALLOC, THREAD_LOCAL
+ 2 \.got 0+14 0+820a4 0+820a4 0+a4 2\*\*2
+ CONTENTS, ALLOC, LOAD, DATA
+SYMBOL TABLE:
+#...
+0+ g .tbss 0+4 foo
+#...
+0+4 g .tbss 0+4 bar
+#...
+Contents of section \.got:
+ 820a4 00000000 00000000 00000000 f8ffffff .*
+ 820b4 fcffffff .*
+
+Disassembly of section \.text:
+
+0+80094 <_start>:
+ 80094: 41b2 moveq 1,\$r11
+ \.\.\.
+
+0+80098 <do_test>:
+ 80098: 6f0e b020 0800 move\.d 820b0 <_GLOBAL_OFFSET_TABLE_\+0xc>,\$r0
+ 8009e: 2f1e b420 0800 add\.d 820b4 <_GLOBAL_OFFSET_TABLE_\+0x10>,\$r1
diff --git a/ld/testsuite/ld-cris/tls-e-tpiecomm1.s b/ld/testsuite/ld-cris/tls-e-tpiecomm1.s
new file mode 100644
index 0000000000..ca9aedc57b
--- /dev/null
+++ b/ld/testsuite/ld-cris/tls-e-tpiecomm1.s
@@ -0,0 +1,9 @@
+ .tls_common foo,4,4
+ .tls_common bar,4,4
+ .text
+ .align 1
+ .type do_test, @function
+do_test:
+ move.d foo:IE,$r0
+ add.d bar:IE,$r1
+ .size do_test, .-do_test