Date: Tue, 17 Jun 2003 01:15:54 -0500 (CDT) From: Dan Nelson <dnelson@allantgroup.com> To: FreeBSD-gnats-submit@FreeBSD.org Cc: gerald@FreeBSD.org Subject: ports/53395: [PATCH] gcc 3.3 bounds-checking Message-ID: <200306170615.h5H6FsjI050020@dan.emsphone.com> Resent-Message-ID: <200306170620.h5H6K65N018605@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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@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@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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200306170615.h5H6FsjI050020>