* ld-cris/tls-e-tpiecomm1.d, ld-cris/tls-e-tpiecomm1.s: New test.
authorHans-Peter Nilsson <hp@axis.com>
Sun, 17 Jun 2012 07:29:55 +0000 (07:29 +0000)
committerHans-Peter Nilsson <hp@axis.com>
Sun, 17 Jun 2012 07:29:55 +0000 (07:29 +0000)
* ld-cris/tls-dso-tpoffgotcomm1.d,
ld-cris/tls-dso-tpoffgotcomm1.s: Ditto.

ld/testsuite/ChangeLog
ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d [new file with mode: 0644]
ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.s [new file with mode: 0644]
ld/testsuite/ld-cris/tls-e-tpiecomm1.d [new file with mode: 0644]
ld/testsuite/ld-cris/tls-e-tpiecomm1.s [new file with mode: 0644]

index e42102b..3c21226 100644 (file)
@@ -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 (file)
index 0000000..0a2ee06
--- /dev/null
@@ -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 (file)
index 0000000..a7c7421
--- /dev/null
@@ -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 (file)
index 0000000..2e0f0f0
--- /dev/null
@@ -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 (file)
index 0000000..ca9aedc
--- /dev/null
@@ -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