From 608129cf17e6583f98518eddee4171f7dc251b45 Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Sun, 17 Jun 2012 07:29:55 +0000 Subject: [PATCH] * 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. --- ld/testsuite/ChangeLog | 6 +++ ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d | 46 +++++++++++++++++++ ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.s | 9 ++++ ld/testsuite/ld-cris/tls-e-tpiecomm1.d | 47 ++++++++++++++++++++ ld/testsuite/ld-cris/tls-e-tpiecomm1.s | 9 ++++ 5 files changed, 117 insertions(+) create mode 100644 ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d create mode 100644 ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.s create mode 100644 ld/testsuite/ld-cris/tls-e-tpiecomm1.d create mode 100644 ld/testsuite/ld-cris/tls-e-tpiecomm1.s diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index e42102b3bf7..3c21226873a 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2012-06-17 Hans-Peter Nilsson + + * 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 * 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 00000000000..0a2ee062928 --- /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 : + 1bc: 2f0e 0c00 0000 add\.d c ,\$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 00000000000..a7c7421f337 --- /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 00000000000..2e0f0f0b92e --- /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 : + 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 00000000000..ca9aedc57b0 --- /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 -- 2.30.2