diff options
author | Chuck Ebbert <76306.1226@compuserve.com> | 2006-03-23 02:59:40 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-23 07:38:05 -0800 |
commit | 8bed51cd17464433a0c77afc8a5150e51d3da37d (patch) | |
tree | 7ffd751ba256f1f88e5888f624cb6e08c2a95bd7 /arch | |
parent | 3c36c6aa4aa1b3483c6a0370028608367426f58e (diff) | |
download | linux-8bed51cd17464433a0c77afc8a5150e51d3da37d.tar.gz linux-8bed51cd17464433a0c77afc8a5150e51d3da37d.tar.bz2 linux-8bed51cd17464433a0c77afc8a5150e51d3da37d.zip |
[PATCH] i386: let signal handlers set the resume flag
Allow signal handlers to set the RF bit in EFLAGS. This lets a simple
debugger using SIGTRAP skip one instruction after returning from a signal.
Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/i386/kernel/signal.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/i386/kernel/signal.c b/arch/i386/kernel/signal.c index 963616d364ec..608eac4a7324 100644 --- a/arch/i386/kernel/signal.c +++ b/arch/i386/kernel/signal.c @@ -123,7 +123,8 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, int *peax err |= __get_user(tmp, &sc->seg); \ loadsegment(seg,tmp); } -#define FIX_EFLAGS (X86_EFLAGS_AC | X86_EFLAGS_OF | X86_EFLAGS_DF | \ +#define FIX_EFLAGS (X86_EFLAGS_AC | X86_EFLAGS_RF | \ + X86_EFLAGS_OF | X86_EFLAGS_DF | \ X86_EFLAGS_TF | X86_EFLAGS_SF | X86_EFLAGS_ZF | \ X86_EFLAGS_AF | X86_EFLAGS_PF | X86_EFLAGS_CF) |