ports/53395: [PATCH] gcc 3.3 bounds-checking

Dan Nelson dnelson at allantgroup.com
Tue Jun 17 06:20:09 UTC 2003


>Number:         53395
>Category:       ports
>Synopsis:       [PATCH] gcc 3.3 bounds-checking
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jun 16 23:20:06 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Dan Nelson
>Release:        FreeBSD 5.1-CURRENT i386
>Organization:
The Allant Group
>Environment:
System: FreeBSD dan.emsphone.com 5.1-CURRENT FreeBSD 5.1-CURRENT #273: Tue Jun 10 09:45:20 CDT 2003 dan at dan.emsphone.com:/usr/src/sys/i386/compile/DANSMP i386


	
>Description:
	

Patches to the lang/gcc33 port that allow the user to build with Herman
ten Brugge's bounds-checking patches located at
http://web.inter.nl.net/hcc/Haj.Ten.Brugge/

>How-To-Repeat:
	
>Fix:

	


Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/lang/gcc33/Makefile,v
retrieving revision 1.141
diff -u -r1.141 Makefile
--- Makefile	15 May 2003 12:56:34 -0000	1.141
+++ Makefile	17 Jun 2003 06:11:01 -0000
@@ -14,7 +14,8 @@
 PORTREVISION=	${SNAPDATE:S/-//g}
 CATEGORIES=	lang java
 VERSIONSTRING=	${PORTVERSION}
-MASTER_SITES=	${MASTER_SITE_GCC}
+MASTER_SITES=	${MASTER_SITE_GCC} \
+		http://web.inter.NL.net/hcc/Haj.Ten.Brugge/:bc
 MASTER_SITE_SUBDIR=	releases/gcc-${VERSIONSTRING}
 .if !defined(CVS_DATE)
 DISTFILES=	\
@@ -29,6 +30,14 @@
 MAINTAINER?=	ports at FreeBSD.org
 COMMENT?=	GNU Compiler Collection 3.3
 
+.if defined (WITH_BOUNDSCHECKING)
+# Fetch another file, but don't extract it.  Also add another patchfile.
+BCPATCH=	bounds-checking-gcc-3.3-1.00.patch.bz2
+DISTFILES+=	${BCPATCH}:bc
+EXTRACT_ONLY=	${DISTFILES:S/${BCPATCH}:bc//}
+EXTRA_PATCHES=	${FILESDIR}/opt.patch-bc
+.endif
+
 LATEST_LINK?=	gcc33${PKGNAMESUFFIX}
 
 USE_BZIP2=	yes
@@ -82,6 +91,11 @@
 
 pre-fetch:
 	@${ECHO} "Making GCC ${DISTNAME:S/^gcc-//} for ${OPSYS} ${OSREL} ${PORTOBJFORMAT}	target ${CONFIGURE_TARGET}"
+.if !defined(WITH_BOUNDSCHECKING)
+	@${ECHO_MSG} "You can enable fine-grained bounds-checking support for compiled C programs"
+	@${ECHO_MSG} "by defining WITH_BOUNDSCHECKING.  Compile and link with \"-fbounds-checking\""
+	@${ECHO_MSG} "to use."
+.endif
 
 .if defined(CVS_DATE)
 NO_CHECKSUM=	yes
@@ -110,6 +124,15 @@
 	${MKDIR} ${SRCDIR}
 	cd ${DISTDIR}/${DIST_SUBDIR}/${DIST_SUBDIR ; pax -pe -rwt . ${SRCDIR}
 .endif	# CVS_DATE
+
+.if defined(WITH_BOUNDSCHECKING)
+# Extract bounds-checking patch, removing the ada parts of the patch with sed.
+pre-patch:
+	cd ${_DISTDIR} ; \
+	${BZCAT} ${BCPATCH} | \
+		${SED} -e '/^--- .*ada/,/^diff/d' | \
+		${PATCH} -d ${PATCH_WRKSRC} -E -p1 --quiet
+.endif
 
 post-patch:
 	@${REINPLACE_CMD} -e 's#\(const char version_string.*\)";#\1 [FreeBSD]";#' \
Index: distinfo
===================================================================
RCS file: /home/ncvs/ports/lang/gcc33/distinfo,v
retrieving revision 1.67
diff -u -r1.67 distinfo
--- distinfo	15 May 2003 12:56:34 -0000	1.67
+++ distinfo	28 May 2003 21:08:50 -0000
@@ -4,3 +4,4 @@
 MD5 (gcc-java-3.3.tar.bz2) = 8c789ac16cd54925c52fad174b5b533e
 MD5 (gcc-objc-3.3.tar.bz2) = 3eb06192c9e3521a2a2d70e1b73cb900
 MD5 (gcc-testsuite-3.3.tar.bz2) = c4b5e9aa0f46ce34559f14d11f5b9044
+MD5 (bounds-checking-gcc-3.3-1.00.patch.bz2) = b3ac2dbb902f78ffd3db3e38cab9762b
Index: files/opt.patch-bc
===================================================================
RCS file: files/opt.patch-bc
diff -N files/opt.patch-bc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/opt.patch-bc	28 May 2003 20:49:48 -0000
@@ -0,0 +1,11 @@
+--- gcc/bounds/lib/Makefile.orig	Tue May 20 16:35:05 2003
++++ gcc/bounds/lib/Makefile	Tue May 20 16:35:19 2003
+@@ -14,7 +14,7 @@
+ SUBDIR_INCLUDES = -I../.. -I$(srcdir)/bounds/lib -I$(srcdir) -I$(srcdir)/config -I$(srcdir)/../include
+ 
+ # Use this on System V.
+-CPPFLAGS = -DUSG
++CPPFLAGS = -DBSD4_2
+ 
+ .c.o:
+ 	$(GCC_FOR_TARGET) -Wall $(OPTIMIZE) $(CPPFLAGS) \
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list