--- /dev/null
+if [istarget m68*-*-coff] then {
+ gas_test "p2411.s" "" $stdoptlist "PR 2411"
+}
--- /dev/null
+# 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
--- /dev/null
+#
+# 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"
+}
--- /dev/null
+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"