diff options
author | Mike Frysinger <vapier@gentoo.org> | 2015-04-05 03:52:08 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2015-04-05 03:52:08 -0400 |
commit | 024305f7f28b3b322ae26c5c1c2d23ca6f5c11bb (patch) | |
tree | 62d06bca7f9293a96ff6db4a5c8beba1f8d35cf4 /sim/testsuite | |
parent | aad84fa6aec2c3fcfebaa322cfdea7b47365e8fb (diff) | |
download | gdb-024305f7f28b3b322ae26c5c1c2d23ca6f5c11bb.zip gdb-024305f7f28b3b322ae26c5c1c2d23ca6f5c11bb.tar.gz gdb-024305f7f28b3b322ae26c5c1c2d23ca6f5c11bb.tar.bz2 |
sim: mn10300: add a basic testsuite
Diffstat (limited to 'sim/testsuite')
-rw-r--r-- | sim/testsuite/sim/mn10300/ChangeLog | 3 | ||||
-rw-r--r-- | sim/testsuite/sim/mn10300/allinsn.exp | 15 | ||||
-rw-r--r-- | sim/testsuite/sim/mn10300/pass.s | 7 | ||||
-rw-r--r-- | sim/testsuite/sim/mn10300/testutils.inc | 63 |
4 files changed, 88 insertions, 0 deletions
diff --git a/sim/testsuite/sim/mn10300/ChangeLog b/sim/testsuite/sim/mn10300/ChangeLog new file mode 100644 index 0000000..d3f8b9d --- /dev/null +++ b/sim/testsuite/sim/mn10300/ChangeLog @@ -0,0 +1,3 @@ +2015-04-05 Mike Frysinger <vapier@gentoo.org> + + * pass.s, allinsn.exp, testutils.inc: New files. diff --git a/sim/testsuite/sim/mn10300/allinsn.exp b/sim/testsuite/sim/mn10300/allinsn.exp new file mode 100644 index 0000000..f8431e7 --- /dev/null +++ b/sim/testsuite/sim/mn10300/allinsn.exp @@ -0,0 +1,15 @@ +# mn10300 simulator testsuite + +if [istarget mn10300-*] { + # all machines + set all_machs "mn10300" + + foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.s]] { + # If we're only testing specific files and this isn't one of them, + # skip it. + if ![runtest_file_p $runtests $src] { + continue + } + run_sim_test $src $all_machs + } +} diff --git a/sim/testsuite/sim/mn10300/pass.s b/sim/testsuite/sim/mn10300/pass.s new file mode 100644 index 0000000..b48fa4c --- /dev/null +++ b/sim/testsuite/sim/mn10300/pass.s @@ -0,0 +1,7 @@ +# check that the sim doesn't die immediately. +# mach: mn10300 + +.include "testutils.inc" + + start + pass diff --git a/sim/testsuite/sim/mn10300/testutils.inc b/sim/testsuite/sim/mn10300/testutils.inc new file mode 100644 index 0000000..6418817 --- /dev/null +++ b/sim/testsuite/sim/mn10300/testutils.inc @@ -0,0 +1,63 @@ +# MACRO: exit + .macro exit nr + mov \nr, d1; + # Trap function 1: exit(). + mov 1, d0; + syscall; + .endm + +# MACRO: pass +# Write 'pass' to stdout and quit + .macro pass + # Trap function 5: write(). + mov 5, d0; + # Use stdout. + mov 1, d1; + # Point to the string. + mov 1f, a0; + mov a0, (12, sp); + # Number of bytes to write. + mov 5, d3; + mov d3, (16, sp); + # Trigger OS trap. + syscall; + exit 0 + .data + 1: .asciz "pass\n" + .endm + +# MACRO: fail +# Write 'fail' to stdout and quit + .macro fail + # Trap function 5: write(). + mov 5, d0; + # Use stdout. + mov 1, d1; + # Point to the string. + mov 1f, a0; + mov a0, (12, sp); + # Number of bytes to write. + mov 5, d3; + mov d3, (16, sp); + # Trigger OS trap. + syscall; + exit 0 + .data + 1: .asciz "fail\n" + .endm + +# MACRO: start +# All assembler tests should start with a call to "start" + .macro start + .data +.global _stack +_stack: + .rept 8 + .long 0 + .endr + .text +.global _start +_start: + mov _stack, a0; + mov a0, sp; + .endm |