On 2021-06-21 8:00 am, Ilya Leoshkevich wrote:
On Thu, 2021-06-10 at 11:49 +0200, David Hildenbrand wrote:
On 02.06.21 02:22, Ilya Leoshkevich wrote:
> qemu-s390x puts a wrong value into SIGILL's siginfo_t's psw.addr:
> it
> should be a pointer to the instruction following the illegal
> instruction, but at the moment it is a pointer to the illegal
> instruction itself. This breaks OpenJDK, which relies on this
> value.
>
> Patch 1 fixes the issue, patch 2 adds a test.
>
> v1:
> https://lists.nongnu.org/archive/html/qemu-devel/2021-05/msg06592.html
> v1 -> v2: Use a better buglink (Cornelia), simplify the inline asm
> magic in the test and add an explanation (David).
>
> v2:
> https://lists.nongnu.org/archive/html/qemu-devel/2021-05/msg06649.html
> v2 -> v3: Fix SIGSEGV handling (found when trying to run valgrind
> under
> qemu-user).
>
There might still be something wrong:
https://gitlab.com/qemu-project/qemu/-/issues/319
At least it smells like some more signal (mis)handling.
I've taken another look, and it must be compare-and-trap SIGFPE/SIGILL
mixup. I think I will just fix it here in v4.
Yes, I've been looking at it too and found it is a compare-and-trap
SIGFPE/SIGILL mixup. I was about to send out a patch if you want
to wait. I should be able to send it out in an hour.
Jon
Best regards,
Ilya