From 96b4e5bb5e38f141d9e5da64788013737d619242 Mon Sep 17 00:00:00 2001 From: Ken Raeburn Date: Mon, 5 Apr 1993 17:26:51 +0000 Subject: [PATCH] add some new tests, and new testing procs --- gas/testsuite/gas/gas.exp | 26 +++++++++++++++++--------- gas/testsuite/gas/p2389.s | 16 ++++++++++++++++ gas/testsuite/gas/p2389a.s | 3 +++ gas/testsuite/gas/p2411.s | 14 ++++++++++++++ gas/testsuite/gas/p2430.s | 10 ++++++++++ gas/testsuite/gas/t2.s | 6 ++++++ 6 files changed, 66 insertions(+), 9 deletions(-) create mode 100644 gas/testsuite/gas/p2389a.s create mode 100644 gas/testsuite/gas/p2411.s create mode 100644 gas/testsuite/gas/t2.s diff --git a/gas/testsuite/gas/gas.exp b/gas/testsuite/gas/gas.exp index 362c66edeff..bb25e4d85f7 100644 --- a/gas/testsuite/gas/gas.exp +++ b/gas/testsuite/gas/gas.exp @@ -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" } diff --git a/gas/testsuite/gas/p2389.s b/gas/testsuite/gas/p2389.s index 0475f9dc595..3fa93e9b478 100644 --- a/gas/testsuite/gas/p2389.s +++ b/gas/testsuite/gas/p2389.s @@ -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 index 00000000000..76b27657ad0 --- /dev/null +++ b/gas/testsuite/gas/p2389a.s @@ -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 index 00000000000..3e4f932de0b --- /dev/null +++ b/gas/testsuite/gas/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/p2430.s b/gas/testsuite/gas/p2430.s index 4ba2f160583..9c99b91d28b 100644 --- a/gas/testsuite/gas/p2430.s +++ b/gas/testsuite/gas/p2430.s @@ -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 index 00000000000..7b71e86ff97 --- /dev/null +++ b/gas/testsuite/gas/t2.s @@ -0,0 +1,6 @@ + .text +loop2: + move.l %d1,%a0@+ + dbf %d0,loop1 + .data +loop1: bra loop2 -- 2.30.2