From b6caf057eb1a6dc3d7f858fec987f9ce825efb1f Mon Sep 17 00:00:00 2001
From: oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Date: Mon, 13 Oct 2008 12:16:44 +0000
Subject: [PATCH] fix crash when connecting GDB to powered down target

git-svn-id: svn://svn.berlios.de/openocd/trunk@1044 b42882b7-edfa-0310-969c-e2dbd0fdcd60
---
 src/target/arm11.c |  3 ++-
 src/target/arm11.h | 12 ++++++------
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/target/arm11.c b/src/target/arm11.c
index 751c64251..384b9d064 100644
--- a/src/target/arm11.c
+++ b/src/target/arm11.c
@@ -1642,7 +1642,7 @@ int arm11_set_reg(reg_t *reg, u8 *buf)
 	return ERROR_OK;
 }
 
-void arm11_build_reg_cache(target_t *target)
+int arm11_build_reg_cache(target_t *target)
 {
 	arm11_common_t *arm11 = target->arch_info;
 
@@ -1700,6 +1700,7 @@ void arm11_build_reg_cache(target_t *target)
 	rs->def_index		= i;
 	rs->target		= target;
 	}
+	return ERROR_OK;
 }
 
 int arm11_handle_bool(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, bool * var, char * name)
diff --git a/src/target/arm11.h b/src/target/arm11.h
index e685f0e06..35b577ce4 100644
--- a/src/target/arm11.h
+++ b/src/target/arm11.h
@@ -77,7 +77,7 @@ typedef struct arm11_common_s
 
 	size_t	brp;			/**< Number of Breakpoint Register Pairs from DIDR	*/
 	size_t	wrp;			/**< Number of Watchpoint Register Pairs from DIDR	*/
-	
+
 	enum arm11_debug_version
 		debug_version;		/**< ARM debug architecture from DIDR	*/
 	/*@}*/
@@ -109,8 +109,8 @@ typedef struct arm11_common_s
 
 
 /**
- * ARM11 DBGTAP instructions 
- * 
+ * ARM11 DBGTAP instructions
+ *
  * http://infocenter.arm.com/help/topic/com.arm.doc.ddi0301f/I1006229.html
  */
 enum arm11_instructions
@@ -191,7 +191,7 @@ int arm11_soft_reset_halt(struct target_s *target);
 /* target register access for gdb */
 int arm11_get_gdb_reg_list(struct target_s *target, struct reg_s **reg_list[], int *reg_list_size);
 
-/* target memory access 
+/* target memory access
 * size: 1 = byte (8bit), 2 = half-word (16bit), 4 = word (32bit)
 * count: number of items of <size>
 */
@@ -203,7 +203,7 @@ int arm11_bulk_write_memory(struct target_s *target, u32 address, u32 count, u8
 
 int arm11_checksum_memory(struct target_s *target, u32 address, u32 count, u32* checksum);
 
-/* target break-/watchpoint control 
+/* target break-/watchpoint control
 * rw: 0 = write, 1 = read, 2 = access
 */
 int arm11_add_breakpoint(struct target_s *target, breakpoint_t *breakpoint);
@@ -220,7 +220,7 @@ int arm11_init_target(struct command_context_s *cmd_ctx, struct target_s *target
 int arm11_quit(void);
 
 /* helpers */
-void arm11_build_reg_cache(target_t *target);
+int arm11_build_reg_cache(target_t *target);
 int arm11_set_reg(reg_t *reg, u8 *buf);
 int arm11_get_reg(reg_t *reg);
 
-- 
GitLab