forked from auracaster/openocd
Only propagate register errors on some targets
Without this change, connecting to ARM targets is impossible. Fixes #115. Change-Id: Ie33c7e15ac1bed8c9cbd8e6a78de92d5498c5999
This commit is contained in:
@@ -245,6 +245,7 @@ static int riscv_init_target(struct command_context *cmd_ctx,
|
||||
struct target *target)
|
||||
{
|
||||
LOG_DEBUG("riscv_init_target()");
|
||||
target->propagate_register_errors = true;
|
||||
target->arch_info = calloc(1, sizeof(riscv_info_t));
|
||||
if (!target->arch_info)
|
||||
return ERROR_FAIL;
|
||||
|
||||
@@ -204,6 +204,14 @@ struct target {
|
||||
|
||||
/* file-I/O information for host to do syscall */
|
||||
struct gdb_fileio_info *fileio_info;
|
||||
|
||||
/**
|
||||
* When true, send gdb an error result when reading/writing a register
|
||||
* fails. This must be false for some ARM targets (Cortex-M3), where a 'g'
|
||||
* packet results in an attempt to read 'r0', which fails, which causes gdb
|
||||
* to close the connection.
|
||||
*/
|
||||
bool propagate_register_errors;
|
||||
};
|
||||
|
||||
struct target_list {
|
||||
|
||||
Reference in New Issue
Block a user