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 <[email protected]> > --- > 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 <[email protected]> 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. [...]
