--- linux-user/host/x86_64/hostdep.h.orig 2017-04-20 14:57:00.000000000 +0000 +++ linux-user/host/x86_64/hostdep.h 2017-08-05 19:20:26.844765070 +0000 @@ -24,7 +24,7 @@ /* Adjust the signal context to rewind out of safe-syscall if we're in it */ static inline void rewind_if_in_safe_syscall(void *puc) { - struct ucontext *uc = puc; + ucontext_t *uc = puc; greg_t *pcreg = &uc->uc_mcontext.gregs[REG_RIP]; if (*pcreg > (uintptr_t)safe_syscall_start --- user-exec.c.orig 2017-04-20 14:57:01.000000000 +0000 +++ user-exec.c 2017-08-05 19:25:50.462745781 +0000 @@ -162,7 +162,7 @@ void *puc) { siginfo_t *info = pinfo; -#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) +#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__linux__) ucontext_t *uc = puc; #elif defined(__OpenBSD__) struct sigcontext *uc = puc; { siginfo_t *info = pinfo; unsigned long pc; -#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) +#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__linux__) ucontext_t *uc = puc; #elif defined(__OpenBSD__) struct sigcontext *uc = puc; --- linux-user/signal.c.orig 2017-04-20 14:57:00.000000000 +0000 @@ -3949,7 +3948,7 @@ siginfo_t *pinfo; void *puc; siginfo_t info; - struct ucontext uc; + ucontext_t uc; uint16_t retcode[4]; /* Trampoline code. */ }; --- linux-user/signal.c.orig 2017-04-20 14:57:00.000000000 +0000 +++ linux-user/signal.c 2017-08-05 19:30:35.080728816 +0000 @@ -3733,7 +3725,7 @@ struct rt_signal_frame { siginfo_t info; - struct ucontext uc; + ucontext_t uc; uint32_t tramp[2]; }; @@ -3949,7 +3941,7 @@ siginfo_t *pinfo; void *puc; siginfo_t info; - struct ucontext uc; + ucontext_t uc; uint16_t retcode[4]; /* Trampoline code. */ }; --- user-exec.c.orig 2017-08-05 19:36:25.000000000 +0000 +++ user-exec.c 2017-08-05 19:41:52.304688451 +0000 @@ -217,7 +217,7 @@ { siginfo_t *info = pinfo; unsigned long pc; -#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) +#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__linux__) ucontext_t *uc = puc; #elif defined(__OpenBSD__) struct sigcontext *uc = puc;