mirror of
https://github.com/qemu/qemu.git
synced 2025-08-09 10:25:06 +00:00
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 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
|
# On Alpha Linux only supports 8k pages
|
||||||
EXTRA_RUNS+=run-test-mmap-8192
|
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)
|
int main (void)
|
||||||
{
|
{
|
||||||
write (1, "hello\n", 6);
|
write (1, "hello\n", 6);
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
#ifdef TEST_CMOV
|
#ifdef TEST_CMOV
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
static long test_subqv (long a, long b)
|
static long test_subqv (long a, long b)
|
||||||
{
|
{
|
||||||
long res;
|
long res;
|
||||||
|
Loading…
Reference in New Issue
Block a user