# AArch64 simulator testsuite
+sim_init
+
if [istarget aarch64*-*] {
# all machines
set all_machs "aarch64"
# ARM simulator testsuite.
+sim_init
+
if { [istarget arm*-*-*] } {
# all machines
set all_machs "xscale"
# Intel(r) Wireless MMX(tm) technology simulator testsuite.
+sim_init
+
if { [istarget arm*-*-*] } {
# all machines
set all_machs "xscale"
# Miscellaneous ARM simulator testcases
+sim_init
+
if { [istarget arm*-*-*] } {
# all machines
set all_machs "arm7tdmi"
# ARM simulator testsuite.
+sim_init
+
if { [istarget arm*-*-*] } {
# all machines
set all_machs "arm7tdmi"
# XSCALE simulator testsuite.
+sim_init
+
if { [istarget arm*-*-*] } {
# all machines
set all_machs "xscale"
# avr simulator testsuite
+sim_init
+
if [istarget avr-*] {
# all machines
set all_machs "avr"
# Analog Devices Blackfin simulator testsuite
+sim_init
+
if [istarget bfin-*-elf] {
# all machines
set all_machs "bfin"
# eBPF simulator testsuite
+sim_init
+
if [istarget bpf-unknown-none] {
# all machines
set all_machs "bpf"
# Simulator default dejagnu configuration file.
load_lib sim-defs.exp
-
-sim_init
# CR16 simulator testsuite.
+sim_init
+
if [istarget cr16*-*-*] {
# all machines
set all_machs "cr16"
# Miscellaneous CR16 simulator testcases
+sim_init
+
if [istarget cr16*-*-*] {
# all machines
set all_machs "cr16"
# Miscellaneous CRIS simulator testcases in assembly code.
+sim_init
+
if [istarget cris*-*-*] {
global ASFLAGS_FOR_TARGET
# All machines we test and the corresponding assembler option. Needs
# Miscellaneous CRIS simulator testcases testing syscall sequences.
+sim_init
+
if ![istarget cris*-*-*] {
return
}
return 0
}
+global sim_path
foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.c]] {
set orig_ldflags ""
continue
}
- if ![file exists [sim_tool_path]] {
+ if ![file exists $sim_path] {
untested $testname
return 0
}
# Miscellaneous CRIS simulator testcases in assembly code, testing
# dv-rv.c and dv-cris.c functions.
+sim_init
+
# Check whether dv-rv and dv-cris are present.
proc sim_has_rv_and_cris {} {
global srcdir
global subdir
global objdir
+ global sim_path
global SIMFLAGS_FOR_TARGET
- if ![file exists [sim_tool_path]] {
+ if ![file exists $sim_path] {
return 0
}
# d10v simulator testsuite.
+sim_init
+
if [istarget d10v*-*] {
# all machines
set all_machs "d10v"
# Example synacor simulator testsuite.
+sim_init
+
if [istarget *] {
# All machines.
set all_machs "example"
# FRV simulator testsuite.
+sim_init
+
if [istarget frv*-*] {
# all machines
set all_machs "frv fr500 fr550 fr400 fr405 fr450"
# FRV simulator testsuite.
+sim_init
+
if [istarget frv*-*] {
# all machines
set all_machs "fr400 fr405 fr450 fr550"
# FRV simulator testsuite.
+sim_init
+
if [istarget frv*-*] {
# all machines
set all_machs "frv fr500 fr550"
# FRV simulator testsuite.
+sim_init
+
if [istarget frv*-*] {
# all machines
set all_machs "fr550"
# FRV simulator testsuite.
+sim_init
+
if [istarget frv*-*] {
# all machines
set all_machs "frv fr500 fr550 fr400"
# Miscellaneous FRV simulator testcases.
+sim_init
+
if [istarget frv*-*] {
# all machines
set all_machs "frv fr500 fr550 fr400 fr405 fr450"
# FRV simulator testsuite.
+sim_init
+
if [istarget frv*-*] {
# all machines
set all_machs "frv fr500 fr550 fr400"
# ft32 simulator testsuite
+sim_init
+
if [istarget ft32-*] {
# all machines
set all_machs "ft32"
# Hitachi H8/300 (h, s, sx) simulator testsuite
+sim_init
+
if {[istarget h8300*-*-*] || [istarget h8sx*-*-*]} then {
set all_machs "h8300 h8300h h8300s h8sx"
# iq2000 simulator testsuite
+sim_init
+
if [istarget iq2000-*] {
# all machines
set all_machs "iq2000"
set sim_path "unknown-run"
# Initialize the testrun.
-# Required by dejagnu.
+#
+# Normally dejagnu will execute ${tool}_init automatically, but since we set
+# --tool '' (for a simpler testsuite/ layout), we have each test call this
+# itself.
proc sim_init { args } {
+ global builddir
+ global subdir
global sim_path
- set sim_path [board_info target sim]
- # Need to return an empty string (copied from GAS).
+
+ # Find the path to the simulator for executing.
+ set arch "$subdir"
+ while { [file dirname $arch] != "." } {
+ set arch [file dirname $arch]
+ }
+ set sim_path "$builddir/$arch/run"
# As gross as it is, we unset the linker script specified by the target
# board. The simulator board file mips-sim.exp, sets ldscript to the
# all simulators.
unset_currtarget_info ldscript
+ # Need to return an empty string. This tells dejagnu to *not* re-run us
+ # with the exact test that we're about to run.
return ""
}
clone_output "$sim_path $version\n"
}
-# Find the path to the simulator for executing.
-proc sim_tool_path {} {
- global sim_path
- set sim "$sim_path"
- if [string equal "" $sim] {
- global builddir
- global subdir
- set arch "$subdir"
- while { [file dirname $arch] != "." } {
- set arch [file dirname $arch]
- }
- return "$builddir/$arch/run"
- }
- return "$sim"
-}
-
# Run a program on the simulator.
# Required by dejagnu (at least ${tool}_run used to be).
#
# simulator (not the simulated program, the simulator) with sim_load.
proc sim_run { prog sim_opts prog_opts redir options } {
+ global sim_path
+
# Set the default value of the timeout.
# FIXME: The timeout value we actually want is a function of
# host, target, and testcase.
verbose "testcase timeout is set to $testcase_timeout" 1
- set sim [sim_tool_path]
+ set sim $sim_path
if [is_remote host] {
set prog [remote_download host $prog]
proc run_sim_test { name requested_machs } {
global subdir srcdir objdir
+ global sim_path
global opts
global cpu_option
global cpu_option_sep
global SIMFLAGS_FOR_TARGET
- if ![file exists [sim_tool_path]] {
- unsupported "$name: missing simulator [sim_tool_path]"
+ if ![file exists $sim_path] {
+ unsupported "$name: missing simulator $sim_path"
return
}
# lm32 simulator testsuite
+sim_init
+
if [istarget lm32-*] {
# all machines
set all_machs "lm32"
# M32C simulator testsuite.
# TODO: Add support for .c tests.
+sim_init
+
if [istarget m32c*-*-*] {
# all machines
set all_machs "m32c"
# M32R simulator testsuite.
+sim_init
+
if [istarget m32r*-*-*] {
# all machines
set all_machs "m32r"
# Miscellaneous M32R simulator testcases
+sim_init
+
if [istarget m32r*-*-*] {
# all machines
set all_machs "m32r"
# m68hc11 simulator testsuite
+sim_init
+
if [istarget m68hc11-*] {
# all machines
set all_machs "m68hc11"
# mcore simulator testsuite
+sim_init
+
if [istarget mcore-*] {
# all machines
set all_machs "mcore"
# microblaze simulator testsuite
+sim_init
+
if [istarget microblaze-*] {
# all machines
set all_machs "microblaze"
# MIPS simulator instruction tests
+sim_init
+
# Do "run_sim_test TESTFILE MODELS" for each combination of the
# mf{lo,hi} -> mult/div/mt{lo,hi} hazard described in mips.igen.
# Insert NOPS nops after the mflo or mfhi.
# mn10300 simulator testsuite
+sim_init
+
if [istarget mn10300-*] {
# all machines
set all_machs "mn10300"
# moxie simulator testsuite
+sim_init
+
if [istarget moxie-*] {
# all machines
set all_machs "moxie"
# msp430 simulator testsuite
+sim_init
+
if [istarget msp430-*] {
# all machines
set all_machs "msp430"
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+sim_init
+
if [istarget or1k*-*-*] {
set all_machs "or1k"
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+sim_init
+
if [istarget pru-*] {
# all machines
set all_machs "pru"
# RISC-V simulator testsuite.
+sim_init
+
if [istarget riscv*-*] {
# all machines
set all_machs "riscv"
# sh tests
+sim_init
+
set all_machs "sh shdsp"
global ASFLAGS_FOR_TARGET
# v850 simulator testsuite.
+sim_init
+
if [istarget v850*-*] {
# All machines.
# Should add more cpus if the testsuite adds coverage for their insns, but