ports/117648: [patch] devel/a2dev fix building with GCC 4.2 + get rid of a few warnings

Pietro Cerutti gahr at gahr.ch
Mon Oct 29 22:40:02 UTC 2007


>Number:         117648
>Category:       ports
>Synopsis:       [patch] devel/a2dev fix building with GCC 4.2 + get rid of a few warnings
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Oct 29 22:40:01 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator:     Pietro Cerutti
>Release:        6.2-STABLE
>Organization:
Bern University of Applied Sciences
>Environment:
FreeBSD gahrtop.localhost 6.2-STABLE FreeBSD 6.2-STABLE #3: Wed Oct 24 08:30:39 CEST 2007     root at gahrtop.localhost:/usr/obj/usr/src/sys/MSI1034  i386
>Description:
devel/a2dev doesn't build with GCC 4.2 because of a cast expression used as an lvalue. Moreover, there a are a few warnings which are easily fixed (missing includes, ..)
>How-To-Repeat:
cd /usr/ports/devel/a2dev && make
>Fix:
add the following patch as files/path-ai

--- util/error.c.orig	2007-10-29 23:28:26.000000000 +0100
+++ util/error.c	2007-10-29 23:29:40.000000000 +0100
@@ -7,6 +7,7 @@
  */
 
 #include <stdio.h>
+#include <stdlib.h>
 #include <stdarg.h>
 #include "util.h"
 #include "error.h"
--- util/hash.c.orig	2007-10-29 23:27:57.000000000 +0100
+++ util/hash.c	2007-10-29 23:29:40.000000000 +0100
@@ -28,9 +28,13 @@
 Hash(void *bytes, unsigned length)
 {
 	unsigned	crc = CRC_INIT;
+   unsigned char byte;
+   unsigned len = 0;
 
-	while (length--)
-		crc = table[(crc ^ *((unsigned char *) bytes)++) & 0xFF] ^ (crc >> 8);
+   for(len=0; len<length; len++){
+      byte = ((unsigned char *)bytes)[len];
+		crc = table[(crc ^ byte) & 0xFF] ^ (crc >> 8);
+   }
 	return(crc ^ CRC_FINAL);
 }
 
--- util/names.c.orig	2007-10-29 23:28:43.000000000 +0100
+++ util/names.c	2007-10-29 23:29:40.000000000 +0100
@@ -6,6 +6,7 @@
  */
 
 #include <stdio.h>
+#include <string.h>
 #include "util.h"
 #include "error.h"
 #include "hash.h"
--- asm/emit.c.orig	2007-10-29 23:28:20.000000000 +0100
+++ asm/emit.c	2007-10-29 23:29:44.000000000 +0100
@@ -191,7 +191,7 @@
 
 /* Try to do zero page */
 
-	if (zmode >= 0 && CheckOp(ins, zmode) >= 0)
+	if (zmode >= 0 && CheckOp(ins, zmode) >= 0) {
 		if (ivalue->type == iSegRel
 				&& ivalue->u.segrel.segment == AbsSegment
 				&& (ivalue->u.segrel.offset & ~0xFF) == 0)
@@ -207,6 +207,7 @@
 			EmitIvalue(ivalue, FALSE, 0x01);
 			return;
 		}
+   }
 
 /* Can we ONLY do zero page (but didn't)? */
 
@@ -239,7 +240,7 @@
 
 /* Compute displacement to target address */
 
-	if (gPass == 2)
+	if (gPass == 2) {
 		if (ivalue->type != iSegRel || ivalue->u.segrel.segment != gSegment)
 			uerror("illegal branch address");
 		else
@@ -248,6 +249,7 @@
 			if (disp < -128 || disp > 127)
 				uerror("branch of %d bytes is out of range", disp);
 		}
+   }
 
 /* Done */
 


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list