7f176c5a0b
Add a regression test for tcg indirect global lowering. This appeared with nios2, with cps != 0, so that we use indirection into the shadow register set. An indirect call verifies alignment of rA. The use of rA was live across the brcond leading to a tcg_debug_assert failure. Cc: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20220421151735.31996-65-richard.henderson@linaro.org>
34 lines
1007 B
Makefile
34 lines
1007 B
Makefile
#
|
|
# Nios2 system tests
|
|
#
|
|
# Copyright Linaro Ltd 2022
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
#
|
|
|
|
NIOS2_SYSTEM_SRC = $(SRC_PATH)/tests/tcg/nios2
|
|
VPATH += $(NIOS2_SYSTEM_SRC)
|
|
|
|
# These objects provide the basic boot code and helper functions for all tests
|
|
CRT_OBJS = boot.o intr.o $(MINILIB_OBJS)
|
|
LINK_SCRIPT = $(NIOS2_SYSTEM_SRC)/10m50-ghrd.ld
|
|
|
|
CFLAGS += -nostdlib -g -O0 $(MINILIB_INC)
|
|
LDFLAGS += -Wl,-T$(LINK_SCRIPT) -static -nostdlib $(CRT_OBJS) -lgcc
|
|
|
|
%.o: %.S
|
|
$(call quiet-command, $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -x assembler-with-cpp -c $< -o $@, AS, $@)
|
|
|
|
%.o: %.c
|
|
$(call quiet-command, $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c $< -o $@, CC, $@)
|
|
|
|
# Build and link the tests
|
|
%: %.o $(LINK_SCRIPT) $(CRT_OBJS)
|
|
$(call quiet-command, $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< -o $@ $(LDFLAGS), LD, $@)
|
|
|
|
# FIXME: nios2 semihosting writes to stdout, not a chardev
|
|
QEMU_OPTS = -M 10m50-ghrd,vic=on -semihosting >$@.out -kernel
|
|
|
|
memory: CFLAGS+=-DCHECK_UNALIGNED=0
|
|
TESTS += $(MULTIARCH_TESTS)
|
|
TESTS += test-shadow-1
|