On Wed, Dec 24, 2008 at 08:57:11PM -0800, Rick Altherr wrote:
> Could one of you send a patch that fixes these compiler warnings?  I  
> made a few attempts at it but wasn't sure if changing the usb buffer to 
> be a char * was appropriate, etc.
>
> gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src -I../../src/helper   - 
> I../../src/target     -gstabs+ -I/opt/local/include -MT rlink.o -MD -MP 
> -MF .deps/rlink.Tpo -c -o rlink.o `test -f 'rlink/rlink.c' || echo  
> './'`rlink/rlink.c
> rlink/rlink.c: In function ‘ep1_generic_commandl’:
> rlink/rlink.c:137: warning: pointer targets in passing argument 3 of  
> ‘usb_bulk_write’ differ in signedness
...

The odd thing is that I get no warnings compiling it here.  None.  Or
they would have been addressed.  I've tried adding -Wall to the Makefile
and can get the same warnings that way.  I'm guessing either your usb.h
is different somehow, or your compiler is more vocal about warnings by
default than gcc 4.3.2 is.  Perhaps -Wall should be added to the build
system.

And I do see warnings in _other_ parts of the build.

I have attached a patch.
--- openocd-svn/src/jtag/rlink/rlink.c	2008-12-20 17:33:44.000000000 -0600
+++ openocd-svn-dev/src/jtag/rlink/rlink.c	2008-12-25 08:06:07.000000000 -0600
@@ -132,7 +131,7 @@
 	usb_ret = usb_bulk_write(
 		pHDev,
 		USB_EP1OUT_ADDR,
-		usb_buffer, sizeof(usb_buffer),
+		(char *)usb_buffer, sizeof(usb_buffer),
 		USB_TIMEOUT_MS
 	);
 
@@ -249,7 +248,7 @@
 
       		usb_ret = usb_bulk_write(
 			pHDev, USB_EP1OUT_ADDR,
-			usb_buffer, sizeof(usb_buffer),
+			(char *)usb_buffer, sizeof(usb_buffer),
 			USB_TIMEOUT_MS
 		);
 
@@ -359,7 +358,7 @@
 
 			case DTCLOAD_ENTRY:
 				/* store entry addresses somewhere */
-				if(!strncmp("download", buffer + 1, 8)) {
+				if(!strncmp("download", (char *)buffer + 1, 8)) {
 					dtc_entry_download = buffer[0];
 				}
 				break;
@@ -449,7 +448,7 @@
 	/* read back ep2txr */
 	usb_err = usb_bulk_read(
 		pHDev, USB_EP1IN_ADDR,
-		&ep2txr, 1,
+		(char *)&ep2txr, 1,
 		USB_TIMEOUT_MS
 	);
 	if(usb_err < 0) return(usb_err);
@@ -476,7 +475,7 @@
 	/* wait for completion */
 	usb_err = usb_bulk_read(
 		pHDev, USB_EP1IN_ADDR,
-		&ep2txr, 1,
+		(char *)&ep2txr, 1,
 		USB_TIMEOUT_MS
 	);
 
@@ -502,7 +501,7 @@
 	usb_err = usb_bulk_write(
 		pHDev,
 		USB_EP2OUT_ADDR,
-		command_buffer, USB_EP2BANK_SIZE,
+		(char *)command_buffer, USB_EP2BANK_SIZE,
 		USB_TIMEOUT_MS
 	);
 	if(usb_err < 0) return(usb_err);
@@ -523,7 +522,7 @@
 		usb_err = usb_bulk_read(
 			pHDev,
 			USB_EP1IN_ADDR,
-			ep2_buffer, 1,
+			(char *)ep2_buffer, 1,
 			USB_TIMEOUT_MS
 		);
 		if(usb_err < 0) return(usb_err);
@@ -544,7 +543,7 @@
 		usb_err = usb_bulk_read(
 			pHDev,
 			USB_EP2IN_ADDR,
-			ep2_buffer, sizeof(ep2_buffer),
+			(char *)ep2_buffer, sizeof(ep2_buffer),
 			USB_TIMEOUT_MS
 		);
 
@@ -1662,7 +1669,7 @@
 		}
 		j = usb_bulk_read(
 			pHDev, USB_EP1IN_ADDR,
-			reply_buffer, sizeof(reply_buffer),
+			(char *)reply_buffer, sizeof(reply_buffer),
 			200
 		);
 		if(j != -ETIMEDOUT) break;
@@ -1701,7 +1708,7 @@
 
 	usb_bulk_read(
 		pHDev, USB_EP1IN_ADDR,
-		reply_buffer, 1,
+		(char *)reply_buffer, 1,
 		USB_TIMEOUT_MS
 	);
 
@@ -1726,7 +1733,7 @@
 
 	usb_bulk_read(
 		pHDev, USB_EP1IN_ADDR,
-		reply_buffer, 1,
+		(char *)reply_buffer, 1,
 		USB_TIMEOUT_MS
 	);
 
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to