mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-24 12:35:55 +08:00
3abf975826
The binutils testsuite supports involving LD in processing test cases and with the MIPS target that has the same issues the LD testsuite does. So to support LD in the MIPS part of the binutils testsuite similarly to commit86b24e15c4
("MIPS/LD/testsuite: Correct comm-data.exp test ABI/emul/endian arrangement") update the mips.exp test script to: - correctly select emulations for targets using non-traditional MIPS emulations, - correctly select ABIs for targets that do not support all of them, - use the default endianness selection where possible to benefit targets that support only one, - simplify test invocation by providing ABI-specific `run_dump_test' wrappers, specifically `run_dump_test_o32', `run_dump_test_n32' and `run_dump_test_n64', which remove the need to use conditionals across the Expect script or to repeat ABI-specific GAS and LD flags with each invocation, borrowing changes from commit78da84f994
("MIPS/LD/testsuite: Correct mips-elf.exp test ABI/emul/endian arrangement"). As a side effect this disables o32 ABI testing for targets that are not supposed to support them and do not with LD, but still have such support with BFD and GAS due to our inflexibility in configuration. Ultimately we ought to support having o32 completely disabled. binutils/ * testsuite/binutils-all/mips/mips.exp (run_dump_test_abi) (run_dump_test_o32, run_dump_test_n32, run_dump_test_n64): New procedures. (has_newabi): Remove variable. (has_abi, abi_asflags, abi_ldflags): New associative array variables. (irixemul): New variable. Replace `run_dump_test' calls where applicable throughout with `run_dump_test_o32', `run_dump_test_n32' and `run_dump_test_n64' as appropriate. Use `noarch' for tests that require their own architecture setting. * testsuite/binutils-all/mips/mips-ase-1.d: Remove GAS flags. * testsuite/binutils-all/mips/mips-ase-2.d: Likewise. * testsuite/binutils-all/mips/mips-ase-3.d: Likewise. * testsuite/binutils-all/mips/mips-note-2-n32.d: Likewise. * testsuite/binutils-all/mips/mips-note-2-n64.d: Likewise. * testsuite/binutils-all/mips/mips-note-2.d: Likewise. * testsuite/binutils-all/mips/mips-note-2r-n32.d: Likewise. * testsuite/binutils-all/mips/mips-note-2r-n64.d: Likewise. * testsuite/binutils-all/mips/mips-note-2r.d: Likewise. * testsuite/binutils-all/mips/mips-reginfo-n32.d: Likewise. * testsuite/binutils-all/mips/mips-reginfo.d: Likewise. * testsuite/binutils-all/mips/mips16-extend-noinsn.d: Likewise. * testsuite/binutils-all/mips/mips16-pcrel.d: Likewise. * testsuite/binutils-all/mips/mips16-alias.d: Remove `-32' from GAS flags. * testsuite/binutils-all/mips/mips16-extend-insn.d: Likewise. * testsuite/binutils-all/mips/mips16-noalias.d: Likewise. * testsuite/binutils-all/mips/mips16-undecoded.d: Likewise. * testsuite/binutils-all/mips/mips16e2-extend-insn.d: Likewise. * testsuite/binutils-all/mips/mips16e2-undecoded.d: Likewise. * testsuite/binutils-all/mips/mixed-micromips.d: Likewise. * testsuite/binutils-all/mips/mixed-mips16.d: Likewise.
200 lines
7.2 KiB
Makefile
200 lines
7.2 KiB
Makefile
#PROG: objcopy
|
|
#objdump: -d --prefix-addresses --show-raw-insn
|
|
#name: MIPS16 PC-relative instruction disassembly
|
|
|
|
# Verify delay-slot adjustment for PC-relative operations.
|
|
|
|
.*: +file format .*mips.*
|
|
|
|
Disassembly of section \.text:
|
|
00000000 <[^>]*> 6500 nop
|
|
00000002 <[^>]*> 6500 nop
|
|
00000004 <[^>]*> 0aff la v0,00000400 <foo0\+0x400>
|
|
00000006 <[^>]*> 6500 nop
|
|
00000008 <[^>]*> 6500 nop
|
|
0000000a <[^>]*> 6500 nop
|
|
0000000c <[^>]*> b3ff lw v1,00000408 <foo0\+0x408>
|
|
0000000e <[^>]*> 6500 nop
|
|
00000010 <[^>]*> 6500 nop
|
|
00000012 <[^>]*> 6500 nop
|
|
00000014 <[^>]*> fe9f dla a0,00000090 <foo0\+0x90>
|
|
00000016 <[^>]*> 6500 nop
|
|
00000018 <[^>]*> 6500 nop
|
|
0000001a <[^>]*> 6500 nop
|
|
0000001c <[^>]*> 6500 nop
|
|
0000001e <[^>]*> 6500 nop
|
|
00000020 <[^>]*> fcbf ld a1,00000118 <foo0\+0x118>
|
|
\.\.\.
|
|
00001000 <[^>]*> 1800 0000 jal 00000000 <foo0>
|
|
00001004 <[^>]*> 0aff la v0,000013fc <foo1\+0x3fc>
|
|
00001006 <[^>]*> 6500 nop
|
|
00001008 <[^>]*> 1800 0000 jal 00000000 <foo0>
|
|
0000100c <[^>]*> b3ff lw v1,00001404 <foo1\+0x404>
|
|
0000100e <[^>]*> 6500 nop
|
|
00001010 <[^>]*> 1800 0000 jal 00000000 <foo0>
|
|
00001014 <[^>]*> fe9f dla a0,0000108c <foo1\+0x8c>
|
|
00001016 <[^>]*> 6500 nop
|
|
00001018 <[^>]*> 6500 nop
|
|
0000101a <[^>]*> 6500 nop
|
|
0000101c <[^>]*> 1800 0000 jal 00000000 <foo0>
|
|
00001020 <[^>]*> fcbf ld a1,00001110 <foo1\+0x110>
|
|
\.\.\.
|
|
00002000 <[^>]*> 1c00 0000 jalx 00000000 <foo0>
|
|
00002004 <[^>]*> 0aff la v0,000023fc <foo2\+0x3fc>
|
|
00002006 <[^>]*> 6500 nop
|
|
00002008 <[^>]*> 1c00 0000 jalx 00000000 <foo0>
|
|
0000200c <[^>]*> b3ff lw v1,00002404 <foo2\+0x404>
|
|
0000200e <[^>]*> 6500 nop
|
|
00002010 <[^>]*> 1c00 0000 jalx 00000000 <foo0>
|
|
00002014 <[^>]*> fe9f dla a0,0000208c <foo2\+0x8c>
|
|
00002016 <[^>]*> 6500 nop
|
|
00002018 <[^>]*> 6500 nop
|
|
0000201a <[^>]*> 6500 nop
|
|
0000201c <[^>]*> 1c00 0000 jalx 00000000 <foo0>
|
|
00002020 <[^>]*> fcbf ld a1,00002110 <foo2\+0x110>
|
|
\.\.\.
|
|
00003000 <[^>]*> 6500 nop
|
|
00003002 <[^>]*> e800 jr s0
|
|
00003004 <[^>]*> 0aff la v0,000033fc <foo3\+0x3fc>
|
|
00003006 <[^>]*> 6500 nop
|
|
00003008 <[^>]*> 6500 nop
|
|
0000300a <[^>]*> e800 jr s0
|
|
0000300c <[^>]*> b3ff lw v1,00003404 <foo3\+0x404>
|
|
0000300e <[^>]*> 6500 nop
|
|
00003010 <[^>]*> 6500 nop
|
|
00003012 <[^>]*> e800 jr s0
|
|
00003014 <[^>]*> fe9f dla a0,0000308c <foo3\+0x8c>
|
|
00003016 <[^>]*> 6500 nop
|
|
00003018 <[^>]*> 6500 nop
|
|
0000301a <[^>]*> 6500 nop
|
|
0000301c <[^>]*> 6500 nop
|
|
0000301e <[^>]*> e800 jr s0
|
|
00003020 <[^>]*> fcbf ld a1,00003110 <foo3\+0x110>
|
|
\.\.\.
|
|
00004000 <[^>]*> 6500 nop
|
|
00004002 <[^>]*> e820 jr ra
|
|
00004004 <[^>]*> 0aff la v0,000043fc <foo4\+0x3fc>
|
|
00004006 <[^>]*> 6500 nop
|
|
00004008 <[^>]*> 6500 nop
|
|
0000400a <[^>]*> e820 jr ra
|
|
0000400c <[^>]*> b3ff lw v1,00004404 <foo4\+0x404>
|
|
0000400e <[^>]*> 6500 nop
|
|
00004010 <[^>]*> 6500 nop
|
|
00004012 <[^>]*> e820 jr ra
|
|
00004014 <[^>]*> fe9f dla a0,0000408c <foo4\+0x8c>
|
|
00004016 <[^>]*> 6500 nop
|
|
00004018 <[^>]*> 6500 nop
|
|
0000401a <[^>]*> 6500 nop
|
|
0000401c <[^>]*> 6500 nop
|
|
0000401e <[^>]*> e820 jr ra
|
|
00004020 <[^>]*> fcbf ld a1,00004110 <foo4\+0x110>
|
|
\.\.\.
|
|
00005000 <[^>]*> 6500 nop
|
|
00005002 <[^>]*> e840 jalr s0
|
|
00005004 <[^>]*> 0aff la v0,000053fc <foo5\+0x3fc>
|
|
00005006 <[^>]*> 6500 nop
|
|
00005008 <[^>]*> 6500 nop
|
|
0000500a <[^>]*> e840 jalr s0
|
|
0000500c <[^>]*> b3ff lw v1,00005404 <foo5\+0x404>
|
|
0000500e <[^>]*> 6500 nop
|
|
00005010 <[^>]*> 6500 nop
|
|
00005012 <[^>]*> e840 jalr s0
|
|
00005014 <[^>]*> fe9f dla a0,0000508c <foo5\+0x8c>
|
|
00005016 <[^>]*> 6500 nop
|
|
00005018 <[^>]*> 6500 nop
|
|
0000501a <[^>]*> 6500 nop
|
|
0000501c <[^>]*> 6500 nop
|
|
0000501e <[^>]*> e840 jalr s0
|
|
00005020 <[^>]*> fcbf ld a1,00005110 <foo5\+0x110>
|
|
\.\.\.
|
|
00006000 <[^>]*> 6500 nop
|
|
00006002 <[^>]*> e860 0xe860
|
|
00006004 <[^>]*> 0aff la v0,00006400 <foo6\+0x400>
|
|
00006006 <[^>]*> 6500 nop
|
|
00006008 <[^>]*> 6500 nop
|
|
0000600a <[^>]*> e860 0xe860
|
|
0000600c <[^>]*> b3ff lw v1,00006408 <foo6\+0x408>
|
|
0000600e <[^>]*> 6500 nop
|
|
00006010 <[^>]*> 6500 nop
|
|
00006012 <[^>]*> e860 0xe860
|
|
00006014 <[^>]*> fe9f dla a0,00006090 <foo6\+0x90>
|
|
00006016 <[^>]*> 6500 nop
|
|
00006018 <[^>]*> 6500 nop
|
|
0000601a <[^>]*> 6500 nop
|
|
0000601c <[^>]*> 6500 nop
|
|
0000601e <[^>]*> e860 0xe860
|
|
00006020 <[^>]*> fcbf ld a1,00006118 <foo6\+0x118>
|
|
\.\.\.
|
|
00007000 <[^>]*> 6500 nop
|
|
00007002 <[^>]*> e880 jrc s0
|
|
00007004 <[^>]*> 0aff la v0,00007400 <foo7\+0x400>
|
|
00007006 <[^>]*> 6500 nop
|
|
00007008 <[^>]*> 6500 nop
|
|
0000700a <[^>]*> e880 jrc s0
|
|
0000700c <[^>]*> b3ff lw v1,00007408 <foo7\+0x408>
|
|
0000700e <[^>]*> 6500 nop
|
|
00007010 <[^>]*> 6500 nop
|
|
00007012 <[^>]*> e880 jrc s0
|
|
00007014 <[^>]*> fe9f dla a0,00007090 <foo7\+0x90>
|
|
00007016 <[^>]*> 6500 nop
|
|
00007018 <[^>]*> 6500 nop
|
|
0000701a <[^>]*> 6500 nop
|
|
0000701c <[^>]*> 6500 nop
|
|
0000701e <[^>]*> e880 jrc s0
|
|
00007020 <[^>]*> fcbf ld a1,00007118 <foo7\+0x118>
|
|
\.\.\.
|
|
00008000 <[^>]*> 6500 nop
|
|
00008002 <[^>]*> e8a0 jrc ra
|
|
00008004 <[^>]*> 0aff la v0,00008400 <foo8\+0x400>
|
|
00008006 <[^>]*> 6500 nop
|
|
00008008 <[^>]*> 6500 nop
|
|
0000800a <[^>]*> e8a0 jrc ra
|
|
0000800c <[^>]*> b3ff lw v1,00008408 <foo8\+0x408>
|
|
0000800e <[^>]*> 6500 nop
|
|
00008010 <[^>]*> 6500 nop
|
|
00008012 <[^>]*> e8a0 jrc ra
|
|
00008014 <[^>]*> fe9f dla a0,00008090 <foo8\+0x90>
|
|
00008016 <[^>]*> 6500 nop
|
|
00008018 <[^>]*> 6500 nop
|
|
0000801a <[^>]*> 6500 nop
|
|
0000801c <[^>]*> 6500 nop
|
|
0000801e <[^>]*> e8a0 jrc ra
|
|
00008020 <[^>]*> fcbf ld a1,00008118 <foo8\+0x118>
|
|
\.\.\.
|
|
00009000 <[^>]*> 6500 nop
|
|
00009002 <[^>]*> e8c0 jalrc s0
|
|
00009004 <[^>]*> 0aff la v0,00009400 <foo9\+0x400>
|
|
00009006 <[^>]*> 6500 nop
|
|
00009008 <[^>]*> 6500 nop
|
|
0000900a <[^>]*> e8c0 jalrc s0
|
|
0000900c <[^>]*> b3ff lw v1,00009408 <foo9\+0x408>
|
|
0000900e <[^>]*> 6500 nop
|
|
00009010 <[^>]*> 6500 nop
|
|
00009012 <[^>]*> e8c0 jalrc s0
|
|
00009014 <[^>]*> fe9f dla a0,00009090 <foo9\+0x90>
|
|
00009016 <[^>]*> 6500 nop
|
|
00009018 <[^>]*> 6500 nop
|
|
0000901a <[^>]*> 6500 nop
|
|
0000901c <[^>]*> 6500 nop
|
|
0000901e <[^>]*> e8c0 jalrc s0
|
|
00009020 <[^>]*> fcbf ld a1,00009118 <foo9\+0x118>
|
|
\.\.\.
|
|
0000a000 <[^>]*> 6500 nop
|
|
0000a002 <[^>]*> e960 0xe960
|
|
0000a004 <[^>]*> 0aff la v0,0000a400 <fooa\+0x400>
|
|
0000a006 <[^>]*> 6500 nop
|
|
0000a008 <[^>]*> 6500 nop
|
|
0000a00a <[^>]*> e960 0xe960
|
|
0000a00c <[^>]*> b3ff lw v1,0000a408 <fooa\+0x408>
|
|
0000a00e <[^>]*> 6500 nop
|
|
0000a010 <[^>]*> 6500 nop
|
|
0000a012 <[^>]*> e960 0xe960
|
|
0000a014 <[^>]*> fe9f dla a0,0000a090 <fooa\+0x90>
|
|
0000a016 <[^>]*> 6500 nop
|
|
0000a018 <[^>]*> 6500 nop
|
|
0000a01a <[^>]*> 6500 nop
|
|
0000a01c <[^>]*> 6500 nop
|
|
0000a01e <[^>]*> e960 0xe960
|
|
0000a020 <[^>]*> fcbf ld a1,0000a118 <fooa\+0x118>
|
|
\.\.\.
|