You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/tests/tcg/arm
Peter Maydell 86f847a39a tests/tcg/arm: Remove test-arm-iwmmxt test
The test-arm-iwmmmxt test isn't testing what it thinks it's testing.

If you run it with a CPU type that supports iwMMXt then it will crash
immediately with a SIGILL, because (even with -marm) GCC will link it
against startup code that is in Thumb mode, and no iwMMXt CPU has
Thumb:

00010338 <_start>:
   10338:       f04f 0b00       mov.w   fp, #0
   1033c:       f04f 0e00       mov.w   lr, #0

If you run it with a CPU type which does *not* support iwMMXt, which
is what 'make check-tcg' does, then QEMU will not try to handle the
insns as iwMMXt.  Instead the translator turns them into illegal
instructions.  Then in the linux-user cpu_loop() code we identify
them as FPA11 instructions inside emulate_arm_fpa11(), because the
FPA11 happened to use the same coprocessor number as these iwMMXt
insns.  So we execute a completely different set of FPA11 insns,
which means we don't crash, but we will print garbage to stdout.
Then the test binary always exits with a 0 return code, so 'make
check-tcg' thinks the test passes.

Modern gnueabihf toolchains assume in their startup code that the CPU
is not so old as to not support Thumb, so there's no way to get them
to generate a binary that actually does what the test wants.  Since
we're deprecating iwMMXt emulation anyway, it's not worth trying to
salvage the test case to get it to really test the iwMMXt insns.

Delete the test entirely.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20250127112715.2936555-3-peter.maydell@linaro.org
2 weeks ago
..
system tests/tcg: enable semiconsole test for Arm 1 year ago
Makefile.softmmu-target tests/tcg: Use --noexecstack with assembler files 7 months ago
Makefile.target tests/tcg/arm: Remove test-arm-iwmmxt test 2 weeks ago
README tests/tcg/arm: Remove test-arm-iwmmxt test 2 weeks ago
commpage.c tests/tcg: add simple commpage test case 5 years ago
fcvt.c tests/tcg/arm: Use vmrs/vmsr instead of mcr/mrc 8 months ago
fcvt.ref tests/tcg/arm: Fix fcvt result messages 8 months ago
float_convd.ref tests/tcg: add float_convd test 3 years ago
float_convs.ref tests/tcg: add generic version of float_convs 5 years ago
float_madds.ref tests/tcg: add float_madds test to multiarch 5 years ago
hello-arm.c avoid TABs in files that only contain a few 6 years ago
pcalign-a32.c tests/tcg: Add arm and aarch64 pc alignment tests 3 years ago
semicall.h tests/tcg: update licenses to GPLv2 as intended 1 year ago

README

These are ARM specific guest programs

hello-arm
---------

A very simple inline assembly, write syscall based hello world