From patchwork Thu Jul 5 13:32:44 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Replace 'struct siginfo' with 'siginfo_t'. Date: Thu, 05 Jul 2012 03:32:44 -0000 From: "Richard W.M. Jones" X-Patchwork-Id: 169170 Message-Id: <1341495164-16915-1-git-send-email-rjones@redhat.com> To: qemu-devel@nongnu.org Cc: hdegoede@redhat.com, aliguori@us.ibm.com From: "Richard W.M. Jones" glibc 2.16 will remove the undocumented definition of 'struct siginfo' from . 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 Reviewed-by: Peter Maydell --- 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;