qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [PATCH] Fix ABI incompatibility between Qemu-aarch64


From: Maxim Ostapenko
Subject: Re: [Qemu-trivial] [PATCH] Fix ABI incompatibility between Qemu-aarch64 and Linux Kernel in signal handling.
Date: Mon, 02 Feb 2015 12:23:25 +0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0

Sorry, missed ML.

-Maxim
On 02/02/2015 12:20 PM, Maxim Ostapenko wrote:
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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]