Skip to content

Commit

Permalink
target/armv7m: fix register number in armv7m_get_core_reg()
Browse files Browse the repository at this point in the history
armv7m_get_core_reg() calls arm->read_core_reg()
arm->read_core_reg() expects the register number as an index
to core reglist, not an ARMv7M specific register code.
Use reg->number instead of armv7m_reg->num.

The change solves assert
  src/target/armv7m.c:222: armv7m_read_core_reg: Assertion
  `num < (int)armv7m->arm.core_cache->num_regs' failed.
when gdb 'info reg' is issued on a Cortex-M target and
no cortex_m_debug_entry() has been called since OpenOCD start
(target was halted before OpenOCD start).

Change-Id: I32a2294693ef979b613be93aeceb3b0eb06ee6df
Ticket: https://sourceforge.net/p/openocd/tickets/216/
Signed-off-by: Tomas Vanek <[email protected]>
Reviewed-on: http:https://openocd.zylin.com/5203
Tested-by: jenkins
Reviewed-by: Antonio Borneo <[email protected]>
  • Loading branch information
tom-van committed Jun 10, 2019
1 parent 159f11f commit 215f14b
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/target/armv7m.c
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ static int armv7m_get_core_reg(struct reg *reg)
if (target->state != TARGET_HALTED)
return ERROR_TARGET_NOT_HALTED;

retval = arm->read_core_reg(target, reg, armv7m_reg->num, arm->core_mode);
retval = arm->read_core_reg(target, reg, reg->number, arm->core_mode);

return retval;
}
Expand Down

0 comments on commit 215f14b

Please sign in to comment.