diff options
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) | |||
613 | regs->ccr = 0; | 613 | regs->ccr = 0; |
614 | regs->gpr[1] = sp; | 614 | regs->gpr[1] = sp; |
615 | 615 | ||
616 | /* | ||
617 | * We have just cleared all the nonvolatile GPRs, so make | ||
618 | * FULL_REGS(regs) return true. This is necessary to allow | ||
619 | * ptrace to examine the thread immediately after exec. | ||
620 | */ | ||
621 | regs->trap &= ~1UL; | ||
622 | |||
616 | #ifdef CONFIG_PPC32 | 623 | #ifdef CONFIG_PPC32 |
617 | regs->mq = 0; | 624 | regs->mq = 0; |
618 | regs->nip = start; | 625 | regs->nip = start; |