aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.disasm/t13_otr.exp
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@vmware.com>2003-07-23 18:46:14 +0000
committerMichael Snyder <msnyder@vmware.com>2003-07-23 18:46:14 +0000
commit57ba3b854e164d8b3ffd7b5fb7fa05b92ffc9055 (patch)
treeac762a370ce6b61f09f9515775cad92cb38e0f4b /gdb/testsuite/gdb.disasm/t13_otr.exp
parent6926787d2bfde197400447314568abb0536b9297 (diff)
downloadfsf-binutils-gdb-57ba3b854e164d8b3ffd7b5fb7fa05b92ffc9055.zip
fsf-binutils-gdb-57ba3b854e164d8b3ffd7b5fb7fa05b92ffc9055.tar.gz
fsf-binutils-gdb-57ba3b854e164d8b3ffd7b5fb7fa05b92ffc9055.tar.bz2
2003-07-23 Michael Snyder <msnyder@redhat.com>
* gdb.disasm/t01_mov.s: New file, h8300sx disassembly tests. * gdb.disasm/t01_mov.exp: Ditto. * gdb.disasm/t02_mova.s: Ditto. * gdb.disasm/t02_mova.exp: Ditto. * gdb.disasm/t03_add.s: Ditto. * gdb.disasm/t03_add.exp: Ditto. * gdb.disasm/t04_sub.s: Ditto. * gdb.disasm/t04_sub.exp: Ditto. * gdb.disasm/t05_cmp.s: Ditto. * gdb.disasm/t05_cmp.exp: Ditto. * gdb.disasm/t06_ari2.s: Ditto. * gdb.disasm/t06_ari2.exp: Ditto. * gdb.disasm/t07_ari3.s: Ditto. * gdb.disasm/t07_ari3.exp: Ditto. * gdb.disasm/t08_or.s: Ditto. * gdb.disasm/t08_or.exp: Ditto. * gdb.disasm/t09_xor.s: Ditto. * gdb.disasm/t09_xor.exp: Ditto. * gdb.disasm/t10_and.s: Ditto. * gdb.disasm/t10_and.exp: Ditto. * gdb.disasm/t11_logs.s: Ditto. * gdb.disasm/t11_logs.exp: Ditto. * gdb.disasm/t12_bit.s: Ditto. * gdb.disasm/t12_bit.exp: Ditto. * gdb.disasm/t13_otr.s: Ditto. * gdb.disasm/t13_otr.exp: Ditto.
Diffstat (limited to 'gdb/testsuite/gdb.disasm/t13_otr.exp')
-rw-r--r--gdb/testsuite/gdb.disasm/t13_otr.exp306
1 files changed, 306 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.disasm/t13_otr.exp b/gdb/testsuite/gdb.disasm/t13_otr.exp
new file mode 100644
index 0000000..5c01842
--- /dev/null
+++ b/gdb/testsuite/gdb.disasm/t13_otr.exp
@@ -0,0 +1,306 @@
+# Copyright (C) 2003 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-gdb@prep.ai.mit.edu
+
+# This file was written by Michael Snyder (msnyder@redhat.com)
+
+if $tracelevel then {
+ strace $tracelevel
+}
+
+if ![istarget "h8300*-*-*"] {
+ verbose "Tests ignored for all but h8300s based targets."
+ return
+}
+
+set prms_id 0
+set bug_id 0
+
+set testfile "t13_otr"
+set srcfile ${srcdir}/${subdir}/${testfile}.s
+set objfile ${objdir}/${subdir}/${testfile}.o
+set binfile ${objdir}/${subdir}/${testfile}.x
+
+set asm-flags "";
+set link-flags "-m h8300sxelf";
+
+
+if {[target_assemble $srcfile $objfile "${asm-flags}"] != ""} then {
+ gdb_suppress_entire_file "Testcase assembly failed, so all tests in this file will automatically fail."
+}
+
+if {[target_link $objfile $binfile "${link-flags}"] != ""} then {
+ gdb_suppress_entire_file "Testcase link failed, so all tests in this file will automatically fail."
+}
+
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load $binfile
+
+global hex
+
+gdb_test "x /i _start" "bra\t.\\+18 \\($hex\\)" \
+ "bra .+18"
+gdb_test "x" "brn\t.\\+18 \\($hex\\)" \
+ "brn .+18"
+gdb_test "x" "bhi\t.\\+18 \\($hex\\)" \
+ "bhi .+18"
+gdb_test "x" "bls\t.\\+18 \\($hex\\)" \
+ "bls .+18"
+gdb_test "x" "bcc\t.\\+18 \\($hex\\)" \
+ "bcc .+18"
+gdb_test "x" "bcs\t.\\+18 \\($hex\\)" \
+ "bcs .+18"
+gdb_test "x" "bne\t.\\+18 \\($hex\\)" \
+ "bne .+18"
+gdb_test "x" "beq\t.\\+18 \\($hex\\)" \
+ "beq .+18"
+gdb_test "x" "bvc\t.\\+18 \\($hex\\)" \
+ "bvc .+18"
+gdb_test "x" "bvs\t.\\+18 \\($hex\\)" \
+ "bvs .+18"
+gdb_test "x" "bpl\t.\\+18 \\($hex\\)" \
+ "bpl .+18"
+gdb_test "x" "bmi\t.\\+18 \\($hex\\)" \
+ "bmi .+18"
+gdb_test "x" "bge\t.\\+18 \\($hex\\)" \
+ "bge .+18"
+gdb_test "x" "blt\t.\\+18 \\($hex\\)" \
+ "blt .+18"
+gdb_test "x" "bgt\t.\\+18 \\($hex\\)" \
+ "bgt .+18"
+gdb_test "x" "ble\t.\\+18 \\($hex\\)" \
+ "ble .+18"
+gdb_test "x" "bra\t.\\+4660 \\($hex\\)" \
+ "bra .+4660"
+gdb_test "x" "brn\t.\\+4660 \\($hex\\)" \
+ "brn .+4660"
+gdb_test "x" "bhi\t.\\+4660 \\($hex\\)" \
+ "bhi .+4660"
+gdb_test "x" "bls\t.\\+4660 \\($hex\\)" \
+ "bls .+4660"
+gdb_test "x" "bcc\t.\\+4660 \\($hex\\)" \
+ "bcc .+4660"
+gdb_test "x" "bcs\t.\\+4660 \\($hex\\)" \
+ "bcs .+4660"
+gdb_test "x" "bne\t.\\+4660 \\($hex\\)" \
+ "bne .+4660"
+gdb_test "x" "beq\t.\\+4660 \\($hex\\)" \
+ "beq .+4660"
+gdb_test "x" "bvc\t.\\+4660 \\($hex\\)" \
+ "bvc .+4660"
+gdb_test "x" "bvs\t.\\+4660 \\($hex\\)" \
+ "bvs .+4660"
+gdb_test "x" "bpl\t.\\+4660 \\($hex\\)" \
+ "bpl .+4660"
+gdb_test "x" "bmi\t.\\+4660 \\($hex\\)" \
+ "bmi .+4660"
+gdb_test "x" "bge\t.\\+4660 \\($hex\\)" \
+ "bge .+4660"
+gdb_test "x" "blt\t.\\+4660 \\($hex\\)" \
+ "blt .+4660"
+gdb_test "x" "bgt\t.\\+4660 \\($hex\\)" \
+ "bgt .+4660"
+gdb_test "x" "ble\t.\\+4660 \\($hex\\)" \
+ "ble .+4660"
+gdb_test "x" "bra/s\t.\\+18 \\($hex\\)" \
+ "bra/s .+18"
+gdb_test "x" "nop\[ \t\]*" \
+ "nop"
+gdb_test "x" "bra/bc\t#0x7,@er2,.\\+18 \\($hex\\)" \
+ "bra/bc #0x7,@er2,.+18"
+gdb_test "x" "bra/bc\t#0x7,@0x9a(:8|),.\\+18 \\($hex\\)" \
+ "bra/bc #0x7,@0x9a:8,.+18"
+gdb_test "x" "bra/bc\t#0x7,@0x1234(:16|),.\\+18 \\($hex\\)" \
+ "bra/bc #0x7,@0x1234:16,.+18"
+gdb_test "x" "bra/bc\t#0x7,@0x12345678(:32|),.\\+18 \\($hex\\)" \
+ "bra/bc #0x7,@0x12345678:32,.+18"
+gdb_test "x" "bra/bc\t#0x7,@er2,.\\+4660 \\($hex\\)" \
+ "bra/bc #0x7,@er2,.+4660"
+gdb_test "x" "bra/bc\t#0x7,@0x12(:8|),.\\+4660 \\($hex\\)" \
+ "bra/bc #0x7,@0x12:8,.+4660"
+gdb_test "x" "bra/bc\t#0x7,@0x9abc(:16|),.\\+4660 \\($hex\\)" \
+ "bra/bc #0x7,@0x9abc:16,.+4660"
+gdb_test "x" "bra/bc\t#0x7,@0x12345678(:32|),.\\+4660 \\($hex\\)" \
+ "bra/bc #0x7,@0x12345678:32,.+4660"
+gdb_test "x" "bra/bs\t#0x7,@er2,.\\+18 \\($hex\\)" \
+ "bra/bs #0x7,@er2,.+18"
+gdb_test "x" "bra/bs\t#0x7,@0x9a(:8|),.\\+18 \\($hex\\)" \
+ "bra/bs #0x7,@0x9a:8,.+18"
+gdb_test "x" "bra/bs\t#0x7,@0x1234(:16|),.\\+18 \\($hex\\)" \
+ "bra/bs #0x7,@0x1234:16,.+18"
+gdb_test "x" "bra/bs\t#0x7,@0x12345678(:32|),.\\+18 \\($hex\\)" \
+ "bra/bs #0x7,@0x12345678:32,.+18"
+gdb_test "x" "bra/bs\t#0x7,@er2,.\\+4660 \\($hex\\)" \
+ "bra/bs #0x7,@er2,.+4660"
+gdb_test "x" "bra/bs\t#0x7,@0x12(:8|),.\\+4660 \\($hex\\)" \
+ "bra/bs #0x7,@0x12:8,.+4660"
+gdb_test "x" "bra/bs\t#0x7,@0x9abc(:16|),.\\+4660 \\($hex\\)" \
+ "bra/bs #0x7,@0x9abc:16,.+4660"
+gdb_test "x" "bra/bs\t#0x7,@0x12345678(:32|),.\\+4660 \\($hex\\)" \
+ "bra/bs #0x7,@0x12345678:32,.+4660"
+gdb_test "x" "bsr/bc\t#0x7,@er2,.\\+4660 \\($hex\\)" \
+ "bsr/bc #0x7,@er2,.+4660"
+gdb_test "x" "bsr/bc\t#0x7,@0x12(:8|),.\\+4660 \\($hex\\)" \
+ "bsr/bc #0x7,@0x12:8,.+4660"
+gdb_test "x" "bsr/bc\t#0x7,@0x9abc(:16|),.\\+4660 \\($hex\\)" \
+ "bsr/bc #0x7,@0x9abc:16,.+4660"
+gdb_test "x" "bsr/bc\t#0x7,@0x12345678(:32|),.\\+4660 \\($hex\\)" \
+ "bsr/bc #0x7,@0x12345678:32,.+4660"
+gdb_test "x" "bsr/bs\t#0x7,@er2,.\\+4660 \\($hex\\)" \
+ "bsr/bs #0x7,@er2,.+4660"
+gdb_test "x" "bsr/bs\t#0x7,@0x12(:8|),.\\+4660 \\($hex\\)" \
+ "bsr/bs #0x7,@0x12:8,.+4660"
+gdb_test "x" "bsr/bs\t#0x7,@0x9abc(:16|),.\\+4660 \\($hex\\)" \
+ "bsr/bs #0x7,@0x9abc:16,.+4660"
+gdb_test "x" "bsr/bs\t#0x7,@0x12345678(:32|),.\\+4660 \\($hex\\)" \
+ "bsr/bs #0x7,@0x12345678:32,.+4660"
+gdb_test "x" "bra\tr2l.b" \
+ "bra r2l.b"
+gdb_test "x" "bra\tr2.w" \
+ "bra r2.w"
+gdb_test "x" "bra\ter2(.l|)" \
+ "bra er2.l"
+gdb_test "x" "bsr\t.\\+18 \\($hex\\)" \
+ "bsr .+18"
+gdb_test "x" "bsr\t.\\+4660 \\($hex\\)" \
+ "bsr .+4660"
+gdb_test "x" "bsr\tr2l.b" \
+ "bsr r2l.b"
+gdb_test "x" "bsr\tr2.w" \
+ "bsr r2.w"
+gdb_test "x" "bsr\ter2(.l|)" \
+ "bsr er2.l"
+gdb_test "x" "jmp\t@er2" \
+ "jmp @er2"
+gdb_test "x" "jmp\t@0x123456(:24|)" \
+ "jmp @0x123456:24"
+gdb_test "x" "jmp\t@0x12345678(:32|)" \
+ "jmp @0x12345678:32"
+gdb_test "x" "jmp\t@@18 \\(0x12\\)" \
+ "jmp @@18 (0x12)"
+gdb_test "x" "jmp\t@@564 \\(0x234\\)" \
+ "jmp @@564 (0x234)"
+gdb_test "x" "jsr\t@er2" \
+ "jsr @er2"
+gdb_test "x" "jsr\t@0x123456(:24|)" \
+ "jsr @0x123456:24"
+gdb_test "x" "jsr\t@0x12345678(:32|)" \
+ "jsr @0x12345678:32"
+gdb_test "x" "jsr\t@@18 \\(0x12\\)" \
+ "jsr @@18 (0x12)"
+gdb_test "x" "jsr\t@@564 \\(0x234\\)" \
+ "jsr @@564 (0x234)"
+gdb_test "x" "rts\[ \t\]*" \
+ "rts"
+gdb_test "x" "rts/l\ter3" \
+ "rts/l er3"
+gdb_test "x" "rts/l\ter1-er2" \
+ "rts/l er1-er2"
+gdb_test "x" "rts/l\ter2-er4" \
+ "rts/l er2-er4"
+gdb_test "x" "rts/l\ter3-er6" \
+ "rts/l er3-er6"
+gdb_test "x" "trapa\t#0x3" \
+ "trapa #0x3"
+gdb_test "x" "rte\[ \t\]*" \
+ "rte"
+gdb_test "x" "rte/l\ter3" \
+ "rte/l er3"
+gdb_test "x" "rte/l\ter1-er2" \
+ "rte/l er1-er2"
+gdb_test "x" "rte/l\ter2-er4" \
+ "rte/l er2-er4"
+gdb_test "x" "rte/l\ter3-er6" \
+ "rte/l er3-er6"
+gdb_test "x" "ldc(.b|)\t#0x12(:8|),ccr" \
+ "ldc.b #0x12:8,ccr"
+gdb_test "x" "ldc(.b|)\tr3h,ccr" \
+ "ldc.b r3h,ccr"
+gdb_test "x" "ldc(.w|)\t@er3,ccr" \
+ "ldc.w @er3,ccr"
+gdb_test "x" "ldc(.w|)\t@er3\\+,ccr" \
+ "ldc.w @er3+,ccr"
+gdb_test "x" "ldc(.w|)\t@\\(0x1234(:16|),er3\\),ccr" \
+ "ldc.w @(0x1234:16,er3),ccr"
+gdb_test "x" "ldc(.w|)\t@\\(0x12345678(:32|),er3\\),ccr" \
+ "ldc.w @(0x12345678:32,er3),ccr"
+gdb_test "x" "ldc(.w|)\t@0x1234(:16|),ccr" \
+ "ldc.w @0x1234:16,ccr"
+gdb_test "x" "ldc(.w|)\t@0x12345678(:32|),ccr" \
+ "ldc.w @0x12345678:32,ccr"
+gdb_test "x" "ldc(.b|)\t#0x12(:8|),exr" \
+ "ldc.b #0x12:8,exr"
+gdb_test "x" "ldc(.b|)\tr3h,exr" \
+ "ldc.b r3h,exr"
+gdb_test "x" "ldc(.w|)\t@er3,exr" \
+ "ldc.w @er3,exr"
+gdb_test "x" "ldc(.w|)\t@er3\\+,exr" \
+ "ldc.w @er3+,exr"
+gdb_test "x" "ldc(.w|)\t@\\(0x1234(:16|),er3\\),exr" \
+ "ldc.w @(0x1234:16,er3),exr"
+gdb_test "x" "ldc(.w|)\t@\\(0x12345678(:32|),er3\\),exr" \
+ "ldc.w @(0x12345678:32,er3),exr"
+gdb_test "x" "ldc(.w|)\t@0x1234(:16|),exr" \
+ "ldc.w @0x1234:16,exr"
+gdb_test "x" "ldc(.w|)\t@0x12345678(:32|),exr" \
+ "ldc.w @0x12345678:32,exr"
+gdb_test "x" "stc(.b|)\tccr,r1h" \
+ "stc.b ccr,r1h"
+gdb_test "x" "stc(.w|)\tccr,@er1" \
+ "stc.w ccr,@er1"
+gdb_test "x" "stc(.w|)\tccr,@-er1" \
+ "stc.w ccr,@-er1"
+gdb_test "x" "stc(.w|)\tccr,@\\(0x1234(:16|),er1\\)" \
+ "stc.w ccr,@(0x1234:16,er1)"
+gdb_test "x" "stc(.w|)\tccr,@\\(0x12345678(:32|),er1\\)" \
+ "stc.w ccr,@(0x12345678:32,er1)"
+gdb_test "x" "stc(.w|)\tccr,@0x1234(:16|)" \
+ "stc.w ccr,@0x1234:16"
+gdb_test "x" "stc(.w|)\tccr,@0x12345678(:32|)" \
+ "stc.w ccr,@0x12345678:32"
+gdb_test "x" "stc(.b|)\texr,r1h" \
+ "stc.b exr,r1h"
+gdb_test "x" "stc(.w|)\texr,@er1" \
+ "stc.w exr,@er1"
+gdb_test "x" "stc(.w|)\texr,@-er1" \
+ "stc.w exr,@-er1"
+gdb_test "x" "stc(.w|)\texr,@\\(0x1234(:16|),er1\\)" \
+ "stc.w exr,@(0x1234:16,er1)"
+gdb_test "x" "stc(.w|)\texr,@\\(0x12345678(:32|),er1\\)" \
+ "stc.w exr,@(0x12345678:32,er1)"
+gdb_test "x" "stc(.w|)\texr,@0x1234(:16|)" \
+ "stc.w exr,@0x1234:16"
+gdb_test "x" "stc(.w|)\texr,@0x12345678(:32|)" \
+ "stc.w exr,@0x12345678:32"
+gdb_test "x" "orc(.b|)\t#0x12(:8|),ccr" \
+ "orc.b #0x12:8,ccr"
+gdb_test "x" "orc(.b|)\t#0x12(:8|),exr" \
+ "orc.b #0x12:8,exr"
+gdb_test "x" "xorc(.b|)\t#0x12(:8|),ccr" \
+ "xorc.b #0x12:8,ccr"
+gdb_test "x" "xorc(.b|)\t#0x12(:8|),exr" \
+ "xorc.b #0x12:8,exr"
+gdb_test "x" "andc(.b|)\t#0x12(:8|),ccr" \
+ "andc.b #0x12:8,ccr"
+gdb_test "x" "andc(.b|)\t#0x12(:8|),exr" \
+ "andc.b #0x12:8,exr"
+gdb_test "x" "sleep\[ \t\]*" \
+ "sleep"
+gdb_test "x" "nop\[ \t\]*" \
+ "nop"