From 6c26e03b2db4b66d79bfb774628c1fc9b458b943 Mon Sep 17 00:00:00 2001 From: Paul Mackerras Date: Sat, 16 Apr 2005 15:24:17 -0700 Subject: [PATCH] ppc32: fix single-stepping of emulated instructions On ppc, we emulate instructions that cause alignment exceptions. If we are single-stepping an instruction and it causes an alignment exception, we will currently do the next instruction as well before taking the single-step exception. This patch fixes that, so we take the single-step exception after emulating the instruction. Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/ppc/kernel/traps.c | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/ppc/kernel/traps.c') diff --git a/arch/ppc/kernel/traps.c b/arch/ppc/kernel/traps.c index aec225b402a..002322a1f3c 100644 --- a/arch/ppc/kernel/traps.c +++ b/arch/ppc/kernel/traps.c @@ -679,6 +679,7 @@ void AlignmentException(struct pt_regs *regs) fixed = fix_alignment(regs); if (fixed == 1) { regs->nip += 4; /* skip over emulated instruction */ + emulate_single_step(regs); return; } if (fixed == -EFAULT) { -- cgit v1.2.3