diff options
author | Paul Mackerras <paulus@samba.org> | 2007-10-03 15:33:17 +1000 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-10-03 15:33:17 +1000 |
commit | 70f227d8846a8a9b1f36f71c42e11cc7c6e9408d (patch) | |
tree | fb4dd5c8240bdaada819fb569c01a392b52847b9 /arch/powerpc/kernel/process.c | |
parent | a0c7ce9c877ceef8428798ac91fb794f83609aed (diff) | |
parent | f778089cb2445dfc6dfd30a7a567925fd8589f1e (diff) |
Merge branch 'linux-2.6' into for-2.6.24
Diffstat (limited to 'arch/powerpc/kernel/process.c')
-rw-r--r-- | arch/powerpc/kernel/process.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index 588c0cb8115e..15998b57767c 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c @@ -613,6 +613,13 @@ void start_thread(struct pt_regs *regs, unsigned long start, unsigned long sp) regs->ccr = 0; regs->gpr[1] = sp; + /* + * We have just cleared all the nonvolatile GPRs, so make + * FULL_REGS(regs) return true. This is necessary to allow + * ptrace to examine the thread immediately after exec. + */ + regs->trap &= ~1UL; + #ifdef CONFIG_PPC32 regs->mq = 0; regs->nip = start; |