qemu-s390x signals with SIGILL on compare-and-trap instructions. This breaks OpenJDK which expects SIGFPE in its implementation of implicit exceptions.
This patch depends on [PATCH v6 0/2] target/s390x: Fix SIGILL and SIGFPE psw.addr reporting https://lore.kernel.org/qemu-devel/20210705210434.45824-1-...@linux.ibm.com/ Based-on: 20210705210434.45824-1-...@linux.ibm.com v1 -> v2: - Update to latest version of '... psw.addr reporting' patch - Rebase to master and fix conflicts in tests/tcg/s390x/Makefile.target v2 -> v3: - Check for non-simulated IEEE exception DXC codes explicitly when getting si_codes - Ensure si_code is set in all cases - Improve comments Jonathan Albrecht (2): linux-user/s390x: signal with SIGFPE on compare-and-trap tests/tcg: Test that compare-and-trap raises SIGFPE linux-user/s390x/cpu_loop.c | 54 ++++++++++------- tests/tcg/s390x/Makefile.target | 1 + tests/tcg/s390x/trap.c | 102 ++++++++++++++++++++++++++++++++ 3 files changed, 137 insertions(+), 20 deletions(-) create mode 100644 tests/tcg/s390x/trap.c -- 2.31.1