Skip to content

Commit 3e7a709

Browse files
committed
target/arm_dpm: report vector catch as breakpoint
Commit 4afa32e ("aarch64: unify armv7-a and armv8 debug entry decoding") probably unintentionally removed DSCR_ENTRY_VECT_CATCH from reported debug entry reasons. Note the discrepancy between 'case DSCR_ENTRY_BKPT_INSTR:' and its comment. Hitting vector catch was reported as DBG_REASON_UNDEFINED. DBG_REASON_UNDEFINED disturbed hwthread/gdb cooperation and gdb reported the wrong thread as stopped by SIGTRAP. Revert to the original functionality and report vector catch as a breakpoint. Change-Id: I12e938182cff8f633decba340000cfbb7b112ae3 Signed-off-by: Tomas Vanek <[email protected]> Reviewed-on: https://review.openocd.org/c/openocd/+/9209 Tested-by: jenkins Reviewed-by: Antonio Borneo <[email protected]>
1 parent 5d8a142 commit 3e7a709

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/target/arm_dpm.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1064,7 +1064,8 @@ void arm_dpm_report_dscr(struct arm_dpm *dpm, uint32_t dscr)
10641064
target->debug_reason = DBG_REASON_DBGRQ;
10651065
break;
10661066
case DSCR_ENTRY_BREAKPOINT: /* HW breakpoint */
1067-
case DSCR_ENTRY_BKPT_INSTR: /* vector catch */
1067+
case DSCR_ENTRY_BKPT_INSTR: /* SW BKPT */
1068+
case DSCR_ENTRY_VECT_CATCH: /* vector catch */
10681069
target->debug_reason = DBG_REASON_BREAKPOINT;
10691070
break;
10701071
case DSCR_ENTRY_IMPRECISE_WATCHPT: /* asynch watchpoint */

0 commit comments

Comments
 (0)