summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbiao716.wang <biao716.wang@samsung.com>2018-08-07 15:19:14 +0800
committerbiao716.wang <biao716.wang@samsung.com>2018-11-08 19:05:48 +0800
commit5c2756ccc5fb026b9ae9535bf119cefc8a1a06c9 (patch)
tree980c5b84a94cd1311873052fecb96cbc5b249012
parentd66539d34c2c94f0dc5cec08897940f08b4330d7 (diff)
downloadqemu-arm-static-sandbox_soong9_ubuntu18.04.tar.gz
qemu-arm-static-sandbox_soong9_ubuntu18.04.tar.bz2
qemu-arm-static-sandbox_soong9_ubuntu18.04.zip
change struct ucontext to ucontext_tsandbox_soong9_ubuntu18.04
In old version, typedef struct ucontext { XXX } ucontext_t; now, typedef struct ucontext_t { XXX } ucontext_t; Change-Id: I544e2f293ee6f2fd4880cde47a807fcc15ddb006
-rw-r--r--user-exec.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/user-exec.c b/user-exec.c
index 82bfa66ce..026c54322 100644
--- a/user-exec.c
+++ b/user-exec.c
@@ -53,7 +53,9 @@ static void exception_action(CPUArchState *env1)
void cpu_resume_from_signal(CPUArchState *env1, void *puc)
{
#ifdef __linux__
- struct ucontext *uc = puc;
+ // struct ucontext *uc = puc;
+ // in ubuntu 18.04, typedef struct ucontext_t ucontext_t, not typedef struct ucontext ucontext anymore.
+ ucontext_t *uc = puc;
#elif defined(__OpenBSD__)
struct sigcontext *uc = puc;
#endif
@@ -164,7 +166,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
#elif defined(__OpenBSD__)
struct sigcontext *uc = puc;
#else
- struct ucontext *uc = puc;
+ ucontext_t *uc = puc;
#endif
unsigned long pc;
int trapno;
@@ -219,7 +221,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
#elif defined(__OpenBSD__)
struct sigcontext *uc = puc;
#else
- struct ucontext *uc = puc;
+ ucontext_t *uc = puc;
#endif
pc = PC_sig(uc);
@@ -324,7 +326,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
ucontext_t *uc = puc;
#else
- struct ucontext *uc = puc;
+ ucontext_t *uc = puc;
#endif
unsigned long pc;
int is_write;
@@ -351,7 +353,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
void *puc)
{
siginfo_t *info = pinfo;
- struct ucontext *uc = puc;
+ ucontext_t *uc = puc;
uint32_t *pc = uc->uc_mcontext.sc_pc;
uint32_t insn = *pc;
int is_write = 0;
@@ -438,7 +440,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
void *puc)
{
siginfo_t *info = pinfo;
- struct ucontext *uc = puc;
+ ucontext_t *uc = puc;
unsigned long pc;
int is_write;
@@ -463,7 +465,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
void *puc)
{
siginfo_t *info = pinfo;
- struct ucontext *uc = puc;
+ ucontext_t *uc = puc;
uint64_t pc;
int is_write = 0; /* XXX how to determine? */
@@ -478,7 +480,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
void *puc)
{
siginfo_t *info = pinfo;
- struct ucontext *uc = puc;
+ ucontext_t *uc = puc;
unsigned long pc;
int is_write;
@@ -500,7 +502,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
int cpu_signal_handler(int host_signum, void *pinfo, void *puc)
{
siginfo_t *info = pinfo;
- struct ucontext *uc = puc;
+ ucontext_t *uc = puc;
unsigned long ip;
int is_write = 0;
@@ -531,7 +533,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
void *puc)
{
siginfo_t *info = pinfo;
- struct ucontext *uc = puc;
+ ucontext_t *uc = puc;
unsigned long pc;
uint16_t *pinsn;
int is_write = 0;
@@ -584,7 +586,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
void *puc)
{
siginfo_t *info = pinfo;
- struct ucontext *uc = puc;
+ ucontext_t *uc = puc;
greg_t pc = uc->uc_mcontext.pc;
int is_write;
@@ -600,7 +602,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
void *puc)
{
siginfo_t *info = pinfo;
- struct ucontext *uc = puc;
+ ucontext_t *uc = puc;
unsigned long pc = uc->uc_mcontext.sc_iaoq[0];
uint32_t insn = *(uint32_t *)pc;
int is_write = 0;