750-debian_sparc-singlestep.patch
来自「這是一個實時嵌入式作業系統 實作了MCS51 ARM等MCU」· PATCH 代码 · 共 38 行
PATCH
38 行
Status: submitted for comments2004-11-13 Daniel Jacobowitz <dan@debian.org> * sparc-tdep.c (sparc_software_single_step): Handle stepping to NULL.Index: gdb-6.3/gdb/sparc-tdep.c===================================================================--- gdb-6.3.orig/gdb/sparc-tdep.c 2004-06-06 22:02:55.000000000 -0400+++ gdb-6.3/gdb/sparc-tdep.c 2004-11-13 17:06:05.000000000 -0500@@ -1026,10 +1026,10 @@ if (insert_breakpoints_p) {- CORE_ADDR pc;+ CORE_ADDR pc, orig_npc; pc = sparc_address_from_register (tdep->pc_regnum);- npc = sparc_address_from_register (tdep->npc_regnum);+ orig_npc = npc = sparc_address_from_register (tdep->npc_regnum); /* Analyze the instruction at PC. */ nnpc = sparc_analyze_control_transfer (pc, &npc);@@ -1039,9 +1039,10 @@ target_insert_breakpoint (nnpc, nnpc_save); /* Assert that we have set at least one breakpoint, and that- they're not set at the same spot. */- gdb_assert (npc != 0 || nnpc != 0);- gdb_assert (nnpc != npc);+ they're not set at the same spot - unless we're going+ from here straight to NULL, i.e. a call or jump to 0. */+ gdb_assert (npc != 0 || nnpc != 0 || orig_npc == 0);+ gdb_assert (nnpc != npc || orig_npc == 0); } else {
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?