aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/target/armv7m.c6
-rw-r--r--src/target/cortex_m.c1
2 files changed, 1 insertions, 6 deletions
diff --git a/src/target/armv7m.c b/src/target/armv7m.c
index 7e9b72a..13370b5 100644
--- a/src/target/armv7m.c
+++ b/src/target/armv7m.c
@@ -741,10 +741,7 @@ struct reg_cache *armv7m_build_reg_cache(struct target *target)
reg_list[i].name = armv7m_regs[i].name;
reg_list[i].size = armv7m_regs[i].bits;
- size_t storage_size = DIV_ROUND_UP(armv7m_regs[i].bits, 8);
- if (storage_size < 4)
- storage_size = 4;
- reg_list[i].value = calloc(1, storage_size);
+ reg_list[i].value = arch_info[i].value;
reg_list[i].dirty = false;
reg_list[i].valid = false;
reg_list[i].hidden = i == ARMV7M_PMSK_BPRI_FLTMSK_CTRL;
@@ -798,7 +795,6 @@ void armv7m_free_reg_cache(struct target *target)
free(reg->feature);
free(reg->reg_data_type);
- free(reg->value);
}
free(cache->reg_list[0].arch_info);
diff --git a/src/target/cortex_m.c b/src/target/cortex_m.c
index ced7a8a..7b3f3c7 100644
--- a/src/target/cortex_m.c
+++ b/src/target/cortex_m.c
@@ -2044,7 +2044,6 @@ int cortex_m_examine(struct target *target)
for (idx = ARMV7M_NUM_CORE_REGS_NOFP;
idx < armv7m->arm.core_cache->num_regs;
idx++) {
- free(armv7m->arm.core_cache->reg_list[idx].value);
free(armv7m->arm.core_cache->reg_list[idx].feature);
free(armv7m->arm.core_cache->reg_list[idx].reg_data_type);
}