diff options
author | Michael Snyder <msnyder@vmware.com> | 2003-07-23 18:46:14 +0000 |
---|---|---|
committer | Michael Snyder <msnyder@vmware.com> | 2003-07-23 18:46:14 +0000 |
commit | 57ba3b854e164d8b3ffd7b5fb7fa05b92ffc9055 (patch) | |
tree | ac762a370ce6b61f09f9515775cad92cb38e0f4b /gdb/testsuite/gdb.disasm/t13_otr.exp | |
parent | 6926787d2bfde197400447314568abb0536b9297 (diff) | |
download | fsf-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.exp | 306 |
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" |