[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 <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Родитель
e378cc16b0
Коммит
6c26e03b2d
|
@ -679,6 +679,7 @@ void AlignmentException(struct pt_regs *regs)
|
||||||
fixed = fix_alignment(regs);
|
fixed = fix_alignment(regs);
|
||||||
if (fixed == 1) {
|
if (fixed == 1) {
|
||||||
regs->nip += 4; /* skip over emulated instruction */
|
regs->nip += 4; /* skip over emulated instruction */
|
||||||
|
emulate_single_step(regs);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (fixed == -EFAULT) {
|
if (fixed == -EFAULT) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче