Date: Thu, 17 Jul 2003 17:17:05 +0200 (CEST) From: Simon Barner <barner@in.tum.de> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/54587: ports/lang/gcc33 bounds check patch does not apply cleanly Message-ID: <20030717151705.E3B553876E@zi025.glhnet.mhn.de> Resent-Message-ID: <200307171520.h6HFKBqD043987@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 54587 >Category: ports >Synopsis: ports/lang/gcc33 bounds check patch does not apply cleanly >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: Thu Jul 17 08:20:11 PDT 2003 >Closed-Date: >Last-Modified: >Originator: Simon Barner >Release: FreeBSD 4.8-STABLE i386 >Organization: >Environment: System: FreeBSD zi025.glhnet.mhn.de 4.8-STABLE FreeBSD 4.8-STABLE #0: Sat Jun 28 11:00:16 CEST 2003 root@zi025.glhnet.mhn.de:/usr/src/sys/compile/KISTE i386 Ports collection from 17. July 03 >Description: The bounds-checking patch from http://web.inter.nl.net/hcc/Haj.Ten.Brugge/bounds-checking-gcc-3.3-1.00.patch.bz2 does not apply any more. I was able to fix that manually, and the result seems to work fine. Unfortunately, I don't know how to apply a patch to a patch file, so I will leave this to the more experienced port hackers :-) For your convenience, here are the 3 reject files: These two are easy ones: cat work/gcc-20030707/gcc/c-common.c.rej *************** *** 39,44 **** #include "langhooks.h" #include "except.h" /* For USING_SJLJ_EXCEPTIONS. */ #include "tree-inline.h" cpp_reader *parse_in; /* Declared in c-pragma.h. */ --- 39,45 ---- #include "langhooks.h" #include "except.h" /* For USING_SJLJ_EXCEPTIONS. */ #include "tree-inline.h" + #include "c-bounds.h" cpp_reader *parse_in; /* Declared in c-pragma.h. */ cat work/gcc-20030707/gcc/c-decl.c.rej *************** *** 46,51 **** #include "timevar.h" #include "c-common.h" #include "c-pragma.h" /* In grokdeclarator, distinguish syntactic contexts of declarators. */ enum decl_context --- 46,52 ---- #include "timevar.h" #include "c-common.h" #include "c-pragma.h" + #include "c-bounds.h" /* In grokdeclarator, distinguish syntactic contexts of declarators. */ enum decl_context The problem here is, that there is no parse.h (which is generated from parse.y) cat work/gcc-20030707/gcc/cp/parse.h.rej *************** *** 1,5 **** - #ifndef BISON_P16368_H - # define BISON_P16368_H #ifndef YYSTYPE typedef union { GTY(()) --- 1,5 ---- + #ifndef BISON_P871_H + # define BISON_P871_H #ifndef YYSTYPE typedef union { GTY(()) *************** *** 104,108 **** extern YYSTYPE yylval; - #endif /* not BISON_P16368_H */ #define YYEMPTY -2 --- 104,108 ---- extern YYSTYPE yylval; + #endif /* not BISON_P871_H */ #define YYEMPTY -2 During the build, there is another problem in c-decl.c (undefined reference to "global_binding_level" in an if-clause - AFAIR). I am sorry but I do not want to repeat the build on my slow machine. Btw: The bounds checking patch has been updated to version 1.01, so if you put any effort into fixing this problem, you probably want to use the latest version of the patch. >How-To-Repeat: cd $PREFIX/ports/lang/gcc33 make -DWITH_BOUNDSCHECKING patch >Fix: >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030717151705.E3B553876E>