Patch to fix siginfo sent upstream. Include this patch.
This commit is contained in:
parent
5c9ec95e32
commit
d979973623
70
0001-Replace-struct-siginfo-with-siginfo_t.patch
Normal file
70
0001-Replace-struct-siginfo-with-siginfo_t.patch
Normal file
@ -0,0 +1,70 @@
|
||||
From baf954154e7c0acda038c01a5c28aea4db7eec67 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Thu, 5 Jul 2012 14:28:03 +0100
|
||||
Subject: [PATCH] Replace 'struct siginfo' with 'siginfo_t'.
|
||||
|
||||
glibc 2.16 will remove the undocumented definition of 'struct siginfo'
|
||||
from <bits/siginfo.h>.
|
||||
|
||||
This change is already present in glibc 2.15.90, so qemu compilation
|
||||
of certain targets (eg. cris-user) breaks.
|
||||
|
||||
This struct was always typedef'd to be the same as 'siginfo_t' which
|
||||
is what POSIX documents, so use that instead.
|
||||
|
||||
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
|
||||
---
|
||||
linux-user/signal.c | 8 ++++----
|
||||
user-exec.c | 2 +-
|
||||
2 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/linux-user/signal.c b/linux-user/signal.c
|
||||
index 43346dc..108dff9 100644
|
||||
--- a/linux-user/signal.c
|
||||
+++ b/linux-user/signal.c
|
||||
@@ -2849,7 +2849,7 @@ static void setup_rt_frame(int sig, struct target_sigaction *ka,
|
||||
* Arguments to signal handler:
|
||||
*
|
||||
* a0 = signal number
|
||||
- * a1 = pointer to struct siginfo
|
||||
+ * a1 = pointer to siginfo_t
|
||||
* a2 = pointer to struct ucontext
|
||||
*
|
||||
* $25 and PC point to the signal handler, $29 points to the
|
||||
@@ -3255,7 +3255,7 @@ struct target_signal_frame {
|
||||
};
|
||||
|
||||
struct rt_signal_frame {
|
||||
- struct siginfo info;
|
||||
+ siginfo_t info;
|
||||
struct ucontext uc;
|
||||
uint32_t tramp[2];
|
||||
};
|
||||
@@ -3474,9 +3474,9 @@ struct target_signal_frame {
|
||||
};
|
||||
|
||||
struct rt_signal_frame {
|
||||
- struct siginfo *pinfo;
|
||||
+ siginfo_t *pinfo;
|
||||
void *puc;
|
||||
- struct siginfo info;
|
||||
+ siginfo_t info;
|
||||
struct ucontext uc;
|
||||
uint8_t retcode[8]; /* Trampoline code. */
|
||||
};
|
||||
diff --git a/user-exec.c b/user-exec.c
|
||||
index b2a4261..1a9c276 100644
|
||||
--- a/user-exec.c
|
||||
+++ b/user-exec.c
|
||||
@@ -588,7 +588,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
|
||||
int cpu_signal_handler(int host_signum, void *pinfo,
|
||||
void *puc)
|
||||
{
|
||||
- struct siginfo *info = pinfo;
|
||||
+ siginfo_t *info = pinfo;
|
||||
struct ucontext *uc = puc;
|
||||
unsigned long pc = uc->uc_mcontext.sc_iaoq[0];
|
||||
uint32_t insn = *(uint32_t *)pc;
|
||||
--
|
||||
1.7.10.4
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- qemu-kvm-1.1.0/linux-user/signal.c 2012-06-30 03:14:15.000000000 +0100
|
||||
+++ qemu-kvm-1.1.0.glibc/linux-user/signal.c 2012-07-05 11:08:36.839294266 +0100
|
||||
@@ -3476,7 +3476,7 @@
|
||||
struct rt_signal_frame {
|
||||
struct siginfo *pinfo;
|
||||
void *puc;
|
||||
- struct siginfo info;
|
||||
+ siginfo_t info;
|
||||
struct ucontext uc;
|
||||
uint8_t retcode[8]; /* Trampoline code. */
|
||||
};
|
@ -82,9 +82,9 @@ Patch2: 0002-qemu-kvm-virtio-Do-not-register-mask-notifiers-witho.patch
|
||||
# Speculative patch to fix msi and virtio-pci modules in build (not upstream).
|
||||
Patch3: 0001-buildsys-Move-msi-x-and-virtio-pci-from-Makefile.obj.patch
|
||||
|
||||
# Hack to use siginfo_t instead of siginfo with glibc from Rawhide.
|
||||
# XXX This patch is highly UNlikely to be correct. (RWMJ)
|
||||
Patch4: qemu-kvm-1.1.0-siginfo_t.patch
|
||||
# Use siginfo_t instead of struct siginfo, for glibc in Rawhide.
|
||||
# Sent upstream 2012-07-05.
|
||||
Patch4: 0001-Replace-struct-siginfo-with-siginfo_t.patch
|
||||
|
||||
# The infamous chardev flow control patches
|
||||
Patch101: 0101-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch
|
||||
|
Loading…
Reference in New Issue
Block a user