From: Ian Lance Taylor Date: Fri, 5 Jul 1996 15:19:30 +0000 (+0000) Subject: fix screwed up sanitization X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3f5d2072fb2525356b8bf035956ced9ced066583;p=binutils-gdb.git fix screwed up sanitization --- diff --git a/gas/testsuite/gas/m68k-coff/confidential/gas.exp b/gas/testsuite/gas/m68k-coff/confidential/gas.exp new file mode 100644 index 00000000000..96d734a343c --- /dev/null +++ b/gas/testsuite/gas/m68k-coff/confidential/gas.exp @@ -0,0 +1,3 @@ +if [istarget m68*-*-coff] then { + gas_test "p2411.s" "" $stdoptlist "PR 2411" +} diff --git a/gas/testsuite/gas/m68k-coff/confidential/p2411.s b/gas/testsuite/gas/m68k-coff/confidential/p2411.s new file mode 100644 index 00000000000..3e4f932de0b --- /dev/null +++ b/gas/testsuite/gas/m68k-coff/confidential/p2411.s @@ -0,0 +1,14 @@ +# The assembler is failing with error 'FATAL:failed sanity check', giving +# the line of the 'dbf' instruction as the offending line. +# +# This will assemble ok if the section is '.text'. However we must +# be able to use a different section name. +# +# Our only workaround is to recode all of our loops to not use dbf. + + + .sect other + + loop1: + move.l %d1,%a0@+ + dbf %d0,loop1 diff --git a/gas/testsuite/gas/m68k/confidential/gas.exp b/gas/testsuite/gas/m68k/confidential/gas.exp new file mode 100644 index 00000000000..bc8205b229b --- /dev/null +++ b/gas/testsuite/gas/m68k/confidential/gas.exp @@ -0,0 +1,11 @@ +# +# Some generic m68k tests +# +if [istarget m68*-*-*] then { + # + # Operand size dependent on offset computed using operand size + # + gas_test "p2425a.s" "" "" "operand size derived from offset derived from op sz" + setup_xfail m68*-*-* + gas_test "p2425a.s" "-a" "" "operand size derived from offset derived from op sz, with listing" +} diff --git a/gas/testsuite/gas/m68k/confidential/p2425a.s b/gas/testsuite/gas/m68k/confidential/p2425a.s new file mode 100644 index 00000000000..96cc86da064 --- /dev/null +++ b/gas/testsuite/gas/m68k/confidential/p2425a.s @@ -0,0 +1,72 @@ +WORDSIZE=4 + + .text + .globl _doworm + +_doworm: + moveml %a2-%a4,%sp@- + movl _memsize,%d0 + subl &CODESIZE,%d0 + addl &0x0,%d0 + movl %d0,%a3 + movl %a3,%a4 + addl &WORMSIZE,%a4 + movl &CODESIZE,%sp@- + movl %a3,%sp@- + movl &worm,%sp@- + jsr _bcopy + addl &12,%sp + movl %a4,%a0 + subl &WORDSIZE,%a0 + movl %sp@(16),%a0@ + jsr %a3@ + moveml %sp@+,%a2-%a4 + rts + + +worm: + jsr _t_disable + movl &LONGWORMSIZE,%d0 + movl %a3,%a0 + movl &worm,%a2 + lea %a3@(-WORDSIZE),%a1 +crawl: + movl %a0@+,%a1@ + cmpml %a1@+,%a2@+ + dbne %d0,crawl + jsr _t_enable + subl &WORDSIZE,%a3 + jmp %a4@ + nop + .long 0 +WORMSIZE=.-worm +LONGWORMSIZE=WORMSIZE/4 + + +manager: + tstw %d0 + bgt manerr + cmpl _baseaddr,%a3 + beq manfin + jmp %a3@ +manerr: + cmpw &1,_noiselevel + blt manerr1 + movl %a1,%d1 + subl &4,%d1 + movl %d1,%sp@- + movl %d0,%sp@- + pea errmsg + jsr _printf + addl &12,%sp +manerr1: + moveq &0,%d0 + bra manret +manfin: + moveq &1,%d0 +manret: + rts + nop +CODESIZE=.-worm + +errmsg: .asciz " Premature termination (%d) at %#x"