aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2012-02-19 10:43:09 -0500
committerH. Peter Anvin <hpa@zytor.com>2012-02-20 15:52:04 -0500
commit851394229e79c11b0b5b74c509817848e9a80564 (patch)
tree0c2ea13f80d1447bf47a13c287ae1bfda45e9f38 /arch/x86
parentf28f0c23576662fb293defe9b1884d5a6e1bd85c (diff)
x32: Export setup/restore_sigcontext from signal.c
Export setup_sigcontext() and restore_sigcontext() from signal.c, so we can use the 64-bit versions verbatim for x32. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/include/asm/sighandling.h5
-rw-r--r--arch/x86/kernel/signal.c10
2 files changed, 9 insertions, 6 deletions
diff --git a/arch/x86/include/asm/sighandling.h b/arch/x86/include/asm/sighandling.h
index 843e299e120e..ada93b3b8c66 100644
--- a/arch/x86/include/asm/sighandling.h
+++ b/arch/x86/include/asm/sighandling.h
@@ -16,4 +16,9 @@
16 16
17void signal_fault(struct pt_regs *regs, void __user *frame, char *where); 17void signal_fault(struct pt_regs *regs, void __user *frame, char *where);
18 18
19int restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc,
20 unsigned long *pax);
21int setup_sigcontext(struct sigcontext __user *sc, void __user *fpstate,
22 struct pt_regs *regs, unsigned long mask);
23
19#endif /* _ASM_X86_SIGHANDLING_H */ 24#endif /* _ASM_X86_SIGHANDLING_H */
diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c
index c432dc0e65f0..450fb255f877 100644
--- a/arch/x86/kernel/signal.c
+++ b/arch/x86/kernel/signal.c
@@ -60,9 +60,8 @@
60 regs->seg = GET_SEG(seg) | 3; \ 60 regs->seg = GET_SEG(seg) | 3; \
61} while (0) 61} while (0)
62 62
63static int 63int restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc,
64restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, 64 unsigned long *pax)
65 unsigned long *pax)
66{ 65{
67 void __user *buf; 66 void __user *buf;
68 unsigned int tmpflags; 67 unsigned int tmpflags;
@@ -117,9 +116,8 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc,
117 return err; 116 return err;
118} 117}
119 118
120static int 119int setup_sigcontext(struct sigcontext __user *sc, void __user *fpstate,
121setup_sigcontext(struct sigcontext __user *sc, void __user *fpstate, 120 struct pt_regs *regs, unsigned long mask)
122 struct pt_regs *regs, unsigned long mask)
123{ 121{
124 int err = 0; 122 int err = 0;
125 123