diff options
author | Antonio Borneo <borneo.antonio@gmail.com> | 2020-05-25 10:58:40 +0200 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2020-07-26 20:12:48 +0100 |
commit | 19aa77cc7fc369af2da9ca1b1539161284f90286 (patch) | |
tree | 9140073709b1c09fb6fee735a847ed96e396c83e /src/target/arm7tdmi.h | |
parent | df1dcc27eeb3a42d3dd9708c9518a2230242f746 (diff) | |
download | riscv-openocd-19aa77cc7fc369af2da9ca1b1539161284f90286.zip riscv-openocd-19aa77cc7fc369af2da9ca1b1539161284f90286.tar.gz riscv-openocd-19aa77cc7fc369af2da9ca1b1539161284f90286.tar.bz2 |
target/arm7tdmi: fix memory leak of register cache
There is no method to free the register cache, allocated in
arm7tdmi_init_target(), so we get a memory leak.
Issue identified by tracking all calls to arm_build_reg_cache().
Implement the method arm7tdmi_deinit_target() that in turn calls
arm7tdmi_free_reg_cache().
NOT TESTED on a real arm7tdmi target.
Tested on a arm926ejs (SPEAr320) by hacking the target type and
pretending it is a arm7tdmi:
sed -i s/arm926ejs/arm7tdmi/ tcl/target/spear3xx.cfg
Change-Id: Iad465b708eb4ebb298725d7155fea76357e9045c
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/5696
Tested-by: jenkins
Diffstat (limited to 'src/target/arm7tdmi.h')
-rw-r--r-- | src/target/arm7tdmi.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/target/arm7tdmi.h b/src/target/arm7tdmi.h index 053f64d..3cc3d4a 100644 --- a/src/target/arm7tdmi.h +++ b/src/target/arm7tdmi.h @@ -28,5 +28,6 @@ int arm7tdmi_init_arch_info(struct target *target, struct arm7_9_common *arm7_9, struct jtag_tap *tap); int arm7tdmi_init_target(struct command_context *cmd_ctx, struct target *target); +void arm7tdmi_deinit_target(struct target *target); #endif /* OPENOCD_TARGET_ARM7TDMI_H */ |