diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/mips-elf.exp | 11 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/mips16-pcrel-0.d | 41 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/mips16-pcrel-1.d | 41 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/mips16-pcrel-addend-2.d | 19 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/mips16-pcrel-addend-6.d | 19 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/mips16-pcrel-n32-0.d | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/mips16-pcrel-n32-1.d | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-0.d | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-1.d | 6 |
10 files changed, 167 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 16133b8..324ab9d 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,15 @@ +2017-05-03 Maciej W. Rozycki <macro@imgtec.com> + + * testsuite/ld-mips-elf/mips16-pcrel-0.d: New test. + * testsuite/ld-mips-elf/mips16-pcrel-1.d: New test. + * testsuite/ld-mips-elf/mips16-pcrel-addend-2.d: New test. + * testsuite/ld-mips-elf/mips16-pcrel-addend-6.d: New test. + * testsuite/ld-mips-elf/mips16-pcrel-n32-0.d: New test. + * testsuite/ld-mips-elf/mips16-pcrel-n32-1.d: New test. + * testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-0.d: New test. + * testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-1.d: New test. + * testsuite/ld-mips-elf/mips-elf.exp: Run the new tests. + 2017-05-03 H.J. Lu <hongjiu.lu@intel.com> * testsuite/ld-elf/pr21384.d: Adjusted to accommodate diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp index 068ea54..13d962b 100644 --- a/ld/testsuite/ld-mips-elf/mips-elf.exp +++ b/ld/testsuite/ld-mips-elf/mips-elf.exp @@ -154,6 +154,17 @@ if $has_newabi { [list [list ld $abi_ldflags(n64)]] } +run_dump_test "mips16-pcrel-0" [list [list ld $abi_ldflags(o32)]] +run_dump_test "mips16-pcrel-1" [list [list ld $abi_ldflags(o32)]] +run_dump_test "mips16-pcrel-addend-2" [list [list ld $abi_ldflags(o32)]] +run_dump_test "mips16-pcrel-addend-6" [list [list ld $abi_ldflags(o32)]] +if $has_newabi { + run_dump_test "mips16-pcrel-n32-0" [list [list ld $abi_ldflags(n32)]] + run_dump_test "mips16-pcrel-n32-1" [list [list ld $abi_ldflags(n32)]] + run_dump_test "mips16-pcrel-n64-sym32-0" [list [list ld $abi_ldflags(n64)]] + run_dump_test "mips16-pcrel-n64-sym32-1" [list [list ld $abi_ldflags(n64)]] +} + run_dump_test "mips16-branch-2" [list [list ld $abi_ldflags(o32)]] run_dump_test "mips16-branch-3" [list [list ld $abi_ldflags(o32)]] run_dump_test "mips16-branch-addend-2" [list [list ld $abi_ldflags(o32)]] diff --git a/ld/testsuite/ld-mips-elf/mips16-pcrel-0.d b/ld/testsuite/ld-mips-elf/mips16-pcrel-0.d new file mode 100644 index 0000000..b1bfab6 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/mips16-pcrel-0.d @@ -0,0 +1,41 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: MIPS16 link PC-relative operations 0 +#source: ../../../gas/testsuite/gas/mips/mips16-pcrel-0.s +#as: -EB -32 +#ld: -EB -Ttext 0 -e 0 + +.*: +file format .*mips.* + +Disassembly of section \.text: + \.\.\. +[0-9a-f]+ <[^>]*> 0a00 la v0,0+010000 <.*> +[0-9a-f]+ <[^>]*> 6500 nop +[0-9a-f]+ <[^>]*> b200 lw v0,0+010004 <.*> +[0-9a-f]+ <[^>]*> 6500 nop +[0-9a-f]+ <[^>]*> 0aff la v0,0+010404 <.*> +[0-9a-f]+ <[^>]*> 6500 nop +[0-9a-f]+ <[^>]*> b2ff lw v0,0+010408 <.*> +[0-9a-f]+ <[^>]*> 6500 nop +[0-9a-f]+ <[^>]*> f400 0a00 la v0,0+010410 <.*> +[0-9a-f]+ <[^>]*> f400 b200 lw v0,0+010414 <.*> +[0-9a-f]+ <[^>]*> f7ff 0a1c la v0,0+010014 <.*> +[0-9a-f]+ <[^>]*> f7ff b21c lw v0,0+010018 <.*> +[0-9a-f]+ <[^>]*> f7ef 0a1f la v0,0+01801f <.*> +[0-9a-f]+ <[^>]*> f7ef b21f lw v0,0+018023 <.*> +[0-9a-f]+ <[^>]*> f010 0a00 la v0,0+008028 <.*> +[0-9a-f]+ <[^>]*> f010 b200 lw v0,0+00802c <.*> +[0-9a-f]+ <[^>]*> f000 6a02 li v0,2 +[0-9a-f]+ <[^>]*> f400 3240 sll v0,16 +[0-9a-f]+ <[^>]*> f030 4a10 addiu v0,-32720 +[0-9a-f]+ <[^>]*> f000 6a02 li v0,2 +[0-9a-f]+ <[^>]*> f400 3240 sll v0,16 +[0-9a-f]+ <[^>]*> f030 9a5c lw v0,-32708\(v0\) +[0-9a-f]+ <[^>]*> f000 6a01 li v0,1 +[0-9a-f]+ <[^>]*> f400 3240 sll v0,16 +[0-9a-f]+ <[^>]*> f050 4a07 addiu v0,-32697 +[0-9a-f]+ <[^>]*> f000 6a01 li v0,1 +[0-9a-f]+ <[^>]*> f400 3240 sll v0,16 +[0-9a-f]+ <[^>]*> f050 9a53 lw v0,-32685\(v0\) +[0-9a-f]+ <[^>]*> 6500 nop + \.\.\. + \.\.\. diff --git a/ld/testsuite/ld-mips-elf/mips16-pcrel-1.d b/ld/testsuite/ld-mips-elf/mips16-pcrel-1.d new file mode 100644 index 0000000..0fe3a2b --- /dev/null +++ b/ld/testsuite/ld-mips-elf/mips16-pcrel-1.d @@ -0,0 +1,41 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: MIPS16 link PC-relative operations 1 +#source: ../../../gas/testsuite/gas/mips/mips16-pcrel-1.s +#as: -EB -32 -mips3 +#ld: -EB -Ttext 0 -e 0 + +.*: +file format .*mips.* + +Disassembly of section \.text: + \.\.\. +[0-9a-f]+ <[^>]*> fe40 dla v0,0+010000 <.*> +[0-9a-f]+ <[^>]*> 6500 nop +[0-9a-f]+ <[^>]*> fc40 ld v0,0+010000 <.*> +[0-9a-f]+ <[^>]*> 6500 nop +[0-9a-f]+ <[^>]*> fe5f dla v0,0+010084 <.*> +[0-9a-f]+ <[^>]*> 6500 nop +[0-9a-f]+ <[^>]*> fc5f ld v0,0+010100 <.*> +[0-9a-f]+ <[^>]*> 6500 nop +[0-9a-f]+ <[^>]*> f080 fe40 dla v0,0+010090 <.*> +[0-9a-f]+ <[^>]*> f100 fc40 ld v0,0+010110 <.*> +[0-9a-f]+ <[^>]*> f7ff fe5c dla v0,0+010014 <.*> +[0-9a-f]+ <[^>]*> f7ff fc5c ld v0,0+010014 <.*> +[0-9a-f]+ <[^>]*> f7ef fe5f dla v0,0+01801f <.*> +[0-9a-f]+ <[^>]*> f7ef fc5f ld v0,0+01801f <.*> +[0-9a-f]+ <[^>]*> f010 fe40 dla v0,0+008028 <.*> +[0-9a-f]+ <[^>]*> f010 fc40 ld v0,0+008028 <.*> +[0-9a-f]+ <[^>]*> f000 6a02 li v0,2 +[0-9a-f]+ <[^>]*> f400 3240 sll v0,16 +[0-9a-f]+ <[^>]*> f030 fd50 daddiu v0,-32720 +[0-9a-f]+ <[^>]*> f000 6a02 li v0,2 +[0-9a-f]+ <[^>]*> f400 3240 sll v0,16 +[0-9a-f]+ <[^>]*> f030 3a58 ld v0,-32712\(v0\) +[0-9a-f]+ <[^>]*> f000 6a01 li v0,1 +[0-9a-f]+ <[^>]*> f400 3240 sll v0,16 +[0-9a-f]+ <[^>]*> f050 fd47 daddiu v0,-32697 +[0-9a-f]+ <[^>]*> f000 6a01 li v0,1 +[0-9a-f]+ <[^>]*> f400 3240 sll v0,16 +[0-9a-f]+ <[^>]*> f050 3a4f ld v0,-32689\(v0\) +[0-9a-f]+ <[^>]*> 6500 nop + \.\.\. + \.\.\. diff --git a/ld/testsuite/ld-mips-elf/mips16-pcrel-addend-2.d b/ld/testsuite/ld-mips-elf/mips16-pcrel-addend-2.d new file mode 100644 index 0000000..d04d035 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/mips16-pcrel-addend-2.d @@ -0,0 +1,19 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: MIPS16 link PC-relative relocation with addend 2 +#source: ../../../gas/testsuite/gas/mips/mips16-pcrel-addend-2.s +#as: -EB -32 +#ld: -EB -Ttext 0x43210000 -e 0 + +.*: +file format .*mips.* + +Disassembly of section \.text: + \.\.\. +[0-9a-f]+ <[^>]*> f328 6a01 li v0,17185 +[0-9a-f]+ <[^>]*> f400 3240 sll v0,16 +[0-9a-f]+ <[^>]*> f264 4a04 addiu v0,8804 +[0-9a-f]+ <[^>]*> f328 6a01 li v0,17185 +[0-9a-f]+ <[^>]*> f400 3240 sll v0,16 +[0-9a-f]+ <[^>]*> f264 9a44 lw v0,8804\(v0\) +[0-9a-f]+ <[^>]*> 6500 nop + \.\.\. + \.\.\. diff --git a/ld/testsuite/ld-mips-elf/mips16-pcrel-addend-6.d b/ld/testsuite/ld-mips-elf/mips16-pcrel-addend-6.d new file mode 100644 index 0000000..134f107 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/mips16-pcrel-addend-6.d @@ -0,0 +1,19 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: MIPS16 link PC-relative relocation with addend 6 +#source: ../../../gas/testsuite/gas/mips/mips16-pcrel-addend-6.s +#as: -EB -32 -mips3 +#ld: -EB -Ttext 0x43210000 -e 0 + +.*: +file format .*mips.* + +Disassembly of section \.text: + \.\.\. +[0-9a-f]+ <[^>]*> f328 6a01 li v0,17185 +[0-9a-f]+ <[^>]*> f400 3240 sll v0,16 +[0-9a-f]+ <[^>]*> f264 fd44 daddiu v0,8804 +[0-9a-f]+ <[^>]*> f328 6a01 li v0,17185 +[0-9a-f]+ <[^>]*> f400 3240 sll v0,16 +[0-9a-f]+ <[^>]*> f264 3a44 ld v0,8804\(v0\) +[0-9a-f]+ <[^>]*> 6500 nop + \.\.\. + \.\.\. diff --git a/ld/testsuite/ld-mips-elf/mips16-pcrel-n32-0.d b/ld/testsuite/ld-mips-elf/mips16-pcrel-n32-0.d new file mode 100644 index 0000000..70102a1 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/mips16-pcrel-n32-0.d @@ -0,0 +1,6 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: MIPS16 link PC-relative operations 0 (n32) +#source: ../../../gas/testsuite/gas/mips/mips16-pcrel-0.s +#as: -EB -n32 -mips3 +#ld: -EB -Ttext 0 -e 0 +#dump: mips16-pcrel-0.d diff --git a/ld/testsuite/ld-mips-elf/mips16-pcrel-n32-1.d b/ld/testsuite/ld-mips-elf/mips16-pcrel-n32-1.d new file mode 100644 index 0000000..f456fda --- /dev/null +++ b/ld/testsuite/ld-mips-elf/mips16-pcrel-n32-1.d @@ -0,0 +1,6 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: MIPS16 link PC-relative operations 1 (n32) +#source: ../../../gas/testsuite/gas/mips/mips16-pcrel-1.s +#as: -EB -n32 -mips3 +#ld: -EB -Ttext 0 -e 0 +#dump: mips16-pcrel-1.d diff --git a/ld/testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-0.d b/ld/testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-0.d new file mode 100644 index 0000000..aad6877 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-0.d @@ -0,0 +1,6 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: MIPS16 link PC-relative operations 0 (n64, sym32) +#source: ../../../gas/testsuite/gas/mips/mips16-pcrel-0.s +#as: -EB -64 -msym32 -mips3 +#ld: -EB -Ttext 0 -e 0 +#dump: mips16-pcrel-0.d diff --git a/ld/testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-1.d b/ld/testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-1.d new file mode 100644 index 0000000..9a1a5de --- /dev/null +++ b/ld/testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-1.d @@ -0,0 +1,6 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: MIPS16 link PC-relative operations 1 (n64, sym32) +#source: ../../../gas/testsuite/gas/mips/mips16-pcrel-1.s +#as: -EB -64 -msym32 -mips3 +#ld: -EB -Ttext 0 -e 0 +#dump: mips16-pcrel-1.d |