Skip site navigation (1)Skip section navigation (2)
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>