sim: m32r: clean up redundant test coverage

The m32r-elf subdir contained three tests:
* exit47: A program to test exit status of 47 from sim.
* hello: Standard "hello world" output program.
* loop: An infinite loop program.

There's already a sim/m32r/hello.ms test that does exactly the same
thing as m32r-elf/hello.s, so we can delete that.

The loop.s test is never referenced anywhere, and is all of 2 lines.
Anyone who really needs a while(1); test case and re-implement it
themselves locally.

That leaves the single exit47 test.  Now that the sim test harness
supports testing for custom exit status, we can easily move that to
sim/m32r/exit47.ms to maintain test coverage.

The remaining differences between m32r-elf & sim/m32r are:
* m32r-elf/ runs for m32r-*-elf while sim/m32r/ runs for m32r*-*-*.
* m32r-elf/ runs "*.s" files while sim/m32r/ runs "*.ms" files.

On closer inspection, these are also meaningless distinctions:
* There is nothing specific to the tests that require an *-elf
  target.  Normally that would mean newlib+libgloss type stuff,
  but there's no such requirement in m32r-elf/.
* The ".s" suffix is the standard "this is an assembly file"
  suffix.  Turns out ".ms" is just how sim/m32r/ (and a few other
  CGEN based targets) categorize/bucket test cases.  It simply
  means "miscellaneous .s" as in "this is an assembly file, and
  run/bucket its test results in the miscellaneous category".

So moving m32r-elf/exit47.s to sim/m32r/exit47.ms makes sense and
simplifies things quite a bit for the target while also slightly
increasing the coverage for some tuples.
This commit is contained in:
Mike Frysinger 2021-01-05 01:42:20 -05:00
parent 37a9c3a53e
commit 7cf91a2481
11 changed files with 14 additions and 3203 deletions

View File

@ -1,3 +1,9 @@
2021-01-15 Mike Frysinger <vapier@gentoo.org>
* configure.ac (target): Delete m32r-*-elf case.
* configure: Regenerate.
* m32r-elf/: Delete directory.
2021-01-15 Mike Frysinger <vapier@gentoo.org>
* lib/sim-defs.exp (sim_run): Delete status and return return_code.

View File

@ -647,7 +647,6 @@ host_alias
target_alias'
ac_subdirs_all='d10v-elf
frv-elf
m32r-elf
mips64el-elf'
# Initialize some variables set by options.
@ -1839,10 +1838,6 @@ subdirs="$subdirs d10v-elf"
frv-*-elf )
subdirs="$subdirs frv-elf"
;;
m32r-*-elf )
subdirs="$subdirs m32r-elf"
;;
mips64el-*-elf )
subdirs="$subdirs mips64el-elf"

View File

@ -19,9 +19,6 @@ case ${target} in
frv-*-elf )
AC_CONFIG_SUBDIRS(frv-elf)
;;
m32r-*-elf )
AC_CONFIG_SUBDIRS(m32r-elf)
;;
mips64el-*-elf )
AC_CONFIG_SUBDIRS(mips64el-elf)
;;

View File

@ -1,18 +0,0 @@
2020-10-06 Andrew Burgess <andrew.burgess@embecosm.com>
* configure: Regnerate.
* configure.ac (AC_CONFIG_AUX_DIR): Update.
2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* configure: Regenerate.
2005-01-07 Andrew Cagney <cagney@gnu.org>
* configure.ac: Rename configure.in, require autoconf 2.59.
* configure: Re-generate.
Thu Feb 12 19:09:38 1998 Doug Evans <devans@canuck.cygnus.com>
* Directory created.

View File

@ -1,156 +0,0 @@
# Makefile for regression testing the m32r simulator.
# Copyright (C) 1998-2021 Free Software Foundation, Inc.
# This file is part of GDB.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
VPATH = @srcdir@
srcdir = @srcdir@
srcroot = $(srcdir)/../../..
prefix = @prefix@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
target_alias = @target_alias@
program_transform_name = @program_transform_name@
build_canonical = @build@
host_canonical = @host@
target_canonical = @target@
target_cpu = @target_cpu@
SHELL = @SHELL@
SUBDIRS = @subdirs@
RPATH_ENVVAR = @RPATH_ENVVAR@
EXPECT = `if [ -f ../../../expect/expect ] ; then \
echo ../../../expect/expect ; \
else echo expect ; fi`
RUNTEST = $(RUNTEST_FOR_TARGET)
RUNTESTFLAGS =
RUNTEST_FOR_TARGET = `\
if [ -f $${srcroot}/dejagnu/runtest ]; then \
echo $${srcroot}/dejagnu/runtest; \
else \
if [ "$(host_canonical)" = "$(target_canonical)" ]; then \
echo runtest; \
else \
t='$(program_transform_name)'; echo runtest | sed -e '' $$t; \
fi; \
fi`
AS_FOR_TARGET = `\
if [ -x ../../../gas/as-new ]; then \
echo ../../../gas/as-new ; \
else \
echo $(target_alias)-as ; \
fi`
LD_FOR_TARGET = `\
if [ -x ../../../ld/ld-new ]; then \
echo ../../../ld/ld-new ; \
else \
echo $(target_alias)-ld ; \
fi`
RUN_FOR_TARGET = `\
if [ -x ../../../sim/${target_cpu}/run ]; then \
echo ../../../sim/${target_cpu}/run ; \
else \
echo $(target_alias)-run ; \
fi`
TESTS = \
hello.ok \
exit47.ko
check: sanity $(TESTS)
sanity:
@eval echo AS_FOR_TARGET = $(AS_FOR_TARGET)
@eval echo LD_FOR_TARGET = $(LD_FOR_TARGET)
@eval echo RUN_FOR_TARGET = $(RUN_FOR_TARGET)
# Rules for running all the tests, put into three types
# exit success, exit fail, print "Hello World"
.u.log:
uudecode $*.u
$(RUN_FOR_TARGET) $* > $*.log
# Rules for running the tests
.SUFFIXES: .u .ok .run .hi .ko
.run.ok:
rm -f tmp-$* $*.hi
ulimit -t 5 ; $(RUN_FOR_TARGET) $*.run > tmp-$*
mv tmp-$* $*.ok
.run.hi:
rm -f tmp-$* $*.hi diff-$*
ulimit -t 5 ; $(RUN_FOR_TARGET) $*.run > tmp-$*
echo "Hello World" | diff - tmp-$* > diff-$*
cat tmp-$* diff-$* > $*.hi
.run.ko:
rm -f tmp-$* $*.ko
set +e ; \
ulimit -t 5 ; $(RUN_FOR_TARGET) $*.run > tmp-$* ; \
if [ $$? -eq 47 ] ; then \
exit 0 ; \
else \
exit 1 ; \
fi
mv tmp-$* $*.ko
# Rules for building all the tests and packing them into
# uuencoded files.
uuencode: em-pstr.u em-e0.u em-e47.u em-pchr.u
.SUFFIXES: .u .s .run
.s.u:
rm -f $*.o $*.run
$(AS_FOR_TARGET) $(srcdir)/$*.s -o $*.o
$(LD_FOR_TARGET) -o $* $*.o
uuencode < $* $* > $*.u
rm -f $*.o $*
.s.run:
rm -f $*.o $*.run
$(AS_FOR_TARGET) $(srcdir)/$*.s -o $*.o
$(LD_FOR_TARGET) -o $*.run $*.o
rm -f $*.o $*
clean mostlyclean:
rm -f *~ core *.o a.out
rm -f $(TESTS)
distclean maintainer-clean realclean: clean
rm -f *~ core
rm -f Makefile config.status *-init.exp
rm -fr *.log summary detail *.plog *.sum *.psum site.*
Makefile : Makefile.in config.status
$(SHELL) config.status
config.status: configure
$(SHELL) config.status --recheck

File diff suppressed because it is too large Load Diff

View File

@ -1,18 +0,0 @@
dnl Process this file file with autoconf to produce a configure script.
dnl This file is a shell script fragment that supplies the information
dnl necessary to tailor a template configure script into the configure
dnl script appropriate for this directory. For more information, check
dnl any existing configure script.
dnl FIXME - think of a truly uniq file to this directory
AC_INIT(Makefile.in)
CC=${CC-cc}
AC_SUBST(CC)
AC_CONFIG_AUX_DIR(../../..)
AC_CANONICAL_SYSTEM
AC_SUBST(target_cpu)
AC_OUTPUT(Makefile)

View File

@ -1,17 +0,0 @@
.globl _start
_start:
; write (hello world)
ldi8 r3,#14
ld24 r2,#hello
ldi8 r1,#1
ldi8 r0,#5
trap #0
; exit (0)
ldi8 r1,#0
ldi8 r0,#1
trap #0
length: .long 14
hello: .ascii "Hello World!\r\n"

View File

@ -1,2 +0,0 @@
.globl _start
_start: bra _start

View File

@ -1,3 +1,7 @@
2021-01-15 Mike Frysinger <vapier@gentoo.org>
* exit47.ms: New testcase from ../../m32r-elf/.
1999-04-21 Doug Evans <devans@casey.cygnus.com>
* nop.cgs: Add missing nop insn.

View File

@ -1,3 +1,7 @@
# mach(): m32r m32rx
# status: 47
# output:
;; Return with exit code 47.
.globl _start