Commit 4a589e1e authored by Robin Getz's avatar Robin Getz Committed by Bryan Wu

Blackfin arch: fix bux - only reset the PC when necessary, otherwise gdb gets confused

Signed-off-by: default avatarRobin Getz <robin.getz@analog.com>
Signed-off-by: default avatarBryan Wu <bryan.wu@analog.com>
parent f26fbc48
...@@ -158,7 +158,7 @@ static void decode_address(char *buf, unsigned long address) ...@@ -158,7 +158,7 @@ static void decode_address(char *buf, unsigned long address)
} }
/* we were unable to find this address anywhere */ /* we were unable to find this address anywhere */
sprintf(buf, "[<0x%p>]", (void *)address); sprintf(buf, "<0x%p> /* unknown address */", (void *)address);
done: done:
write_unlock_irqrestore(&tasklist_lock, flags); write_unlock_irqrestore(&tasklist_lock, flags);
...@@ -467,7 +467,8 @@ asmlinkage void trap_c(struct pt_regs *fp) ...@@ -467,7 +467,8 @@ asmlinkage void trap_c(struct pt_regs *fp)
/* Ensure that bad return addresses don't end up in an infinite /* Ensure that bad return addresses don't end up in an infinite
* loop, due to speculative loads/reads * loop, due to speculative loads/reads
*/ */
fp->pc = SAFE_USER_INSTRUCTION; if (trapnr == VEC_CPLB_I_M)
fp->pc = SAFE_USER_INSTRUCTION;
} }
info.si_signo = sig; info.si_signo = sig;
info.si_errno = 0; info.si_errno = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment