diff options
author | Paul Brook <paul@codesourcery.com> | 2006-06-07 14:08:19 +0000 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2006-06-07 14:08:19 +0000 |
commit | c22aaad1c77dc0050546d8d1488b6b9ca3c0ebeb (patch) | |
tree | d0272c8bfc9a7090456b3c25130ed3bb8da68362 /binutils | |
parent | ebd1c8757cf3f32daffe2615cbb778e495ebe412 (diff) | |
download | gdb-c22aaad1c77dc0050546d8d1488b6b9ca3c0ebeb.zip gdb-c22aaad1c77dc0050546d8d1488b6b9ca3c0ebeb.tar.gz gdb-c22aaad1c77dc0050546d8d1488b6b9ca3c0ebeb.tar.bz2 |
2006-06-06 Paul Brook <paul@codesourcery.com>
opcodes/
* arm-dis.c (coprocessor_opcodes): Add %c to unconditional arm
instructions.
(neon_opcodes): Add conditional execution specifiers.
(thumb_opcodes): Ditto.
(thumb32_opcodes): Ditto.
(arm_conditional): Change 0xe to "al" and add "" to end.
(ifthen_state, ifthen_next_state, ifthen_address): New.
(IFTHEN_COND): Define.
(print_insn_coprocessor, print_insn_neon): Print thumb conditions.
(print_insn_arm): Change %c to use new values of arm_conditional.
(print_insn_thumb16): Print thumb conditions. Add %I.
(print_insn_thumb32): Print thumb conditions.
(find_ifthen_state): New function.
(print_insn): Track IT block state.
gas/testsuite/
* gas/arm/thumb2_bcond.d: Update expected output.
* gas/arm/thumb32.d: Ditto.
* gas/arm/vfp1_t2.d: Ditto.
* gas/arm/vfp1xD_t2.d: Ditto.
binutils/testsuite/
* binutils-all/arm/objdump.exp: New file.
* binutils-all/arm/thumb2-cond.s: New test.
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/arm/objdump.exp | 63 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/arm/thumb2-cond.s | 6 |
3 files changed, 74 insertions, 0 deletions
diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog index 410f784..0fabcda 100644 --- a/binutils/testsuite/ChangeLog +++ b/binutils/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-06-06 Paul Brook <paul@codesourcery.com> + + * binutils-all/arm/objdump.exp: New file. + * binutils-all/arm/thumb2-cond.s: New test. + 2006-05-03 H.J. Lu <hongjiu.lu@intel.com> * binutils-all/copy-3.d: Fix a typo. diff --git a/binutils/testsuite/binutils-all/arm/objdump.exp b/binutils/testsuite/binutils-all/arm/objdump.exp new file mode 100644 index 0000000..8ee3fd1 --- /dev/null +++ b/binutils/testsuite/binutils-all/arm/objdump.exp @@ -0,0 +1,63 @@ +# Copyright 2004 +# 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + +if {![istarget "arm*-*-*"]} then { + return +} + +if {[which $OBJDUMP] == 0} then { + perror "$OBJDUMP does not exist" + return +} + +send_user "Version [binutil_version $OBJDUMP]" + +########################### +# Set up the test of movem.s +########################### + +if {![binutils_assemble $srcdir/$subdir/thumb2-cond.s tmpdir/thumb2-cond.o]} then { + return +} + +if [is_remote host] { + set objfile [remote_download host tmpdir/thumb2-cond.o] +} else { + set objfile tmpdir/thumb2-cond.o +} + +# Make sure that conditional instructions are correctly decoded. + +set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS --disassemble --start-address=6 $objfile"] + +set want "bcc.w\te12.*bx\tlr" + +if [regexp $want $got] then { + pass "thumb2-cond test1" +} else { + fail "thumb2-cond test1" +} + +set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS --disassemble --start-address=10 $objfile"] + +set want "bx\tlr" + +if [regexp $want $got] then { + pass "thumb2-cond test1" +} else { + fail "thumb2-cond test1" +} diff --git a/binutils/testsuite/binutils-all/arm/thumb2-cond.s b/binutils/testsuite/binutils-all/arm/thumb2-cond.s new file mode 100644 index 0000000..95761e1 --- /dev/null +++ b/binutils/testsuite/binutils-all/arm/thumb2-cond.s @@ -0,0 +1,6 @@ +.thumb +foo: +.short 0xf000, 0xf800 +.short 0xbf38 +.short 0xf000, 0xbf04 +bx lr |