mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-22 19:09:31 +08:00
v850eq simulator tests.
This commit is contained in:
60
sim/testsuite/v850eq-elf/Makefile.in
Normal file
60
sim/testsuite/v850eq-elf/Makefile.in
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
AS_FOR_TARGET=v850-elf-as
|
||||||
|
LD_FOR_TARGET=v850-elf-ld
|
||||||
|
RUN_FOR_TARGET=~/build/test-sim/v850-elf/sim/v850/run
|
||||||
|
srcdir=.
|
||||||
|
|
||||||
|
TESTS= \
|
||||||
|
hello.hi \
|
||||||
|
exit47.ko \
|
||||||
|
\
|
||||||
|
t-ldsr.ok
|
||||||
|
|
||||||
|
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 the tests
|
||||||
|
|
||||||
|
.SUFFIXES: .ok .run .hi .ko
|
||||||
|
.run.ok:
|
||||||
|
rm -f tmp-$* $*.hi
|
||||||
|
ulimit -t 5 ; \
|
||||||
|
$(RUN_FOR_TARGET) $(RUNFLAGS_FOR_TARGET) $*.run > tmp-$*
|
||||||
|
mv tmp-$* $*.ok
|
||||||
|
.run.hi:
|
||||||
|
rm -f tmp-$* $*.hi diff-$*
|
||||||
|
ulimit -t 5 ; \
|
||||||
|
$(RUN_FOR_TARGET) $(RUNFLAGS_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) $(RUNFLAGS_FOR_TARGET) $*.run > tmp-$* ; \
|
||||||
|
if [ $$? -eq 47 ] ; then \
|
||||||
|
exit 0 ; \
|
||||||
|
else \
|
||||||
|
exit 1 ; \
|
||||||
|
fi
|
||||||
|
mv tmp-$* $*.ko
|
||||||
|
|
||||||
|
|
||||||
|
# Rules for building the test
|
||||||
|
# Preference is for obtaining the executable (.run) from a prebuilt image
|
||||||
|
|
||||||
|
.SUFFIXES: .uue .s .S .run
|
||||||
|
.uue.run:
|
||||||
|
head $* | grep $*.run > /dev/null
|
||||||
|
uudecode $*.uue
|
||||||
|
.run.u:
|
||||||
|
uuencode < $*.run $*.run > $*.u
|
||||||
|
.o.run:
|
||||||
|
$(LD_FOR_TARGET) $(LDFLAGS_FOR_TARGET) -o $*.run $*.o
|
||||||
|
.s.o:
|
||||||
|
$(AS_FOR_TARGET) $(ASFLAGS_FOR_TARGET) $(srcdir)/$*.s -o $*.o
|
||||||
|
.S.o:
|
||||||
|
$(AS_FOR_TARGET) $(ASFLAGS_FOR_TARGET) $(srcdir)/$*.S -o $*.o
|
||||||
|
# NNN
|
15
sim/testsuite/v850eq-elf/configure.in
Normal file
15
sim/testsuite/v850eq-elf/configure.in
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
|
sinclude(../common/aclocal.m4)
|
||||||
|
AC_PREREQ(2.5)dnl
|
||||||
|
AC_INIT(Makefile.in)
|
||||||
|
|
||||||
|
SIM_AC_COMMON
|
||||||
|
|
||||||
|
SIM_AC_OPTION_ENDIAN(LITTLE_ENDIAN)
|
||||||
|
SIM_AC_OPTION_HOSTENDIAN
|
||||||
|
SIM_AC_OPTION_WARNINGS
|
||||||
|
|
||||||
|
AC_CHECK_FUNCS(time chmod utime fork execve execv chown)
|
||||||
|
AC_CHECK_HEADERS(unistd.h stdlib.h string.h strings.h utime.h time.h)
|
||||||
|
|
||||||
|
SIM_AC_OUTPUT
|
4
sim/testsuite/v850eq-elf/exit47.s
Normal file
4
sim/testsuite/v850eq-elf/exit47.s
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
.include "t-macros.i"
|
||||||
|
|
||||||
|
start
|
||||||
|
exit47
|
15
sim/testsuite/v850eq-elf/hello.s
Normal file
15
sim/testsuite/v850eq-elf/hello.s
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
.include "t-macros.i"
|
||||||
|
|
||||||
|
start
|
||||||
|
|
||||||
|
mov 4, r6
|
||||||
|
mov 1, r7 # FID
|
||||||
|
load32 r8 hello # string
|
||||||
|
mov ehello - hello, r9 # size
|
||||||
|
trap 31
|
||||||
|
|
||||||
|
exit0
|
||||||
|
|
||||||
|
.data
|
||||||
|
hello: .ascii "Hello World!\n"
|
||||||
|
ehello:
|
13
sim/testsuite/v850eq-elf/t-ldsr.s
Normal file
13
sim/testsuite/v850eq-elf/t-ldsr.s
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
.include "t-macros.i"
|
||||||
|
|
||||||
|
start
|
||||||
|
|
||||||
|
# check that a ldsr/stsr instruction clears reserved bits
|
||||||
|
mov -1, r1
|
||||||
|
ldsr r1, psw
|
||||||
|
stsr psw, r2
|
||||||
|
sub r1, r2
|
||||||
|
be bad
|
||||||
|
exit0
|
||||||
|
bad:
|
||||||
|
exit47
|
25
sim/testsuite/v850eq-elf/t-macros.i
Normal file
25
sim/testsuite/v850eq-elf/t-macros.i
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
.macro start
|
||||||
|
.text
|
||||||
|
.globl _start
|
||||||
|
_start:
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro exit47
|
||||||
|
mov 1, r6
|
||||||
|
addi 47, r0, r7
|
||||||
|
trap 31
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro exit0
|
||||||
|
mov 1, r6
|
||||||
|
mov 0, r7
|
||||||
|
trap 31
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro load32 reg val
|
||||||
|
jr 1f
|
||||||
|
.align 2
|
||||||
|
1: jarl 2f, \reg
|
||||||
|
.long \val
|
||||||
|
2: ld.w 0[\reg], \reg
|
||||||
|
.endm
|
Reference in New Issue
Block a user