From: Yao Qi Date: Thu, 31 Oct 2013 07:01:33 +0000 (+0800) Subject: Don't update target_dcache if it is not initialized X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f2de978509eb51f85410eab04696725f0bccf9c3;p=binutils-gdb.git Don't update target_dcache if it is not initialized After previous patch, 'target_dcache' is initialized lazily. It is possible that 'target_dcache' is still NULL when GDB writes to memory. In this case, update to 'target_dcache' can be skipped. gdb: 2013-11-20 Yao Qi * target.c (memory_xfer_partial_1): Update 'target_dcache' if it is initialized. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9de86a3e268..78a871f14b3 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2013-11-20 Yao Qi + + * target.c (memory_xfer_partial_1): Update 'target_dcache' if + it is initialized. + 2013-11-20 Yao Qi * dcache.c (last_cache): Remove. diff --git a/gdb/target.c b/gdb/target.c index cb758536ce5..2c0096e5bda 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -1667,11 +1667,12 @@ memory_xfer_partial_1 (struct target_ops *ops, enum target_object object, if (res > 0 && inf != NULL && writebuf != NULL + && target_dcache_init_p () && !region->attrib.cache && stack_cache_enabled_p && object != TARGET_OBJECT_STACK_MEMORY) { - DCACHE *dcache = target_dcache_get_or_init (); + DCACHE *dcache = target_dcache_get (); dcache_update (dcache, memaddr, (void *) writebuf, res); }