[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 0/3] Fix BRASL and BRCL with large negative offsets
From: |
Ilya Leoshkevich |
Subject: |
[PATCH v3 0/3] Fix BRASL and BRCL with large negative offsets |
Date: |
Mon, 14 Mar 2022 11:42:29 +0100 |
Hi,
I noticed that sometimes jumping backwards leads to crashes or hangs.
The problem is a missing cast.
Patches 1 and 2 fix the problem, patch 3 adds a test.
v1: https://lists.nongnu.org/archive/html/qemu-devel/2022-03/msg03356.html
v1 -> v2:
- Skip the test if mmap() fails (Richard).
- Replace test opcodes with inline asm (David). Since we now want to
skip the test if the code cannot be mapped (e.g. on a 31-bit host),
we shouldn't be asking the loader to map the code right away. So
the mmap() approach stays.
v2: https://lists.nongnu.org/archive/html/qemu-devel/2022-03/msg03387.html
v2 -> v3:
- Use MAP_NORESERVE (Christian / David).
- Unhardcode 0x100000006 (Richard).
Best regards,
Ilya
Ilya Leoshkevich (3):
s390x/tcg: Fix BRASL with a large negative offset
s390x/tcg: Fix BRCL with a large negative offset
tests/tcg/s390x: Test BRASL and BRCL with large negative offsets
target/s390x/tcg/translate.c | 4 +-
tests/tcg/s390x/Makefile.target | 1 +
tests/tcg/s390x/branch-relative-long.c | 68 ++++++++++++++++++++++++++
3 files changed, 71 insertions(+), 2 deletions(-)
create mode 100644 tests/tcg/s390x/branch-relative-long.c
--
2.35.1
- [PATCH v3 0/3] Fix BRASL and BRCL with large negative offsets,
Ilya Leoshkevich <=