mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-11 20:39:55 +00:00
commit 4d1a535b8e upstream.
glibc 2.26 removed the 'struct ucontext' to "improve" POSIX compliance
and break programs, including User Mode Linux. Fix User Mode Linux
by using POSIX ucontext_t.
This fixes:
arch/um/os-Linux/signal.c: In function 'hard_handler':
arch/um/os-Linux/signal.c:163:22: error: dereferencing pointer to incomplete type 'struct ucontext'
mcontext_t *mc = &uc->uc_mcontext;
arch/x86/um/stub_segv.c: In function 'stub_segv_handler':
arch/x86/um/stub_segv.c:16:13: error: dereferencing pointer to incomplete type 'struct ucontext'
&uc->uc_mcontext);
Cc: stable@vger.kernel.org
Signed-off-by: Krzysztof Mazur <krzysiek@podlesie.net>
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
21 lines
455 B
C
21 lines
455 B
C
/*
|
|
* Copyright (C) 2004 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
|
|
* Licensed under the GPL
|
|
*/
|
|
|
|
#include <sysdep/stub.h>
|
|
#include <sysdep/faultinfo.h>
|
|
#include <sysdep/mcontext.h>
|
|
#include <sys/ucontext.h>
|
|
|
|
void __attribute__ ((__section__ (".__syscall_stub")))
|
|
stub_segv_handler(int sig, siginfo_t *info, void *p)
|
|
{
|
|
ucontext_t *uc = p;
|
|
|
|
GET_FAULTINFO_FROM_MC(*((struct faultinfo *) STUB_DATA),
|
|
&uc->uc_mcontext);
|
|
trap_myself();
|
|
}
|
|
|