diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog index 798ec93e41..b5681e7b12 100644 --- a/binutils/testsuite/ChangeLog +++ b/binutils/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-09-02 Jie Zhang + + * binutils-all/bfin/unknown-mode.s: New test. + * binutils-all/bfin/objdump.exp: New test. + 2009-08-17 Nick Clifton * binutils-all/strip-10.d: Accept ": 10" for the type diff --git a/binutils/testsuite/binutils-all/bfin/objdump.exp b/binutils/testsuite/binutils-all/bfin/objdump.exp new file mode 100644 index 0000000000..df7d4da8bf --- /dev/null +++ b/binutils/testsuite/binutils-all/bfin/objdump.exp @@ -0,0 +1,53 @@ +# Copyright 2009 +# 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 3 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + +if {![istarget "bfin-*-*"]} then { + return +} + +if {[which $OBJDUMP] == 0} then { + perror "$OBJDUMP does not exist" + return +} + +send_user "Version [binutil_version $OBJDUMP]" + +################################### +# Set up the test of unknown-mode.s +################################### + +if {![binutils_assemble $srcdir/$subdir/unknown-mode.s tmpdir/unknown-mode.o]} then { + return +} + +if [is_remote host] { + set objfile [remote_download host tmpdir/unknown-mode.o] +} else { + set objfile tmpdir/unknown-mode.o +} + +# Make sure that the unknown mode does not cause abort. + +set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -D $objfile"] + +set want "e1 c1\[ \t\]*ILLEGAL.*34 98 .*\[\r\n\]" + +if [regexp $want $got] then { + pass "unknown mode test" +} else { + fail "unknown mode test" +} diff --git a/binutils/testsuite/binutils-all/bfin/unknown-mode.s b/binutils/testsuite/binutils-all/bfin/unknown-mode.s new file mode 100644 index 0000000000..3c477f27ca --- /dev/null +++ b/binutils/testsuite/binutils-all/bfin/unknown-mode.s @@ -0,0 +1,8 @@ + .text + + // Below 4 bytes are "A1 += R6.H * R4.L (IS);" + // with a invalid mode "0xf". + .byte 0xe1 + .byte 0xc1 + .byte 0x34 + .byte 0x98