# Some generic SPARC and SPARC64 tests # FIXME: The tests here aren't really bullet proof. A mistake in the opcode # table can slip through since we use the same table for assembly and # disassembly. The way to fix this is to include a hex dump of the insns # and test that as well. Later. # Find out if these binutils are either sparc64*-*-* or # sparc*-*-* with --enable-targets=sparc64-*-* proc gas_64_check { } { global NM global NMFLAGS global srcdir catch "exec $srcdir/lib/run $NM $NMFLAGS --help" nm_help return [regexp "elf64\[_-\]sparc" $nm_help] } proc sparc_elf_setup { } { setup_xfail "sparc*-*-*aout*" "sparc*-*-sunos4*" "sparc*-*-vxworks*" setup_xfail "sparc*-fujitsu-none" "sparc*-*-*n*bsd*" setup_xfail "sparc*-*-coff" "sparc*-*-lynxos*" clear_xfail "sparc64*-*-*n*bsd*" clear_xfail "sparc*-*-netbsdelf*" } if [istarget sparc*-*-*] { run_dump_test "synth" # The next three tests are ELF only. sparc_elf_setup run_dump_test "unalign" sparc_elf_setup run_dump_test "pcrel" sparc_elf_setup run_dump_test "plt" if [gas_64_check] { run_dump_test "asi" run_dump_test "membar" run_dump_test "prefetch" run_dump_test "set64" run_dump_test "synth64" run_dump_test "rdpr" run_dump_test "wrpr" run_dump_test "reloc64" run_dump_test "pcrel64" run_dump_test "plt64" } } if [istarget sparclet*-*-*] { run_dump_test "splet" run_dump_test "splet-2" }