On Mon, 2023-09-04 at 16:00 +0200, Thomas Huth wrote:
With these changes, it is now possible to compile the "risu" binary
for s390x hosts.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
risu_reginfo_s390x.c | 142
+++++++++++++++++++++++++++++++++++++++++++
risu_reginfo_s390x.h | 23 +++++++
risu_s390x.c | 48 +++++++++++++++
test_s390x.S | 32 ++++++++++
4 files changed, 245 insertions(+)
create mode 100644 risu_reginfo_s390x.c
create mode 100644 risu_reginfo_s390x.h
create mode 100644 risu_s390x.c
create mode 100644 test_s390x.S
Looks really interesting! I was doing similar qemu-system-s390x testing
with a bunch of ad-hoc scripts, and there are quite a few unresolved
problems still, especially in the error handling area.
Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
I have one small question (see below).
[...]
+/* reginfo_is_eq: compare the reginfo structs, returns nonzero if
equal */
+int reginfo_is_eq(struct reginfo *m, struct reginfo *a)
+{
+ int i;
+
+ if (m->psw_mask != a->psw_mask || m->psw_addr != a->psw_addr) {
+ return 0;
+ }
+
+ /* Skip return address register and stack register for
comparison */
Is this because of ASLR? In this case, would it be possible to build a
non-PIE binary and switch to a private stack at the beginning? This
could be useful for the other architectures as well.