提交 3aee91ba 编写于 作者: J Jie Zhang 提交者: Bryan Wu

Blackfin arch: fix 2 bugs related to debug

 - unable to single step over emuexcpt instruction
 - gdbproxy goes into infinite loop when doing gdb does "next" over
   "emuexcpt"

Don't decrement PC after software breakpoint.
Signed-off-by: NJie Zhang <jie.zhang@analog.com>
Signed-off-by: NBryan Wu <cooloney@kernel.org>
上级 1c302b6c
...@@ -151,13 +151,6 @@ ENTRY(_ex_syscall) ...@@ -151,13 +151,6 @@ ENTRY(_ex_syscall)
jump.s _bfin_return_from_exception; jump.s _bfin_return_from_exception;
ENDPROC(_ex_syscall) ENDPROC(_ex_syscall)
ENTRY(_ex_soft_bp)
r7 = retx;
r7 += -2;
retx = r7;
jump.s _ex_trap_c;
ENDPROC(_ex_soft_bp)
ENTRY(_ex_single_step) ENTRY(_ex_single_step)
/* If we just returned from an interrupt, the single step event is /* If we just returned from an interrupt, the single step event is
for the RTI instruction. */ for the RTI instruction. */
...@@ -1087,7 +1080,7 @@ ENTRY(_ex_table) ...@@ -1087,7 +1080,7 @@ ENTRY(_ex_table)
* EXCPT instruction can provide 4 bits of EXCAUSE, allowing 16 to be user defined * EXCPT instruction can provide 4 bits of EXCAUSE, allowing 16 to be user defined
*/ */
.long _ex_syscall /* 0x00 - User Defined - Linux Syscall */ .long _ex_syscall /* 0x00 - User Defined - Linux Syscall */
.long _ex_soft_bp /* 0x01 - User Defined - Software breakpoint */ .long _ex_trap_c /* 0x01 - User Defined - Software breakpoint */
#ifdef CONFIG_KGDB #ifdef CONFIG_KGDB
.long _ex_trap_c /* 0x02 - User Defined - KGDB initial connection .long _ex_trap_c /* 0x02 - User Defined - KGDB initial connection
and break signal trap */ and break signal trap */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册