fix screwed up sanitization
authorIan Lance Taylor <ian@airs.com>
Fri, 5 Jul 1996 15:19:30 +0000 (15:19 +0000)
committerIan Lance Taylor <ian@airs.com>
Fri, 5 Jul 1996 15:19:30 +0000 (15:19 +0000)
gas/testsuite/gas/m68k-coff/confidential/gas.exp [new file with mode: 0644]
gas/testsuite/gas/m68k-coff/confidential/p2411.s [new file with mode: 0644]
gas/testsuite/gas/m68k/confidential/gas.exp [new file with mode: 0644]
gas/testsuite/gas/m68k/confidential/p2425a.s [new file with mode: 0644]

diff --git a/gas/testsuite/gas/m68k-coff/confidential/gas.exp b/gas/testsuite/gas/m68k-coff/confidential/gas.exp
new file mode 100644 (file)
index 0000000..96d734a
--- /dev/null
@@ -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 (file)
index 0000000..3e4f932
--- /dev/null
@@ -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 (file)
index 0000000..bc8205b
--- /dev/null
@@ -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 (file)
index 0000000..96cc86d
--- /dev/null
@@ -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"