Hi,
this patch fixes https://bugs.launchpad.net/qemu/+bug/1416988.
There is a small ABI incompatibility between Qemu-aarch64 and Linux
Kernel 3.19 caused by wrong size of struct target_siginfo in Qemu.
This tiny patch fixes the issue.
-Maxim
From 1d662e325d004bce2d640cfea5b337c92c7feca2 Mon Sep 17 00:00:00 2001
From: Max Ostapenko <address@hidden>
Date: Mon, 2 Feb 2015 12:03:20 +0400
Subject: [PATCH] linux-user: wrong TARGET_SI_PAD_SIZE value for some
targets.
Fix TARGET_SI_PAD_SIZE for S390X, SPARC, ALPHA and AARCH64 to correspond
Linux Kernel 3.19 c59c961ca511dc7ee2f4f7e9c224d16f5c76ca6e revision.
---
linux-user/syscall_defs.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index ebb3be1..b95a0b2 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -655,7 +655,12 @@ typedef struct {
#endif
#define TARGET_SI_MAX_SIZE 128
+#if defined(TARGET_S390X) || defined(TARGET_SPARC) \
+ || defined(TARGET_ALPHA) || defined(TARGET_AARCH64)
+#define TARGET_SI_PAD_SIZE ((TARGET_SI_MAX_SIZE/sizeof(int)) - 4)
+#else
#define TARGET_SI_PAD_SIZE ((TARGET_SI_MAX_SIZE/sizeof(int)) - 3)
+#endif
typedef struct target_siginfo {
#ifdef TARGET_MIPS