From: Jeff Law Date: Thu, 13 Feb 1997 23:16:26 +0000 (+0000) Subject: * gdb.disasm/*.mt: Deleted, no longer used. X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=f43e619c5bc4293d1e03197d016475e3b9de2c5b;p=deliverable%2Fbinutils-gdb.git * gdb.disasm/*.mt: Deleted, no longer used. * gdb.disasm/configure.in: Remove references to target makefile frags. Use "sh3.s" as the unique filename for this directory. * gdb.disasm/configure: Rebuilt. Cleaning up unused crud. * gdb.disasm/mn10200.s: New test file for mn10200 disassembler. * gdb.disasm/mn10200.exp: Run mn10200 disassembler tests. * gdb.disasm/Makefile.in: Remove "mn10200" when cleaning. mn10200 disassembler testsuite. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 5cf74fe30e..e529804048 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,14 @@ +Thu Feb 13 16:09:36 1997 Jeffrey A Law (law@cygnus.com) + + * gdb.disasm/*.mt: Deleted, no longer used. + * gdb.disasm/configure.in: Remove references to target makefile + frags. Use "sh3.s" as the unique filename for this directory. + * gdb.disasm/configure: Rebuilt. + + * gdb.disasm/mn10200.s: New test file for mn10200 disassembler. + * gdb.disasm/mn10200.exp: Run mn10200 disassembler tests. + * gdb.disasm/Makefile.in: Remove "mn10200" when cleaning. + Tue Feb 11 16:57:58 1997 Bob Manson * config/udi.exp: Use mondfe,name instead of remote_host. diff --git a/gdb/testsuite/gdb.disasm/configure b/gdb/testsuite/gdb.disasm/configure index 5711b82e2e..2de254fbfc 100644 --- a/gdb/testsuite/gdb.disasm/configure +++ b/gdb/testsuite/gdb.disasm/configure @@ -450,7 +450,7 @@ echo > confdefs.h # A filename unique to this package, relative to the directory that # configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=sh3.mt +ac_unique_file=sh3.s # Find the source files, if location was not specified. if test -z "$srcdir"; then @@ -630,16 +630,6 @@ test "$host_alias" != "$target_alias" && program_prefix=${target_alias}- -case "${target}" in - hppa*-*-*) target_makefile_frag=hppa.mt ;; - sh*-*-*) target_makefile_frag=sh3.mt ;; - *-*-*) target_makefile_frag=default.mt ;; -esac - -# We also need to use a makefile fragment for the embedded targets -# to get the flags right to build the test cases - - trap '' 1 2 15 cat > confcache <<\EOF # This file is a shell script that caches the results of configure @@ -798,8 +788,6 @@ s%@build_alias@%$build_alias%g s%@build_cpu@%$build_cpu%g s%@build_vendor@%$build_vendor%g s%@build_os@%$build_os%g -/@target_makefile_frag@/r $target_makefile_frag -s%@target_makefile_frag@%%g CEOF EOF diff --git a/gdb/testsuite/gdb.disasm/configure.in b/gdb/testsuite/gdb.disasm/configure.in index 91f3975b4f..508636ff2c 100644 --- a/gdb/testsuite/gdb.disasm/configure.in +++ b/gdb/testsuite/gdb.disasm/configure.in @@ -5,21 +5,11 @@ dnl script appropriate for this directory. For more information, check dnl any existing configure script. AC_PREREQ(2.5) -AC_INIT(sh3.mt) +AC_INIT(sh3.s) CC=${CC-cc} AC_SUBST(CC) AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..) AC_CANONICAL_SYSTEM -case "${target}" in - hppa*-*-*) target_makefile_frag=hppa.mt ;; - sh*-*-*) target_makefile_frag=sh3.mt ;; - *-*-*) target_makefile_frag=default.mt ;; -esac - -# We also need to use a makefile fragment for the embedded targets -# to get the flags right to build the test cases -AC_SUBST_FILE(target_makefile_frag) - AC_OUTPUT(Makefile) diff --git a/gdb/testsuite/gdb.disasm/hppa.mt b/gdb/testsuite/gdb.disasm/hppa.mt deleted file mode 100644 index d5ecdc8e62..0000000000 --- a/gdb/testsuite/gdb.disasm/hppa.mt +++ /dev/null @@ -1,14 +0,0 @@ -EXECUTABLES = hppa -hppa: hppa.s - if $(CC) -c $(srcdir)/hppa.s 2>errs; then \ - $(CC) $(CFLAGS) $(LDFLAGS) -o hppa hppa.o $(LIBS); \ - true; \ - else \ - if grep 'Opcode not defined - DIAG' errs \ - >/dev/null; then \ - echo HP assembler in use--skipping disasm tests; true; \ - else \ - cat errs; false; \ - fi; \ - fi - diff --git a/gdb/testsuite/gdb.disasm/mn10200.exp b/gdb/testsuite/gdb.disasm/mn10200.exp new file mode 100644 index 0000000000..75a2ede0a2 --- /dev/null +++ b/gdb/testsuite/gdb.disasm/mn10200.exp @@ -0,0 +1,481 @@ + +# Copyright (C) 1997 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 Jeff Law. (law@cygnus.com) + +if $tracelevel then { + strace $tracelevel +} + +if ![istarget "mn10200*-*-*"] { + verbose "Tests ignored for all but mn10200 based targets." + return +} + +global exec_output +set prms_id 0 +set bug_id 0 + +set testfile "mn10200" +set srcfile ${srcdir}/${subdir}/${testfile}.s +set binfile ${objdir}/${subdir}/${testfile} +if { [gdb_compile "${srcfile}" "${binfile}" executable ""] != "" } { + perror "Couldn't compile ${srcfile}" + return -1 +} + +proc add_tests { } { + global gdb_prompt + global hex + global decimal + + send_gdb "x/12i add_tests\n" + expect { + -re " +.*add d1,d2.* +.*add d2,a3.* +.*add a2,d1.* +.*add a3,a2.* +.*add 16,d1.* +.*add 256,d2.* +.*add 131071,d3.* +.*add 16,a1.* +.*add 256,a2.* +.*add 131071,a3.* +.*addc d1,d2.* +.*addnf 16,a2.* +.*$gdb_prompt $" { pass "add tests" } + -re "$gdb_prompt $" { fail "add tests" } + timeout { fail "(timeout) add tests" } + } +} + +proc bcc_tests { } { + global gdb_prompt + global hex + global decimal + + send_gdb "x/15i bCC_tests\n" + expect { + -re " +.*beq 0x\[0-9a-f]+ .* +.*bne 0x\[0-9a-f]+ .* +.*bgt 0x\[0-9a-f]+ .* +.*bge 0x\[0-9a-f]+ .* +.*ble 0x\[0-9a-f]+ .* +.*blt 0x\[0-9a-f]+ .* +.*bhi 0x\[0-9a-f]+ .* +.*bcc 0x\[0-9a-f]+ .* +.*bls 0x\[0-9a-f]+ .* +.*bcs 0x\[0-9a-f]+ .* +.*bvc 0x\[0-9a-f]+ .* +.*bvs 0x\[0-9a-f]+ .* +.*bnc 0x\[0-9a-f]+ .* +.*bns 0x\[0-9a-f]+ .* +.*bra 0x\[0-9a-f]+ .* +.*$gdb_prompt $" { pass "bCC tests" } + -re "$gdb_prompt $" { fail "bCC tests" } + timeout { fail "(timeout) bCC tests" } + } +} + +proc bccx_tests { } { + global gdb_prompt + global hex + global decimal + + send_gdb "x/14i bCCx_tests\n" + expect { + -re " +.*beqx 0x\[0-9a-f]+ .* +.*bnex 0x\[0-9a-f]+ .* +.*bgtx 0x\[0-9a-f]+ .* +.*bgex 0x\[0-9a-f]+ .* +.*blex 0x\[0-9a-f]+ .* +.*bltx 0x\[0-9a-f]+ .* +.*bhix 0x\[0-9a-f]+ .* +.*bccx 0x\[0-9a-f]+ .* +.*blsx 0x\[0-9a-f]+ .* +.*bcsx 0x\[0-9a-f]+ .* +.*bvcx 0x\[0-9a-f]+ .* +.*bvsx 0x\[0-9a-f]+ .* +.*bncx 0x\[0-9a-f]+ .* +.*bnsx 0x\[0-9a-f]+ .* +.*$gdb_prompt $" { pass "bCCx tests" } + -re "$gdb_prompt $" { fail "bCCx tests" } + timeout { fail "(timeout) bCCx tests" } + } +} + +proc bit_tests { } { + global gdb_prompt + global hex + global decimal + + send_gdb "x/4 bit_tests\n" + expect { + -re " +.*btst 64,d1.* +.*btst 8192,d2.* +.*bset d1,\\(a2\\).* +.*bclr d1,\\(a2\\).* +.*$gdb_prompt $" { pass "bit tests" } + -re "$gdb_prompt $" { fail "bit tests" } + timeout { fail "(timeout) bit tests" } + } +} + +proc cmp_tests { } { + global gdb_prompt + global hex + global decimal + + send_gdb "x/9i cmp_tests\n" + expect { + -re " +.*cmp d1,d2.* +.*cmp d2,a3.* +.*cmp a3,d3.* +.*cmp a3,a2.* +.*cmp 16,d3.* +.*cmp 256,d2.* +.*cmp 131071,d1.* +.*cmp 256,a2.* +.*cmp 131071,a1.* +.*$gdb_prompt $" { pass "cmp tests" } + -re "$gdb_prompt $" { fail "cmp tests" } + timeout { fail "(timeout) cmp tests" } + } +} + +proc extend_tests { } { + global gdb_prompt + global hex + global decimal + + send_gdb "x/5i extend_tests\n" + expect { + -re " +.*ext d1.* +.*extx d2.* +.*extxu d3.* +.*extxb d2.* +.*extxbu d1.* +.*$gdb_prompt $" { pass "extend tests" } + -re "$gdb_prompt $" { fail "extend tests" } + timeout { fail "(timeout) extend tests" } + } +} + +proc logical_tests { } { + global gdb_prompt + global hex + global decimal + + send_gdb "x/11i logical_tests\n" + expect { + -re " +.*and d1,d2.* +.*and 127,d2.* +.*and 32767,d3.* +.*and 32767,psw.* +.*or d1,d2.* +.*or 127,d2.* +.*or 32767,d3.* +.*or 32767,psw.* +.*xor d1,d2.* +.*xor 32767,d3.* +.*not d3.* +.*$gdb_prompt $" { pass "logical tests" } + -re "$gdb_prompt $" { fail "logical tests" } + timeout { fail "(timeout) logical tests" } + } +} + +proc mov_tests_1 { } { + global gdb_prompt + global hex + global decimal + + send_gdb "x/12i mov_tests_1\n" + expect { + -re " +.*mov d1,a2.* +.*mov a2,d1.* +.*mov d1,d2.* +.*mov a2,a1.* +.*mov psw,d3.* +.*mov d2,psw.* +.*mov mdr,d1.* +.*mov d2,mdr.* +.*mov \\(a2\\),d1.* +.*mov \\(8,a2\\),d1.* +.*mov \\(256,a2\\),d1.* +.*mov \\(131071,a2\\),d1.* +.*$gdb_prompt $" { pass "mov1 tests" } + -re "$gdb_prompt $" { fail "mov1 tests" } + timeout { fail "(timeout) mov1 tests" } + } +} + +proc mov_tests_2 { } { + global gdb_prompt + global hex + global decimal + + send_gdb "x/9 mov_tests_2\n" + expect { + -re " +.*mov \\(d1,a1\\),d2.* +.*mov \\(0x8000.*\\),d1.* +.*mov \\(0x1ffff.*\\),d1.* +.*mov \\(8,a2\\),a1.* +.*mov \\(256,a2\\),a1.* +.*mov \\(131071,a2\\),a1.* +.*mov \\(d1,a1\\),a2.* +.*mov \\(0x8000.*\\),a1.* +.*mov \\(0x1ffff.*\\),a1.* +.*$gdb_prompt $" { pass "mov2 tests" } + -re "$gdb_prompt $" { fail "mov2 tests" } + timeout { fail "(timeout) mov2 tests" } + } +} + +proc mov_tests_3 { } { + global gdb_prompt + global hex + global decimal + + send_gdb "x/10 mov_tests_3\n" + expect { + -re " +.*mov d1,\\(a2\\).* +.*mov d1,\\(32,a2\\).* +.*mov d1,\\(256,a2\\).* +.*mov d1,\\(131071,a2\\).* +.*mov d1,\\(d2,a2\\).* +.*mov d1,\\(0x80.*\\).* +.*mov d1,\\(0x1ffff.*\\).* +.*mov a1,\\(32,a2\\).* +.*mov a1,\\(256,a2\\).* +.*mov a1,\\(131071,a2\\).* +.*$gdb_prompt $" { pass "mov3 tests" } + -re "$gdb_prompt $" { fail "mov3 tests" } + timeout { fail "(timeout) mov3 tests" } + } +} + +proc mov_tests_4 { } { + global gdb_prompt + global hex + global decimal + + send_gdb "x/8 mov_tests_4\n" + expect { + -re " +.*mov a1,\\(d2,a2\\).* +.*mov a1,\\(0x80.*\\).* +.*mov a1,\\(0x1ffff.*\\).* +.*mov 8,d1.* +.*mov 256,d1.* +.*mov 131071,d1.* +.*mov 256,a1.* +.*mov 131071,a1.* +.*$gdb_prompt $" { pass "mov4 tests" } + -re "$gdb_prompt $" { fail "mov4 tests" } + timeout { fail "(timeout) mov4 tests" } + } +} + +proc movb_tests { } { + global gdb_prompt + global hex + global decimal + + send_gdb "x/12 movb_tests\n" + expect { + -re " +.*movb \\(8,a2\\),d1.* +.*movb \\(256,a2\\),d1.* +.*movb \\(131071,a2\\),d1.* +.*movb \\(d2,a2\\),d3.* +.*movb \\(0x1ffff.*\\),d2.* +.*movb d1,\\(a2\\).* +.*movb d1,\\(8,a2\\).* +.*movb d1,\\(256,a2\\).* +.*movb d1,\\(131071,a2\\).* +.*movb d1,\\(d2,a2\\).* +.*movb d1,\\(0x100.*\\).* +.*movb d1,\\(0x1ffff.*\\).* +.*$gdb_prompt $" { pass "movb tests" } + -re "$gdb_prompt $" { fail "movb tests" } + timeout { fail "(timeout) movb tests" } + } +} + +proc movbu_tests { } { + global gdb_prompt + global hex + global decimal + + send_gdb "x/7 movbu_tests\n" + expect { + -re " +.*movbu \\(a2\\),d1.* +.*movbu \\(8,a2\\),d1.* +.*movbu \\(256,a2\\),d1.* +.*movbu \\(131071,a2\\),d1.* +.*movbu \\(d1,a1\\),d2.* +.*movbu \\(0x8000.*\\),d1.* +.*movbu \\(0x1ffff.*\\),d1.* +.*$gdb_prompt $" { pass "movbu tests" } + -re "$gdb_prompt $" { fail "movbu tests" } + timeout { fail "(timeout) movbu tests" } + } +} + +proc movx_tests { } { + global gdb_prompt + global hex + global decimal + + send_gdb "x/6 movx_tests\n" + expect { + -re " +.*movx \\(8,a2\\),d1.* +.*movx \\(256,a2\\),d1.* +.*movx \\(131071,a2\\),d1.* +.*movx d1,\\(8,a2\\).* +.*movx d1,\\(256,a2\\).* +.*movx d1,\\(131071,a2\\).* +.*$gdb_prompt $" { pass "movx tests" } + -re "$gdb_prompt $" { fail "movx tests" } + timeout { fail "(timeout) movx tests" } + } +} + +proc muldiv_tests { } { + global gdb_prompt + global hex + global decimal + + send_gdb "x/3 muldiv_tests\n" + expect { + -re " +.*mul d1,d2.* +.*mulu d2,d3.* +.*divu d3,d2.* +.*$gdb_prompt $" { pass "muldiv tests" } + -re "$gdb_prompt $" { fail "muldiv tests" } + timeout { fail "(timeout) muldiv tests" } + } +} + +proc misc_tests { } { + global gdb_prompt + global hex + global decimal + + setup_xfail mn10200*-*-* + send_gdb "x/9 misc_tests\n" + expect { + -re " +.*beq 0x\[0-9a-f]+ .* +.*jmp 0x\[0-9a-f]+
.* +.*jmp 0x\[0-9a-f]+ .* +.*jmp \\(a2\\).* +.*jsr 0x\[0-9a-f]+
.* +.*jsr 0x\[0-9a-f]+ .* +.*jsr \\(a2\\).* +.*rts.* +.*rti.* +.*nop.* +.*$gdb_prompt $" { pass "misc tests" } + -re "$gdb_prompt $" { fail "misc tests" } + timeout { fail "(timeout) misc tests" } + } +} + +proc shift_tests { } { + global gdb_prompt + global hex + global decimal + + send_gdb "x/4i shift_tests\n" + expect { + -re " +.*asr d2.* +.*lsr d3.* +.*ror d1.* +.*rol d2.* +.*$gdb_prompt $" { pass "shift tests" } + -re "$gdb_prompt $" { fail "shift tests" } + timeout { fail "(timeout) shift tests" } + } +} + +proc sub_tests { } { + global gdb_prompt + global hex + global decimal + + send_gdb "x/9i sub_tests\n" + expect { + -re " +.*sub d1,d2.* +.*sub d2,a3.* +.*sub a3,d3.* +.*sub a3,a2.* +.*sub 32767,d2.* +.*sub 131071,d2.* +.*sub 32767,a2.* +.*sub 131071,a2.* +.*subc d1,d2.* +.*$gdb_prompt $" { pass "sub tests" } + -re "$gdb_prompt $" { fail "sub tests" } + timeout { fail "(timeout) sub tests" } + } +} + +# Start with a fresh gdb. + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load $binfile + +add_tests +bcc_tests +bccx_tests +bit_tests +cmp_tests +extend_tests +logical_tests +mov_tests_1 +mov_tests_2 +mov_tests_3 +mov_tests_4 +movb_tests +movbu_tests +movx_tests +muldiv_tests +misc_tests +shift_tests +sub_tests diff --git a/gdb/testsuite/gdb.disasm/mn10200.s b/gdb/testsuite/gdb.disasm/mn10200.s new file mode 100644 index 0000000000..cc3dba0e66 --- /dev/null +++ b/gdb/testsuite/gdb.disasm/mn10200.s @@ -0,0 +1,215 @@ + .text + .global _main + .global add_tests + .global bCC_tests + .global bCCx_tests + .global bit_tests + .global cmp_tests + .global extend_tests + .global logical_tests + .global mov_tests_1 + .global mov_tests_2 + .global mov_tests_3 + .global mov_tests_4 + .global movb_tests + .global movbu_tests + .global movx_tests + .global misc_tests + .global shift_tests + .global sub_tests + +_main: +add_tests: + add d1,d2 + add d2,a3 + add a2,d1 + add a3,a2 + add 16,d1 + add 256,d2 + add 131071,d3 + add 16,a1 + add 256,a2 + add 131071,a3 + addc d1,d2 + addnf 16,a2 + +bCC_tests: + beq bCC_tests + bne bCC_tests + bgt bCC_tests + bge bCC_tests + ble bCC_tests + blt bCC_tests + bhi bCC_tests + bcc bCC_tests + bls bCC_tests + bcs bCC_tests + bvc bCC_tests + bvs bCC_tests + bnc bCC_tests + bns bCC_tests + bra bCC_tests + +bCCx_tests: + beqx bCCx_tests + bnex bCCx_tests + bgtx bCCx_tests + bgex bCCx_tests + blex bCCx_tests + bltx bCCx_tests + bhix bCCx_tests + bccx bCCx_tests + blsx bCCx_tests + bcsx bCCx_tests + bvcx bCCx_tests + bvsx bCCx_tests + bncx bCCx_tests + bnsx bCCx_tests + +bit_tests: + btst 64,d1 + btst 8192,d2 + bset d1,(a2) + bclr d1,(a2) + +cmp_tests: + cmp d1,d2 + cmp d2,a3 + cmp a3,d3 + cmp a3,a2 + cmp 16,d3 + cmp 256,d2 + cmp 131071,d1 + cmp 256,a2 + cmp 131071,a1 + +extend_tests: + ext d1 + extx d2 + extxu d3 + extxb d2 + extxbu d1 + +logical_tests: + and d1,d2 + and 127,d2 + and 32767,d3 + and 32767,psw + or d1,d2 + or 127,d2 + or 32767,d3 + or 32767,psw + xor d1,d2 + xor 32767,d3 + not d3 + +mov_tests_1: + mov d1,a2 + mov a2,d1 + mov d1,d2 + mov a2,a1 + mov psw,d3 + mov d2,psw + mov mdr,d1 + mov d2,mdr + mov (a2),d1 + mov (8,a2),d1 + mov (256,a2),d1 + mov (131071,a2),d1 + +mov_tests_2: + mov (d1,a1),d2 + mov (32768),d1 + mov (131071),d1 + mov (8,a2),a1 + mov (256,a2),a1 + mov (131071,a2),a1 + mov (d1,a1),a2 + mov (32768),a1 + mov (131071),a1 + +mov_tests_3: + mov d1,(a2) + mov d1,(32,a2) + mov d1,(256,a2) + mov d1,(131071,a2) + mov d1,(d2,a2) + mov d1,(128) + mov d1,(131071) + mov a1,(32,a2) + mov a1,(256,a2) + mov a1,(131071,a2) + +mov_tests_4: + mov a1,(d2,a2) + mov a1,(128) + mov a1,(131071) + mov 8,d1 + mov 256,d1 + mov 131071,d1 + mov 256,a1 + mov 131071,a1 + +movb_tests: + movb (8,a2),d1 + movb (256,a2),d1 + movb (131071,a2),d1 + movb (d2,a2),d3 + movb (131071),d2 + movb d1,(a2) + movb d1,(8,a2) + movb d1,(256,a2) + movb d1,(131071,a2) + movb d1,(d2,a2) + movb d1,(256) + movb d1,(131071) + +movbu_tests: + movbu (a2),d1 + movbu (8,a2),d1 + movbu (256,a2),d1 + movbu (131071,a2),d1 + movbu (d1,a1),d2 + movbu (32768),d1 + movbu (131071),d1 + +movx_tests: + movx (8,a2),d1 + movx (256,a2),d1 + movx (131071,a2),d1 + movx d1,(8,a2) + movx d1,(256,a2) + movx d1,(131071,a2) + +muldiv_tests: + mul d1,d2 + mulu d2,d3 + divu d3,d2 + +misc_tests: + jmp _main + jmp _start + jmp (a2) + jsr misc_tests + jsr misc_tests + jsr (a2) + rts + rti + nop + +shift_tests: + asr d2 + lsr d3 + ror d1 + rol d2 + +sub_tests: + sub d1,d2 + sub d2,a3 + sub a3,d3 + sub a3,a2 + sub 32767,d2 + sub 131071,d2 + sub 32767,a2 + sub 131071,a2 + subc d1,d2 diff --git a/gdb/testsuite/gdb.disasm/sh3.mt b/gdb/testsuite/gdb.disasm/sh3.mt deleted file mode 100644 index fa79d8cd67..0000000000 --- a/gdb/testsuite/gdb.disasm/sh3.mt +++ /dev/null @@ -1,5 +0,0 @@ -EXECUTABLES = sh3 -sh3: sh3.s - $(CC) -c $(srcdir)/sh3.s - $(CC) -o sh3 sh3.o -