FreeBSD 4.11-RC3 GCC preprocessor failure

Matthias Andree matthias.andree at gmx.de
Mon Jan 17 14:55:33 PST 2005


>Submitter-Id:	current-users
>Originator:	Matthias Andree
>Organization:	
>Confidential:	no 
>Synopsis:	FreeBSD 4.11-RC3 GCC preprocessor failure 
>Severity:	critical 
>Priority:	high 
>Category:	gnu 
>Class:		sw-bug 
>Release:	FreeBSD 4.11-RC3 i386
>Environment:
System: FreeBSD libertas.emma.line.org 4.11-RC3 FreeBSD 4.11-RC3 #17: Mon Jan 17 21:44:19 CET 2005 root at libertas.emma.line.org:/usr/src/sys/compile/LIBERTAS i386


	
>Description:
GCC 2.95.4 cannot compile e2fsprogs development version while GCC 3.3 is fine.

The preprocessor fails to expand a macro with a longish name, error message:

making all in lib/e2p
gmake[2]: Entering directory `/tmp/e2fsprogs/build/lib/e2p'
        CC ../../../lib/e2p/feature.c
../../../lib/e2p/feature.c:50: `EXT3_FEATURE_INCOMPAT_EXTENTS' undeclared here (not in a function)
../../../lib/e2p/feature.c:50: initializer element is not constant
../../../lib/e2p/feature.c:50: (near initialization for `feature_list[12].mask')
gmake[2]: *** [feature.o] Error 1

type: less lib/e2p/feature.i    and type /EXT3 and press the enter key
to see the problem area:

        {       1 , 0x0008 ,
                        "journal_dev" },
        {       1 , EXT3_FEATURE_INCOMPAT_EXTENTS,
                        "extents" },
        {       1 , 0x0010 ,
                        "meta_bg" },

GCC 3.3 will properly replace EXT3_FEATURE_INCOMPAT_EXTENTS with 0x0040
(install lang/gcc33, then gmake CC=gcc33)

	
>How-To-Repeat:
- install devel/gmake port
- install devel/bibktkeeper port (see PR #76208 if it's uncommitted)
- cd to a writable directory with some 30 MB room
- type these commands to check out, configure and build the code:
  #
  # the next three commands will clone the repository and check it out
  #
  bk clone -qr'tytso at think.thunk.org|ChangeSet|20050117193220|14963' \
    bk://thunk.org:5000/ e2fsprogs/
  cd e2fsprogs
  bk -Ur get -Sq
  #
  # now do the build
  #
  mkdir build
  cd build
  ../configure -C CFLAGS="-O -save-temps"
  gmake
	
>Fix:
	


More information about the freebsd-stable mailing list