add some new tests, and new testing procs
authorKen Raeburn <raeburn@cygnus>
Mon, 5 Apr 1993 17:26:51 +0000 (17:26 +0000)
committerKen Raeburn <raeburn@cygnus>
Mon, 5 Apr 1993 17:26:51 +0000 (17:26 +0000)
gas/testsuite/gas/gas.exp
gas/testsuite/gas/p2389.s
gas/testsuite/gas/p2389a.s [new file with mode: 0644]
gas/testsuite/gas/p2411.s [new file with mode: 0644]
gas/testsuite/gas/p2430.s
gas/testsuite/gas/t2.s [new file with mode: 0644]

index 362c66edeff0d9fae15d0e2934030eabb2af924d..bb25e4d85f77b451f6541c013d2bd9bec7a9f706 100644 (file)
@@ -13,31 +13,39 @@ gas_init
 # Target-independent tests
 #
 
-gas_test "$testdir/p2425.s" "pcrel values in assignment"
+gas_test "p2425.s" "" "pcrel values in assignment"
 
-gas_test "-al $testdir/p2425.s" "pcrel values in assignment, with listing"
+gas_test_ignore_stdout "p2425.s" "-al" "pcrel values in assignment, with listing"
 
 #
 # Some m68k-coff tests
 #
 if [istarget m68*-*-coff] then {
-    gas_test "$testdir/p2430.s" "local branch not in text section"
+    gas_test "p2430.s" "" "local branch not in text section"
+    gas_test_ignore_stdout "p2430.s" "-al" "local branch not in text section (with listing)"
 
-    gas_test "$testdir/t1.s" "multiple .file directives"
+    gas_test "t1.s" "" "multiple .file directives"
 
-    gas_test "$testdir/p2389.s" "bss fill"
+    gas_test "p2389.s" "" "bss fill"
+    gas_test_error "p2389a.s" "" "bss fill with non-zero data"
+
+    if [file exists "$testdir/p2411.s"] then {
+       gas_test "p2411.s" "" "PR 2411"
+    }
 }
 
 #
 # Some generic m68k tests
 #
-if [string match m68* $target_cpu] then {
+if [istarget m68*-*-*] then {
     #
     # Operand size dependent on offset computed using operand size
     #
     if [file exists "$testdir/p2425a.s"] then {
-       gas_test "$testdir/p2425a.s" "PR 2425"
+       gas_test "p2425a.s" "" "PR 2425"
     }
+
+    gas_test "t2.s" "" "cross-section branch"
 }
 
 #
@@ -47,6 +55,6 @@ if [string match m68* $target_cpu] then {
 # records.  Verify that we can accept both.
 #
 if [istarget sparc-*-solaris2*] then {
-    gas_test "sol-cc.s" "SPARC Solaris cc -g"
-    gas_test "sol-gcc.s" "SPARC Solaris gcc -g"
+    gas_test "sol-cc.s"  "" "SPARC Solaris cc -g"
+    gas_test "sol-gcc.s" "" "SPARC Solaris gcc -g"
 }
index 0475f9dc59587391c54590a6c918c53479aebc92..3fa93e9b4786ddba40517e2e9af79b36574b2d3a 100644 (file)
@@ -1,3 +1,19 @@
+#  I reached a point where the file looks
+# clean and complies with gas syntax, but it core dumps gas. Here's a
+# little gdb info:
+#
+# Program terminated with signal 11, Segmentation fault.
+# #0  0x6323c in memcpy ()
+# (gdb) bt
+# #0  0x6323c in memcpy ()
+# #1  0xf2b0 in fill_section (abfd=0xeaee8, filehdr=0x8a7f4, 
+#     file_cursor=0xf7fff654) at obj-format.c:534
+# #2  0x112a8 in write_object_file () at obj-format.c:1786
+# #3  0x13ef8 in main (argc=5, argv=0xf7fff7bc) at ../../p3/gas/as.c:310
+# (gdb) 
+#
+# gas did manage to create the .o file at this point.
+
        .bss
 
 _ASIC_INT_TBL:   .space 32,0   | keep interrupt routines here
diff --git a/gas/testsuite/gas/p2389a.s b/gas/testsuite/gas/p2389a.s
new file mode 100644 (file)
index 0000000..76b2765
--- /dev/null
@@ -0,0 +1,3 @@
+       .bss
+
+_ASIC_INT_TBL:   .space 32,1   | keep interrupt routines here
diff --git a/gas/testsuite/gas/p2411.s b/gas/testsuite/gas/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
index 4ba2f160583dd85c846751a51caf4a236b549d71..9c99b91d28becdb424fd110d76ec3f84c9545135 100644 (file)
@@ -1,3 +1,13 @@
+# We get:
+#
+# m68k-coff-as x.s
+# x.s:5: FATAL:failed sanity check.
+#
+# from the following .s file:
+
        .sect foo
 tag:
        bra tag
+
+# Changing the section to .text makes it work, but we need to
+# use multiple sections other than .text to link the way we want.
diff --git a/gas/testsuite/gas/t2.s b/gas/testsuite/gas/t2.s
new file mode 100644 (file)
index 0000000..7b71e86
--- /dev/null
@@ -0,0 +1,6 @@
+       .text
+loop2: 
+       move.l  %d1,%a0@+
+       dbf     %d0,loop1
+       .data
+loop1: bra     loop2