b6a48d2a4b
commit f025692c99
("accel/tcg: Clear PAGE_WRITE before translation")
fixed cross-modifying code handling, but did not add a test. The
changed code was further improved recently [1], and I was not sure
whether these modifications were safe (spoiler: they were fine).
Add a test to make sure there are no regressions.
[1] https://lists.gnu.org/archive/html/qemu-devel/2022-09/msg00034.html
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20241001150617.9977-1-iii@linux.ibm.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20241023113406.1284676-8-alex.bennee@linaro.org>
40 lines
993 B
Makefile
40 lines
993 B
Makefile
# -*- Mode: makefile -*-
|
|
#
|
|
# x86_64 tests - included from tests/tcg/Makefile.target
|
|
#
|
|
# Currently we only build test-x86_64 and test-i386-ssse3 from
|
|
# $(SRC_PATH)/tests/tcg/i386/
|
|
#
|
|
|
|
include $(SRC_PATH)/tests/tcg/i386/Makefile.target
|
|
|
|
X86_64_TESTS += test-2413
|
|
|
|
ifeq ($(filter %-linux-user, $(TARGET)),$(TARGET))
|
|
X86_64_TESTS += vsyscall
|
|
X86_64_TESTS += noexec
|
|
X86_64_TESTS += cmpxchg
|
|
X86_64_TESTS += adox
|
|
X86_64_TESTS += test-1648
|
|
X86_64_TESTS += test-2175
|
|
X86_64_TESTS += cross-modifying-code
|
|
TESTS=$(MULTIARCH_TESTS) $(X86_64_TESTS) test-x86_64
|
|
else
|
|
TESTS=$(MULTIARCH_TESTS)
|
|
endif
|
|
|
|
adox: CFLAGS=-O2
|
|
|
|
run-test-i386-ssse3: QEMU_OPTS += -cpu max
|
|
run-plugin-test-i386-ssse3-%: QEMU_OPTS += -cpu max
|
|
|
|
cross-modifying-code: CFLAGS+=-pthread
|
|
cross-modifying-code: LDFLAGS+=-pthread
|
|
|
|
test-x86_64: LDFLAGS+=-lm -lc
|
|
test-x86_64: test-i386.c test-i386.h test-i386-shift.h test-i386-muldiv.h
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
|
|
|
|
%: $(SRC_PATH)/tests/tcg/x86_64/%.c
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
|