提交 02d2bd5d 编写于 作者: R Richard W.M. Jones 提交者: Anthony Liguori

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: NRichard W.M. Jones <rjones@redhat.com>
Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
上级 65dee380
...@@ -2849,7 +2849,7 @@ static void setup_rt_frame(int sig, struct target_sigaction *ka, ...@@ -2849,7 +2849,7 @@ static void setup_rt_frame(int sig, struct target_sigaction *ka,
* Arguments to signal handler: * Arguments to signal handler:
* *
* a0 = signal number * a0 = signal number
* a1 = pointer to struct siginfo * a1 = pointer to siginfo_t
* a2 = pointer to struct ucontext * a2 = pointer to struct ucontext
* *
* $25 and PC point to the signal handler, $29 points to the * $25 and PC point to the signal handler, $29 points to the
...@@ -3255,7 +3255,7 @@ struct target_signal_frame { ...@@ -3255,7 +3255,7 @@ struct target_signal_frame {
}; };
struct rt_signal_frame { struct rt_signal_frame {
struct siginfo info; siginfo_t info;
struct ucontext uc; struct ucontext uc;
uint32_t tramp[2]; uint32_t tramp[2];
}; };
...@@ -3474,9 +3474,9 @@ struct target_signal_frame { ...@@ -3474,9 +3474,9 @@ struct target_signal_frame {
}; };
struct rt_signal_frame { struct rt_signal_frame {
struct siginfo *pinfo; siginfo_t *pinfo;
void *puc; void *puc;
struct siginfo info; siginfo_t info;
struct ucontext uc; struct ucontext uc;
uint8_t retcode[8]; /* Trampoline code. */ uint8_t retcode[8]; /* Trampoline code. */
}; };
......
...@@ -588,7 +588,7 @@ int cpu_signal_handler(int host_signum, void *pinfo, ...@@ -588,7 +588,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
int cpu_signal_handler(int host_signum, void *pinfo, int cpu_signal_handler(int host_signum, void *pinfo,
void *puc) void *puc)
{ {
struct siginfo *info = pinfo; siginfo_t *info = pinfo;
struct ucontext *uc = puc; struct ucontext *uc = puc;
unsigned long pc = uc->uc_mcontext.sc_iaoq[0]; unsigned long pc = uc->uc_mcontext.sc_iaoq[0];
uint32_t insn = *(uint32_t *)pc; uint32_t insn = *(uint32_t *)pc;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册