⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mips.exp

📁 GNU binutils是GNU交叉工具链中的一个源码包
💻 EXP
📖 第 1 页 / 共 2 页
字号:
## And now begin the actual tests!#if { [istarget mips*-*-*] } then {    set no_mips16 0    set elf [expr [istarget *-*-elf*] || [istarget *-*-irix5*] || [istarget *-*-irix6* ] || [istarget *-*-linux*] || [istarget *-*-netbsd*] ]    set ecoff [expr [istarget *-*-ecoff*] || [istarget *-*-ultrix*] || [istarget *-*-irix\[1-4\]*] ]    set aout [expr [istarget *-*-bsd*] || [istarget *-*-openbsd*] ]    set ilocks [istarget mipstx39*-*-*]    set gpr_ilocks [expr [istarget mipstx39*-*-*]]    set addr32 [expr [istarget mipstx39*-*-*] || [istarget mips-*-linux*] || [istarget mipsel-*-linux*]]    set has_newabi [expr [istarget *-*-irix6*] || [istarget mips64*-*-linux*]]    if { [istarget "mips*-*-*linux*"] } then {	set tmips "t"    } else {	set tmips ""    }    if [istarget mips*el-*-*] {	set el "el"    } {	set el ""    }    run_dump_test_arches "abs"		[mips_arch_list_matching mips1]    run_dump_test_arches "add"		[mips_arch_list_matching mips1]    run_dump_test_arches "and"		[mips_arch_list_matching mips1]    run_dump_test "break20"    run_dump_test "trap20"    # LOSE: As of 2002-02-08, "beq" through "bltu" fail for target mips-ecoff.    # See http://sources.redhat.com/ml/binutils/2001-10/msg00418.html for    # more information.  Not sure if the fixes there are correct; should    # branches to external labels be allowed for ECOFF?    # XXX FIXME: the following tests require -mips2 disasm for    # branch-likely instructions.  They should be split.    run_dump_test_arches "beq"		[mips_arch_list_matching mips2]    run_dump_test_arches "bge"		[mips_arch_list_matching mips2]    run_dump_test_arches "bgeu"		[mips_arch_list_matching mips2]    run_dump_test_arches "blt"		[mips_arch_list_matching mips2]    run_dump_test_arches "bltu"		[mips_arch_list_matching mips2]    run_dump_test_arches "branch-misc-1" [mips_arch_list_matching mips1]    run_list_test_arches "branch-misc-2" "-32 -non_shared" [mips_arch_list_matching mips1]    run_list_test_arches "branch-misc-2pic" "-32 -call_shared" [mips_arch_list_matching mips1]    run_dump_test "branch-misc-3"    run_dump_test "branch-swap"    if $ilocks {	run_dump_test "div-ilocks"    } else {	run_dump_test "div"    }    if { !$addr32 } {	run_dump_test_arches "dli"		[mips_arch_list_matching mips3]    }    if $elf {	run_dump_test_arches "elf-jal"	[mips_arch_list_matching mips1]    } else {	run_dump_test "jal"    }    if $elf { run_dump_test "jal-svr4pic" }    if $elf { run_dump_test "jal-xgot" }    run_list_test_arches "jal-range" "-32" [mips_arch_list_matching mips1]    if $has_newabi { run_dump_test "jal-newabi" }    if !$aout { run_dump_test "la" }    if $elf { run_dump_test "la-svr4pic" }    if $elf { run_dump_test "la-xgot" }    if $elf { run_dump_test "lca-svr4pic" }    if $elf { run_dump_test "lca-xgot" }    if !$aout {	# XXX FIXME: Has mips2 and later insns with mips1 disassemblies.	# (Should split and then use appropriate arch lists.)	run_dump_test_arches "lb"	[mips_arch_list_matching !mips2]    }    if $elf {	run_dump_test_arches "lb-svr4pic" [mips_arch_list_matching !gpr_ilocks]	run_dump_test_arches "lb-svr4pic-ilocks" [mips_arch_list_matching gpr_ilocks]    }    if $elf {	# Both versions specify the cpu, so we can run both regardless of	# the interlocking in the configured default cpu.	run_dump_test "lb-xgot"	run_dump_test "lb-xgot-ilocks"    }    if !$aout {        if !$gpr_ilocks {            run_dump_test "ld"        } else {             if !$addr32 {                run_dump_test "ld-ilocks"            } else {                run_dump_test "ld-ilocks-addr32"            }        }    }    if $elf { run_dump_test "ld-svr4pic" }    if $elf { run_dump_test "ld-xgot" }    run_dump_test_arches "li"		[mips_arch_list_matching mips1]    if !$aout { run_dump_test "lifloat" }    if $elf { run_dump_test "lif-svr4pic" }    if $elf { run_dump_test "lif-xgot" }    run_dump_test_arches "mips4"	[mips_arch_list_matching mips4]    run_dump_test_arches "mips5"	[mips_arch_list_matching mips5]    if $ilocks {	run_dump_test "mul-ilocks"    } else {	run_dump_test "mul"    }    run_dump_test_arches "rol"		[mips_arch_list_matching !ror]    run_dump_test_arches "rol-hw" 	[mips_arch_list_matching ror]    run_dump_test_arches "rol64"	[mips_arch_list_matching gpr64 !ror]    run_dump_test_arches "rol64-hw"	[mips_arch_list_matching gpr64 ror]    if !$aout { run_dump_test "sb" }    run_dump_test "trunc"    if !$aout { run_dump_test "ulh" }    run_dump_test_arches "ulh2-eb"	[mips_arch_list_matching mips1]    run_dump_test_arches "ulh2-el"	[mips_arch_list_matching mips1]    if $elf { run_dump_test "ulh-svr4pic" }    if $elf { run_dump_test "ulh-xgot" }    if !$aout {	run_dump_test "ulw"	run_dump_test "uld"	run_dump_test "ush"	run_dump_test "usw"	run_dump_test "usd"    }    run_dump_test_arches "ulw2-eb"	[mips_arch_list_matching !gpr_ilocks]    run_dump_test_arches "ulw2-eb-ilocks" [mips_arch_list_matching gpr_ilocks]    run_dump_test_arches "ulw2-el"	[mips_arch_list_matching !gpr_ilocks]    run_dump_test_arches "ulw2-el-ilocks" [mips_arch_list_matching gpr_ilocks]    run_dump_test_arches "uld2-eb" [mips_arch_list_matching mips3]    run_dump_test_arches "uld2-el" [mips_arch_list_matching mips3]    # The mips16 test can only be run on ELF, because only ELF    # supports the necessary mips16 reloc.    if { $elf && !$no_mips16 } {	run_dump_test "mips16"	run_dump_test "mips16-64"	# Check jalx handling	run_dump_test "mips16-jalx"	run_dump_test "mips-jalx"	# Check MIPS16 HI16/LO16 relocations	run_dump_test "mips16-hilo"	if $has_newabi {	    run_dump_test "mips16-hilo-n32"	}    }    run_list_test "mips-no-jalx" "-32"    run_dump_test "delay"    run_dump_test "nodelay"    run_dump_test "mips4010"    run_dump_test "mips4650"    run_dump_test "mips4100"    run_dump_test "vr4111"    run_dump_test "vr4120"    run_dump_test "vr4120-2"    run_dump_test "vr4130"    run_dump_test "vr5400"    run_dump_test "vr5500"    run_dump_test "rm7000"    run_dump_test "perfcount"    run_dump_test "lineno"    run_dump_test "sync"    run_dump_test_arches "mips32"	[mips_arch_list_matching mips32]    run_dump_test_arches "mips32r2"	[mips_arch_list_matching mips32r2]    run_list_test_arches "mips32r2-ill" "-32" \			 [mips_arch_list_matching mips32r2 gpr32]    run_list_test_arches "mips32r2-ill-fp64" "-mabi=o64" \			 [mips_arch_list_matching mips32r2 gpr64]    run_dump_test_arches "mips64"	[mips_arch_list_matching mips64]    run_dump_test_arches "mips64r2"	[mips_arch_list_matching mips64r2]    run_list_test_arches "mips64r2-ill" "" [mips_arch_list_matching mips64r2]    run_dump_test "set-arch"    if { !$addr32 } {	run_dump_test "mips64-mips3d"	run_dump_test_arches "mips64-mips3d-incl" [mips_arch_list_matching mips3d]	run_dump_test "mips64-mdmx"	run_dump_test "sb1-ext-mdmx"	run_dump_test "sb1-ext-ps"    }    run_dump_test "relax"    run_dump_test "relax-swap1-mips1"    run_dump_test "relax-swap1-mips2"    run_dump_test "relax-swap2"    run_list_test "illegal" "-32"    run_list_test "baddata1" "-32"    # LOSE: As of 2002-02-08, the next 4 tests fail for target mips-ecoff.    # It's unknown whether they _should_ pass as-is, or whether different    # variants are needed for ELF and ECOFF.    run_dump_test "mips-gp32-fp32"    run_dump_test "mips-gp32-fp64"    run_dump_test "mips-gp64-fp32"    run_dump_test "mips-gp64-fp64"    if $elf {	# Make sure that -mcpu=FOO and -mFOO are equivalent.  Assemble a file	# containing 4650-specific instructions with -m4650 and -mcpu=4650,	# and verify that they're the same.  Specifically, we're checking	# that the EF_MIPS_MACH field is set, and that the 4650 'mul'	# instruction does get used.  In previous versions of GAS,	# only -mcpu=4650 would set the EF_MIPS_MACH field; -m4650 wouldn't.	run_dump_test "elf_e_flags1"	run_dump_test "elf_e_flags2"	run_dump_test "elf_e_flags3"	run_dump_test "elf_e_flags4"	# Check EF_MIPS_ARCH markings for each supported architecture.	run_dump_test "elf_arch_mips1"	run_dump_test "elf_arch_mips2"	run_dump_test "elf_arch_mips3"	run_dump_test "elf_arch_mips4"	run_dump_test "elf_arch_mips5"	run_dump_test "elf_arch_mips32"	run_dump_test "elf_arch_mips32r2"	run_dump_test "elf_arch_mips64"	run_dump_test "elf_arch_mips64r2"	# Verify that ASE markings are handled properly.	if { !$no_mips16 } { run_dump_test "elf_ase_mips16" } 	run_dump_test "mips-gp32-fp32-pic" 	run_dump_test "mips-gp32-fp64-pic" 	run_dump_test "mips-gp64-fp32-pic" 	run_dump_test "mips-gp64-fp64-pic"  	run_dump_test "mips-abi32"  	run_dump_test "mips-abi32-pic"  	run_dump_test "mips-abi32-pic2"	run_dump_test "elf${el}-rel"	if {[istarget mips64*-*-*] || [istarget mipsisa32*-*-*]	    || [istarget mipsisa64*-*-*]} { 	    run_dump_test "elf${el}-rel2"	} else {	    run_dump_test "e32${el}-rel2"	}	run_dump_test "elf${el}-rel3"	if {[istarget mips64*-*-*]} {	    run_dump_test "elf-rel4"	} else {	    run_dump_test "e32-rel4"	}	run_dump_test "elf-rel5"	run_dump_test "elf-rel6"	run_dump_test "elf-rel7"	run_dump_test "elf-rel8"	run_dump_test "elf-rel9"	if $has_newabi {	    run_dump_test "elf-rel10"	    run_dump_test "elf-rel11"	}	run_dump_test "elf-rel12"	run_dump_test "elf-rel13"	run_dump_test "elf-rel14"	if $has_newabi {	    run_dump_test "elf-rel15"	    run_dump_test "elf-rel16"	    run_dump_test "elf-rel-got-n32"	    run_dump_test "elf-rel-xgot-n32"	    run_dump_test "elf-rel-got-n64"	    run_dump_test "elf-rel-xgot-n64"	}	run_dump_test "elf-rel17"	if $has_newabi {	    run_dump_test "elf-rel18"	}	run_dump_test "elf-rel19"	run_dump_test "elf-rel20"	if $has_newabi {	    run_dump_test "elf-rel21"	    run_dump_test "elf-rel22"	    run_dump_test "elf-rel23"	    run_dump_test "elf-rel23a"	    run_dump_test "elf-rel23b"	    run_dump_test "elf-rel24"	}	run_dump_test "elf-rel25"	run_dump_test "elf-rel25a"	if { !$no_mips16 } {	    run_dump_test "${tmips}mips${el}16-e"	    run_dump_test "${tmips}mips${el}16-f"	}	run_dump_test "elf-consthilo"	run_dump_test "expr1"	run_list_test "tls-ill" "-32"	run_dump_test "tls-o32"    }    if $has_newabi {	run_dump_test "n32-consec"    }    # tests of objdump's ability to disassemble using different    # register names.    run_dump_test "gpr-names-numeric"    run_dump_test "gpr-names-32"    run_dump_test "gpr-names-n32"    run_dump_test "gpr-names-64"    run_dump_test "fpr-names-numeric"    run_dump_test "fpr-names-32"    run_dump_test "fpr-names-n32"    run_dump_test "fpr-names-64"    run_dump_test "cp0-names-numeric"    run_dump_test "cp0-names-mips32"    run_dump_test "cp0-names-mips32r2"    run_dump_test "cp0-names-mips64"    run_dump_test "cp0-names-mips64r2"    run_dump_test "cp0-names-sb1"    run_dump_test "cp0sel-names-numeric"    run_dump_test "cp0sel-names-mips32"    run_dump_test "cp0sel-names-mips32r2"    run_dump_test "cp0sel-names-mips64"    run_dump_test "cp0sel-names-mips64r2"    run_dump_test "cp0sel-names-sb1"    run_dump_test "hwr-names-numeric"    run_dump_test "hwr-names-mips32r2"    run_dump_test "hwr-names-mips64r2"    run_dump_test "ldstla-32"    run_dump_test "ldstla-32-mips3"    run_dump_test "ldstla-32-shared"    run_dump_test "ldstla-32-mips3-shared"    run_list_test "ldstla-32-1" "-mabi=32" \	"MIPS ld-st-la bad constants (ABI o32)"    run_list_test "ldstla-32-mips3-1" "-mabi=32" \	"MIPS ld-st-la bad constants (ABI o32, mips3)"    run_list_test "ldstla-32-1" "-KPIC -mabi=32" \	"MIPS ld-st-la bad constants (ABI o32, shared)"    run_list_test "ldstla-32-mips3-1" "-KPIC -mabi=32" \	"MIPS ld-st-la bad constants (ABI o32, mips3, shared)"    run_dump_test "ldstla-eabi64"    if $has_newabi {	run_dump_test "ldstla-n64"	run_dump_test "ldstla-n64-shared"	run_dump_test "ldstla-n64-sym32"    }    run_dump_test "macro-warn-1"    run_dump_test "macro-warn-2"    run_dump_test "macro-warn-3"    run_dump_test "macro-warn-4"    if $has_newabi {	run_dump_test "macro-warn-1-n32"	run_dump_test "macro-warn-2-n32"    }    run_dump_test "noat-1"    run_list_test "noat-2" ""    run_list_test "noat-3" ""    run_list_test "noat-4" ""    run_list_test "noat-5" ""    run_list_test "noat-6" ""    run_list_test "noat-7" ""    if { $elf && !$no_mips16 } {	run_dump_test "mips16-dwarf2"	if $has_newabi {	    run_dump_test "mips16-dwarf2-n32"	}    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -