aboutsummaryrefslogtreecommitdiff
path: root/sim
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-04-05 03:17:44 -0400
committerMike Frysinger <vapier@gentoo.org>2015-04-05 03:17:44 -0400
commitaad84fa6aec2c3fcfebaa322cfdea7b47365e8fb (patch)
tree2d73b686791022085981e762d1a8feab041b041b /sim
parenteed64ce67576be638408a051e6df1057612a7f8e (diff)
downloadfsf-binutils-gdb-aad84fa6aec2c3fcfebaa322cfdea7b47365e8fb.zip
fsf-binutils-gdb-aad84fa6aec2c3fcfebaa322cfdea7b47365e8fb.tar.gz
fsf-binutils-gdb-aad84fa6aec2c3fcfebaa322cfdea7b47365e8fb.tar.bz2
sim: m68hc11: add a basic testsuite
Diffstat (limited to 'sim')
-rw-r--r--sim/testsuite/sim/m68hc11/ChangeLog3
-rw-r--r--sim/testsuite/sim/m68hc11/allinsn.exp15
-rw-r--r--sim/testsuite/sim/m68hc11/pass.s7
-rw-r--r--sim/testsuite/sim/m68hc11/testutils.inc53
4 files changed, 78 insertions, 0 deletions
diff --git a/sim/testsuite/sim/m68hc11/ChangeLog b/sim/testsuite/sim/m68hc11/ChangeLog
new file mode 100644
index 0000000..d3f8b9d
--- /dev/null
+++ b/sim/testsuite/sim/m68hc11/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/m68hc11/allinsn.exp b/sim/testsuite/sim/m68hc11/allinsn.exp
new file mode 100644
index 0000000..db0cbd5
--- /dev/null
+++ b/sim/testsuite/sim/m68hc11/allinsn.exp
@@ -0,0 +1,15 @@
+# m68hc11 simulator testsuite
+
+if [istarget m68hc11-*] {
+ # all machines
+ set all_machs "m68hc11"
+
+ 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/m68hc11/pass.s b/sim/testsuite/sim/m68hc11/pass.s
new file mode 100644
index 0000000..302a7fb
--- /dev/null
+++ b/sim/testsuite/sim/m68hc11/pass.s
@@ -0,0 +1,7 @@
+# check that the sim doesn't die immediately.
+# mach: m68hc11
+
+.include "testutils.inc"
+
+ start
+ pass
diff --git a/sim/testsuite/sim/m68hc11/testutils.inc b/sim/testsuite/sim/m68hc11/testutils.inc
new file mode 100644
index 0000000..3d30de2
--- /dev/null
+++ b/sim/testsuite/sim/m68hc11/testutils.inc
@@ -0,0 +1,53 @@
+# MACRO: exit
+ .macro exit nr
+ ldd # \nr
+ # The debug insn class.
+ .byte 0xcd
+ # The exit utility function.
+ .byte 0x03
+ .endm
+
+# MACRO: pass
+# Write 'pass' to stdout and quit
+ .macro pass
+ # Point to the string.
+ # NB: See comment above _pass below.
+ ldx #0x8000
+ # Number of bytes to write.
+ ldd #5
+ # The debug insn class.
+ .byte 0xcd
+ # The write utility function.
+ .byte 0x01
+ exit 0
+ .endm
+
+# MACRO: ffail
+# Write 'ffail' to stdout and quit
+# Normally this would be 'fail', but m68k has a pseudo "fail" op.
+ .macro ffail
+ # Point to the string.
+ ldx #0x8006
+ # Number of bytes to write.
+ ldd #5
+ # The debug insn class.
+ .byte 0xcd
+ # The write utility function.
+ .byte 0x01
+ exit 0
+ .endm
+
+# MACRO: start
+# All assembler tests should start with a call to "start"
+ .macro start
+ .text
+# These need to be at the start of text as it's the only stable address.
+# The sim will load all sections starting at the .text address and ignore
+# the addresses for the other sections.
+_pass:
+ .asciz "pass\n"
+_fail:
+ .asciz "fail\n"
+.global _start
+_start:
+ .endm