tests/tcg/alpha: add Alpha specific tests
These tests did use their own crt.o stub however that is a little stone age so we drop crt.S and just statically link to the cross compilers libraries. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
parent
409c1c9cbd
commit
4f2cbcfb4d
@ -1,35 +0,0 @@
|
||||
CROSS=alpha-linux-gnu-
|
||||
CC=$(CROSS)gcc
|
||||
AS=$(CROSS)as
|
||||
|
||||
SIM=../../alpha-linux-user/qemu-alpha
|
||||
|
||||
CFLAGS=-O
|
||||
LINK=$(CC) -o $@ crt.o $< -nostdlib
|
||||
|
||||
TESTS=test-cond test-cmov
|
||||
|
||||
all: hello-alpha $(TESTS)
|
||||
|
||||
hello-alpha: hello-alpha.o crt.o
|
||||
$(LINK)
|
||||
|
||||
test-cond: test-cond.o crt.o
|
||||
$(LINK)
|
||||
|
||||
test-cmov.o: test-cond.c
|
||||
$(CC) -c $(CFLAGS) -DTEST_CMOV -o $@ $<
|
||||
|
||||
test-cmov: test-cmov.o crt.o
|
||||
$(LINK)
|
||||
|
||||
test-ovf: test-ovf.o crt.o
|
||||
$(LINK)
|
||||
|
||||
check: $(TESTS)
|
||||
for f in $(TESTS); do $(SIM) $$f || exit 1; done
|
||||
|
||||
clean:
|
||||
$(RM) *.o *~ hello-alpha $(TESTS)
|
||||
|
||||
.PHONY: clean all check
|
@ -2,5 +2,17 @@
|
||||
#
|
||||
# Alpha specific tweaks
|
||||
|
||||
ALPHA_SRC=$(SRC_PATH)/tests/tcg/alpha
|
||||
VPATH+=$(ALPHA_SRC)
|
||||
|
||||
ALPHA_TESTS=hello-alpha test-cond test-cmov test-ovf
|
||||
TESTS+=$(ALPHA_TESTS)
|
||||
|
||||
test-cmov: EXTRA_CFLAGS=-DTEST_CMOV
|
||||
test-cmov: test-cond.c
|
||||
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS)
|
||||
|
||||
run-test-cmov: test-cmov
|
||||
|
||||
# On Alpha Linux only supports 8k pages
|
||||
EXTRA_RUNS+=run-test-mmap-8192
|
||||
|
@ -1,26 +0,0 @@
|
||||
.text
|
||||
|
||||
.globl _start
|
||||
.ent _start,0
|
||||
_start:
|
||||
.frame $15,0,$15
|
||||
br $29,1f
|
||||
1: ldgp $29, 0($29)
|
||||
.prologue 0
|
||||
ldq $27,main($29) !literal!1
|
||||
jsr $26,($27)
|
||||
or $0,$0,$16
|
||||
.end _start
|
||||
|
||||
.globl _exit
|
||||
_exit:
|
||||
lda $0,1
|
||||
callsys
|
||||
|
||||
call_pal 0
|
||||
|
||||
.globl write
|
||||
write:
|
||||
lda $0,4
|
||||
callsys
|
||||
ret
|
@ -1,3 +1,5 @@
|
||||
#include <unistd.h>
|
||||
|
||||
int main (void)
|
||||
{
|
||||
write (1, "hello\n", 6);
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include <unistd.h>
|
||||
|
||||
#ifdef TEST_CMOV
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
#include <unistd.h>
|
||||
|
||||
static long test_subqv (long a, long b)
|
||||
{
|
||||
long res;
|
||||
|
Loading…
Reference in New Issue
Block a user