Hi all,

The attached patch fixes the remaining signed/unsigned comparison
warnings that I see when using "-O2 -Wall -Wextra -Wno-unused-parameter"
with GCC 4.3.2.  The changes primarily consists of type-sign
corrections, but there are a couple of instances where I tweaked
constants or rewrote a line of code.

Interestingly, gcc reports some "possibly used uninitialized" warnings
in the at91sam7.c file when -O or -O1 is used.  When -O2 kicks in, the
compiler catches its oversight.  I think the best resolution will be to
factor the associated code into smaller functions, but that can wait.

Cheers,

Zach
Index: src/pld/virtex2.c
===================================================================
--- src/pld/virtex2.c	(revision 1470)
+++ src/pld/virtex2.c	(working copy)
@@ -161,7 +161,7 @@
 	virtex2_pld_device_t *virtex2_info = pld_device->driver_priv;
 	xilinx_bit_file_t bit_file;
 	int retval;
-	int i;
+	unsigned int i;
 
 	scan_field_t field;
 
Index: src/pld/xilinx_bit.c
===================================================================
--- src/pld/xilinx_bit.c	(revision 1470)
+++ src/pld/xilinx_bit.c	(working copy)
@@ -40,7 +40,7 @@
 int read_section(FILE *input_file, int length_size, char section, u32 *buffer_length, u8 **buffer) 
 {
 	u8 length_buffer[4];
-	u32 length;
+	int length;
 	char section_char;
 	int read_count;
 	
Index: src/helper/binarybuffer.c
===================================================================
--- src/helper/binarybuffer.c	(revision 1470)
+++ src/helper/binarybuffer.c	(working copy)
@@ -55,7 +55,7 @@
 
 u8* buf_cpy(u8 *from, u8 *to, int size)
 {
-	int num_bytes = CEIL(size, 8);
+	unsigned int num_bytes = CEIL(size, 8);
 	unsigned int i;
 
 	if (from == NULL)
@@ -244,7 +244,7 @@
 int str_to_buf(const char *str, int str_len, u8 *buf, int buf_len, int radix)
 {
 	char *charbuf;
-	u32 tmp;
+	char tmp;
 	float factor;
 	u8 *b256_buf;
 	int b256_len;
Index: src/jtag/rlink/rlink.c
===================================================================
--- src/jtag/rlink/rlink.c	(revision 1470)
+++ src/jtag/rlink/rlink.c	(working copy)
@@ -268,7 +268,7 @@
 			USB_TIMEOUT_MS
 		);
 
-		if(usb_ret < sizeof(usb_buffer)) {
+		if((size_t)usb_ret < sizeof(usb_buffer)) {
 			break;
 		}
 
@@ -363,7 +363,7 @@
 		buffer += sizeof(*header);
 		length -= sizeof(*header);
 
-		if(length < header->length + 1) {
+		if(length < (size_t)header->length + 1) {
 			LOG_ERROR("Malformed DTC image\n");
 			exit(1);
 		}
@@ -605,8 +605,8 @@
 struct {
 	dtc_reply_queue_entry_t	*rq_head;
 	dtc_reply_queue_entry_t	*rq_tail;
-	int			cmd_index;
-	int			reply_index;
+	u32			cmd_index;
+	u32			reply_index;
 	u8			cmd_buffer[USB_EP2BANK_SIZE];
 } dtc_queue;
 
@@ -617,7 +617,7 @@
 
 static
 struct {
-	int	length;
+	u32	length;
 	u32	buffer;
 } tap_state_queue;
 
Index: src/jtag/jtag.c
===================================================================
--- src/jtag/jtag.c	(revision 1470)
+++ src/jtag/jtag.c	(working copy)
@@ -1758,7 +1758,7 @@
 					jteap = tap->event_action;
 					/* replace existing? */
 					while (jteap) {
-						if (jteap->event == n->value) {
+						if (jteap->event == (enum jtag_tap_event)n->value) {
 							break;
 						}
 						jteap = jteap->next;
Index: src/xsvf/xsvf.c
===================================================================
--- src/xsvf/xsvf.c	(revision 1470)
+++ src/xsvf/xsvf.c	(working copy)
@@ -743,7 +743,7 @@
 
 		case XCOMMENT:
 			{
-				int		ndx = 0;
+				unsigned int ndx = 0;
 				char 	comment[128];
 
 				do
Index: src/target/trace.c
===================================================================
--- src/target/trace.c	(revision 1470)
+++ src/target/trace.c	(working copy)
@@ -31,7 +31,7 @@
 #include <string.h>
 #include <inttypes.h>
 
-int trace_point(target_t *target, int number)
+int trace_point(target_t *target, u32 number)
 {
 	trace_t *trace = target->trace_info;
 
@@ -60,7 +60,7 @@
 	
 	if (argc == 0)
 	{
-		int i;
+		u32 i;
 		
 		for (i = 0; i < trace->num_trace_points; i++)
 		{
@@ -125,9 +125,9 @@
 	}
 	else
 	{
-		int i;
-		int first = 0;
-		int last = trace->trace_history_pos;
+		u32 i;
+		u32 first = 0;
+		u32 last = trace->trace_history_pos;
 
 		if ( !trace->trace_history_size ) {
 			command_print(cmd_ctx, "trace history buffer is not allocated");
Index: src/target/arm720t.h
===================================================================
--- src/target/arm720t.h	(revision 1470)
+++ src/target/arm720t.h	(working copy)
@@ -32,7 +32,7 @@
 
 typedef struct arm720t_common_s
 {
-	int common_magic;
+	u32 common_magic;
 	armv4_5_mmu_common_t armv4_5_mmu;
 	arm7tdmi_common_t arm7tdmi_common;
 	u32 cp15_control_reg;
Index: src/target/trace.h
===================================================================
--- src/target/trace.h	(revision 1470)
+++ src/target/trace.h	(working copy)
@@ -32,12 +32,12 @@
 
 typedef struct trace_s
 {
-	int num_trace_points;
-	int trace_points_size;
+	u32 num_trace_points;
+	u32 trace_points_size;
 	trace_point_t *trace_points;
-	int trace_history_size;
+	u32 trace_history_size;
 	u32 *trace_history;
-	int trace_history_pos;
+	u32 trace_history_pos;
 	int trace_history_overflowed;
 } trace_t;
 
@@ -50,7 +50,7 @@
 	TRACE_OVERFLOWED = 0x8,
 } trace_status_t;
 
-extern int trace_point(struct target_s *target, int number);
+extern int trace_point(struct target_s *target, u32 number);
 extern int trace_register_commands(struct command_context_s *cmd_ctx);
 
 #define ERROR_TRACE_IMAGE_UNAVAILABLE		-(1500)
Index: src/target/armv7m.c
===================================================================
--- src/target/armv7m.c	(revision 1470)
+++ src/target/armv7m.c	(working copy)
@@ -591,7 +591,7 @@
 		0x1DB7, 0x04C1			/* CRC32XOR:	.word 0x04C11DB7 */
 	};
 
-	int i;
+	u32 i;
 
 	if (target_alloc_working_area(target, sizeof(cortex_m3_crc_code), &crc_algorithm) != ERROR_OK)
 	{
@@ -640,7 +640,7 @@
 	reg_param_t reg_params[3];
 	armv7m_algorithm_t armv7m_info;
 	int retval;
-	int i;
+	u32 i;
 
 	u16 erase_check_code[] =
 	{
Index: src/target/etb.c
===================================================================
--- src/target/etb.c	(revision 1470)
+++ src/target/etb.c	(working copy)
@@ -453,7 +453,7 @@
 		arm7_9->etm_ctx->capture_driver_priv = etb;
 
 		etb->tap  = tap;
-		etb->cur_scan_chain = -1;
+		etb->cur_scan_chain = ~0UL;
 		etb->reg_cache = NULL;
 		etb->ram_width = 0;
 		etb->ram_depth = 0;
Index: src/target/etb.h
===================================================================
--- src/target/etb.h	(revision 1470)
+++ src/target/etb.h	(working copy)
@@ -46,17 +46,17 @@
 {
 	etm_context_t *etm_ctx;
 	jtag_tap_t *tap;
-	int cur_scan_chain;
+	u32 cur_scan_chain;
 	reg_cache_t *reg_cache;
 	
 	/* ETB parameters */
-	int ram_depth;
-	int ram_width;
+	u32 ram_depth;
+	u32 ram_width;
 } etb_t;
 
 typedef struct etb_reg_s
 {
-	int addr;
+	u32 addr;
 	etb_t *etb;
 } etb_reg_t;
 
Index: src/target/arm926ejs.h
===================================================================
--- src/target/arm926ejs.h	(revision 1470)
+++ src/target/arm926ejs.h	(working copy)
@@ -32,7 +32,7 @@
 
 typedef struct arm926ejs_common_s
 {
-	int common_magic;
+	u32 common_magic;
 	armv4_5_mmu_common_t armv4_5_mmu;
 	arm9tdmi_common_t arm9tdmi_common;
 	int (*read_cp15)(target_t *target, u32 op1, u32 op2, u32 CRn, u32 CRm, u32 *value);
Index: src/target/register.h
===================================================================
--- src/target/register.h	(revision 1470)
+++ src/target/register.h	(working copy)
@@ -40,7 +40,7 @@
 	u8 *value;
 	int dirty;
 	int valid;
-	int size;
+	u32 size;
 	bitfield_desc_t *bitfield_desc;
 	int num_bitfields;
 	void *arch_info;
Index: src/target/xscale.c
===================================================================
--- src/target/xscale.c	(revision 1470)
+++ src/target/xscale.c	(working copy)
@@ -1631,7 +1631,7 @@
 	u32 binary_size;
 
 	u32 buf_cnt;
-	int i;
+	u32 i;
 	int retval;
 
 	breakpoint_t *breakpoint = target->breakpoints;
@@ -1928,7 +1928,7 @@
 	armv4_5_common_t *armv4_5 = target->arch_info;
 	xscale_common_t *xscale = armv4_5->arch_info;
 	u32 *buf32;
-	int i;
+	u32 i;
 	int retval;
 
 	LOG_DEBUG("address: 0x%8.8x, size: 0x%8.8x, count: 0x%8.8x", address, size, count);
@@ -2933,7 +2933,7 @@
 						(((instruction.type == ARM_B) ||
 							(instruction.type == ARM_BL) ||
 							(instruction.type == ARM_BLX)) &&
-							(instruction.info.b_bl_bx_blx.target_address != -1)))
+							(instruction.info.b_bl_bx_blx.target_address != ~0UL)))
 					{
 						xscale->trace.current_pc = instruction.info.b_bl_bx_blx.target_address;
 					}
Index: src/target/mips32.h
===================================================================
--- src/target/mips32.h	(revision 1470)
+++ src/target/mips32.h	(working copy)
@@ -47,7 +47,7 @@
 
 typedef struct mips32_common_s
 {
-	int common_magic;
+	u32 common_magic;
 	void *arch_info;
 	reg_cache_t *core_cache;
 	mips_ejtag_t ejtag_info;
Index: src/target/target.c
===================================================================
--- src/target/target.c	(revision 1470)
+++ src/target/target.c	(working copy)
@@ -985,7 +985,7 @@
 	/* handle unaligned head bytes */
 	if (address % 4)
 	{
-		int unaligned = 4 - (address % 4);
+		u32 unaligned = 4 - (address % 4);
 
 		if (unaligned > size)
 			unaligned = size;
@@ -1060,7 +1060,7 @@
 	/* handle unaligned head bytes */
 	if (address % 4)
 	{
-		int unaligned = 4 - (address % 4);
+		u32 unaligned = 4 - (address % 4);
 
 		if (unaligned > size)
 			unaligned = size;
@@ -1100,7 +1100,7 @@
 {
 	u8 *buffer;
 	int retval;
-	int i;
+	u32 i;
 	u32 checksum = 0;
 	if (!target->type->examined)
 	{
@@ -2273,7 +2273,7 @@
 				retval = target->type->read_memory(target, image.sections[i].base_address, size, count, data);
 				if (retval == ERROR_OK)
 				{
-					int t;
+					u32 t;
 					for (t = 0; t < buf_cnt; t++)
 					{
 						if (data[t] != buffer[t])
@@ -2508,9 +2508,9 @@
 }
 
 /* Dump a gmon.out histogram file. */
-static void writeGmon(u32 *samples, int sampleNum, char *filename)
+static void writeGmon(u32 *samples, u32 sampleNum, char *filename)
 {
-	int i;
+	u32 i;
 	FILE *f=fopen(filename, "w");
 	if (f==NULL)
 		return;
@@ -2539,8 +2539,8 @@
 
 	int addressSpace=(max-min+1);
 
-	static int const maxBuckets=256*1024; /* maximum buckets. */
-	int length=addressSpace;
+	static const u32 maxBuckets = 256 * 1024; /* maximum buckets. */
+	u32 length = addressSpace;
 	if (length > maxBuckets)
 	{
 		length=maxBuckets;
@@ -2747,7 +2747,8 @@
 	u32 v;
 	const char *varname;
 	u8 buffer[4096];
-	int  i, n, e, retval;
+	int  n, e, retval;
+	u32 i;
 
 	/* argv[1] = name of array to receive the data
 	 * argv[2] = desired width
@@ -2928,7 +2929,8 @@
 	u32 v;
 	const char *varname;
 	u8 buffer[4096];
-	int  i, n, e, retval;
+	int  n, e, retval;
+	u32 i;
 
 	/* argv[1] = name of array to get the data
 	 * argv[2] = desired width
@@ -3200,7 +3202,7 @@
 				teap = target->event_action;
 				/* replace existing? */
 				while( teap ){
-					if( teap->event == n->value ){
+					if( teap->event == (enum target_event)n->value ){
 						break;
 					}
 					teap = teap->next;
Index: src/target/arm_jtag.h
===================================================================
--- src/target/arm_jtag.h	(revision 1470)
+++ src/target/arm_jtag.h	(working copy)
@@ -30,9 +30,9 @@
 {
 	jtag_tap_t *tap;
 	
-	int scann_size;
+	u32 scann_size;
 	u32 scann_instr;
-	int cur_scan_chain;
+	u32 cur_scan_chain;
 	
 	u32 intest_instr;
 } arm_jtag_t;
Index: src/target/arm920t.h
===================================================================
--- src/target/arm920t.h	(revision 1470)
+++ src/target/arm920t.h	(working copy)
@@ -32,7 +32,7 @@
 
 typedef struct arm920t_common_s
 {
-	int common_magic;
+	u32 common_magic;
 	armv4_5_mmu_common_t armv4_5_mmu;
 	arm9tdmi_common_t arm9tdmi_common;
 	u32 cp15_control_reg;
Index: src/target/embeddedice.c
===================================================================
--- src/target/embeddedice.c	(revision 1470)
+++ src/target/embeddedice.c	(working copy)
@@ -484,7 +484,7 @@
 	u8 field1_out[1];
 	u8 field2_out[1];
 	int retval;
-	int hsact;
+	u32 hsact;
 	struct timeval lap;
 	struct timeval now;
 
@@ -544,7 +544,7 @@
 
 		gettimeofday(&now, NULL);
 	}
-	while ((now.tv_sec-lap.tv_sec)*1000 + (now.tv_usec-lap.tv_usec)/1000 <= timeout);
+	while ((u32)((now.tv_sec-lap.tv_sec)*1000 + (now.tv_usec-lap.tv_usec)/1000) <= timeout);
 
 	return ERROR_TARGET_TIMEOUT;
 }
Index: src/target/mips_ejtag.c
===================================================================
--- src/target/mips_ejtag.c	(revision 1470)
+++ src/target/mips_ejtag.c	(working copy)
@@ -40,7 +40,7 @@
 	if (tap==NULL)
 		return ERROR_FAIL;
 
-	if (buf_get_u32(tap->cur_instr, 0, tap->ir_length) != new_instr)
+	if (buf_get_u32(tap->cur_instr, 0, tap->ir_length) != (u32)new_instr)
 	{
 		scan_field_t field;
 		u8 t[4];
Index: src/target/etm.c
===================================================================
--- src/target/etm.c	(revision 1470)
+++ src/target/etm.c	(working copy)
@@ -647,7 +647,7 @@
 	u8 packet;
 	int shift = 0;
 	int apo;
-	int i;
+	u32 i;
 
 	/* quit analysis if less than two cycles are left in the trace
 	 * because we can't extract the APO */
@@ -998,7 +998,7 @@
 			if (((instruction.type == ARM_B) ||
 				(instruction.type == ARM_BL) ||
 				(instruction.type == ARM_BLX)) &&
-				(instruction.info.b_bl_bx_blx.target_address != -1))
+				(instruction.info.b_bl_bx_blx.target_address != ~0UL))
 			{
 				next_pc = instruction.info.b_bl_bx_blx.target_address;
 			}
@@ -1543,7 +1543,7 @@
 	armv4_5_common_t *armv4_5;
 	arm7_9_common_t *arm7_9;
 	etm_context_t *etm_ctx;
-	int i;
+	u32 i;
 
 	if (argc != 1)
 	{
@@ -1611,7 +1611,7 @@
 	armv4_5_common_t *armv4_5;
 	arm7_9_common_t *arm7_9;
 	etm_context_t *etm_ctx;
-	int i;
+	u32 i;
 
 	if (argc != 1)
 	{
Index: src/target/target_request.c
===================================================================
--- src/target/target_request.c	(revision 1470)
+++ src/target/target_request.c	(working copy)
@@ -73,7 +73,7 @@
 	char line[128];
 	int line_len;
 	debug_msg_receiver_t *c = target->dbgmsg;
-	int i;
+	u32 i;
 	
 	LOG_DEBUG("size: %i, length: %i", size, length);
 
Index: src/target/feroceon.c
===================================================================
--- src/target/feroceon.c	(revision 1470)
+++ src/target/feroceon.c	(working copy)
@@ -517,7 +517,7 @@
 	arm7_9_common_t *arm7_9 = armv4_5->arch_info;
 	enum armv4_5_state core_state = armv4_5->core_state;
 	u32 x, flip, shift, save[7];
-	int i;
+	u32 i;
 
 	/*
 	 * We can't use the dcc flow control bits, so let's transfer data
@@ -547,7 +547,7 @@
 		0xeafffff3,	/*	b	3b			*/
 	};
 
-	int dcc_size = sizeof(dcc_code);
+	u32 dcc_size = sizeof(dcc_code);
 
 	if (!arm7_9->dcc_downloads)
 		return target->type->write_memory(target, address, 4, count, buffer);
Index: src/target/oocd_trace.c
===================================================================
--- src/target/oocd_trace.c	(revision 1470)
+++ src/target/oocd_trace.c	(working copy)
@@ -78,7 +78,8 @@
 
 int oocd_trace_read_memory(oocd_trace_t *oocd_trace, u8 *data, u32 address, u32 size)
 {
-	size_t bytes_written, bytes_read, bytes_to_read;
+	size_t bytes_written, bytes_to_read;
+	ssize_t bytes_read;
 	u8 cmd;
 
 	oocd_trace_write_reg(oocd_trace, OOCD_TRACE_ADDRESS, address);
@@ -188,7 +189,7 @@
 	u32 first_frame = 0x0;
 	u32 num_frames = 1048576;
 	u8 *trace_data;
-	int i;
+	u32 i;
 
 	oocd_trace_read_reg(oocd_trace, OOCD_TRACE_STATUS, &status);
 	oocd_trace_read_reg(oocd_trace, OOCD_TRACE_ADDRESS, &address);
Index: src/target/cortex_m3.c
===================================================================
--- src/target/cortex_m3.c	(revision 1470)
+++ src/target/cortex_m3.c	(working copy)
@@ -1475,7 +1475,7 @@
 	swjdp_common_t *swjdp = &cortex_m3->swjdp_info;
 	u8 data;
 	u8 ctrl;
-	int i;
+	u32 i;
 	
 	for (i = 0; i < (size * 4); i++)
 	{
Index: src/target/arm7_9_common.c
===================================================================
--- src/target/arm7_9_common.c	(revision 1470)
+++ src/target/arm7_9_common.c	(working copy)
@@ -655,7 +655,8 @@
 	arm7_9_common_t *arm7_9 = armv4_5->arch_info;
 	arm_jtag_t *jtag_info = &arm7_9->jtag_info;
 	u32 *data;
-	int i, retval = ERROR_OK;
+	int retval = ERROR_OK;
+	u32 i;
 
 	data = malloc(size * (sizeof(u32)));
 
@@ -1956,7 +1957,7 @@
 	arm7_9_common_t *arm7_9 = armv4_5->arch_info;
 
 	u32 reg[16];
-	int num_accesses = 0;
+	u32 num_accesses = 0;
 	int thisrun_accesses;
 	int i;
 	u32 cpsr;
@@ -2133,7 +2134,7 @@
 	reg_t *dbg_ctrl = &arm7_9->eice_cache->reg_list[EICE_DBG_CTRL];
 
 	u32 reg[16];
-	int num_accesses = 0;
+	u32 num_accesses = 0;
 	int thisrun_accesses;
 	int i;
 	u32 cpsr;
@@ -2466,7 +2467,7 @@
 		0x04C11DB7				/* CRC32XOR:	.word 0x04C11DB7 */
 	};
 
-	int i;
+	u32 i;
 
 	if (target_alloc_working_area(target, sizeof(arm7_9_crc_code), &crc_algorithm) != ERROR_OK)
 	{
@@ -2518,7 +2519,7 @@
 	reg_param_t reg_params[3];
 	armv4_5_algorithm_t armv4_5_info;
 	int retval;
-	int i;
+	u32 i;
 
 	u32 erase_check_code[] =
 	{
Index: src/target/arm7_9_common.h
===================================================================
--- src/target/arm7_9_common.h	(revision 1470)
+++ src/target/arm7_9_common.h	(working copy)
@@ -40,7 +40,7 @@
 
 typedef struct arm7_9_common_s
 {
-	int common_magic;
+	u32 common_magic;
 	
 	arm_jtag_t jtag_info;
 	reg_cache_t *eice_cache;
Index: src/target/armv4_5.c
===================================================================
--- src/target/armv4_5.c	(revision 1470)
+++ src/target/armv4_5.c	(working copy)
@@ -231,7 +231,7 @@
 			}
 		}
 
-		if (armv4_5_target->core_mode != (value & 0x1f))
+		if (armv4_5_target->core_mode != (enum armv4_5_mode)(value & 0x1f))
 		{
 			LOG_DEBUG("changing ARM core mode to '%s'", armv4_5_mode_strings[armv4_5_mode_to_number(value & 0x1f)]);
 			armv4_5_target->core_mode = value & 0x1f;
Index: src/target/armv4_5.h
===================================================================
Index: src/svf/svf.c
===================================================================
--- src/svf/svf.c	(revision 1470)
+++ src/svf/svf.c	(working copy)
@@ -103,7 +103,7 @@
 	"ABSENT"
 };
 
-char *svf_tap_state_name[16];
+char *svf_tap_state_name[TAP_NUM_STATES];
 
 #define XXR_TDI						(1 << 0)
 #define XXR_TDO						(1 << 1)
@@ -316,7 +316,7 @@
 	svf_buffer_size = 2 * SVF_MAX_BUFFER_SIZE_TO_COMMIT;
 
 	memcpy(&svf_para, &svf_para_init, sizeof(svf_para));
-	for (i = 0; i < dimof(svf_tap_state_name); i++)
+	for (i = 0; i < (int)dimof(svf_tap_state_name); i++)
 	{
 		svf_tap_state_name[i] = (char *)tap_state_name(i);
 	}
@@ -515,7 +515,7 @@
 
 static int svf_tap_state_is_valid(tap_state_t state)
 {
-	return ((state >= 0) && (state < sizeof(svf_tap_state_name)));
+	return state >= 0 && state < TAP_NUM_STATES;
 }
 
 static int svf_find_string_in_array(char *str, char **strs, int num_of_element)
Index: src/server/gdb_server.c
===================================================================
--- src/server/gdb_server.c	(revision 1470)
+++ src/server/gdb_server.c	(working copy)
@@ -348,7 +348,7 @@
 
 		char local_buffer[1024];
 		local_buffer[0] = '$';
-		if (len+4 <= sizeof(local_buffer))
+		if ((size_t)len + 4 <= sizeof(local_buffer))
 		{
 			/* performance gain on smaller packets by only a single call to gdb_write() */
 			memcpy(local_buffer+1, buffer, len++);
@@ -1213,7 +1213,7 @@
 	{
 		hex_buffer = malloc(len * 2 + 1);
 
-		int i;
+		u32 i;
 		for (i = 0; i < len; i++)
 		{
 			u8 t = buffer[i];
@@ -1243,7 +1243,7 @@
 
 	u8 *buffer;
 
-	int i;
+	u32 i;
 	int retval;
 
 	/* skip command character */
@@ -1540,12 +1540,12 @@
 
 int gdb_calc_blocksize(flash_bank_t *bank)
 {
-	int i;
-	int block_size = 0xffffffff;
+	u32 i;
+	u32 block_size = 0xffffffff;
 
 	/* loop through all sectors and return smallest sector size */
 
-	for (i = 0; i < bank->num_sectors; i++)
+	for (i = 0; i < (u32)bank->num_sectors; i++)
 	{
 		if (bank->sectors[i].size < block_size)
 			block_size = bank->sectors[i].size;
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to