summaryrefslogtreecommitdiff
path: root/arch/um/sys-x86/stub_segv_32.c
diff options
context:
space:
mode:
authorAl Viro <viro@ftp.linux.org.uk>2011-08-18 20:03:19 +0100
committerRichard Weinberger <richard@nod.at>2011-11-02 14:14:51 +0100
commit6582b7f7743da6ce3e3714e9e8b18e0e073d4acd (patch)
tree649346d2333865ccd4bb4d560ceb50c39139c5c2 /arch/um/sys-x86/stub_segv_32.c
parent858ba94499b4f48e9eb0be7cf0092f1ea9460fef (diff)
um: merge arch/um/sys-{i386,x86_64}
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/um/sys-x86/stub_segv_32.c')
-rw-r--r--arch/um/sys-x86/stub_segv_32.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/um/sys-x86/stub_segv_32.c b/arch/um/sys-x86/stub_segv_32.c
new file mode 100644
index 00000000000..28ccf737a79
--- /dev/null
+++ b/arch/um/sys-x86/stub_segv_32.c
@@ -0,0 +1,17 @@
+/*
+ * Copyright (C) 2004 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
+ * Licensed under the GPL
+ */
+
+#include "sysdep/stub.h"
+#include "sysdep/sigcontext.h"
+
+void __attribute__ ((__section__ (".__syscall_stub")))
+stub_segv_handler(int sig)
+{
+ struct sigcontext *sc = (struct sigcontext *) (&sig + 1);
+
+ GET_FAULTINFO_FROM_SC(*((struct faultinfo *) STUB_DATA), sc);
+
+ trap_myself();
+}