GCC 4.2 broken on sparc64?

Marius Strobl marius at alchemy.franken.de
Sun May 20 15:13:24 UTC 2007


On Sat, May 19, 2007 at 12:18:54PM -0500, Nathan Whitehorn wrote:
> Building with the new GCC 4.2 on -CURRENT, I get this:
> usr.bin/cc/cc_tools/../../../../contrib/gcclibs/libcpp/include 
> -I/usr/src/gnu/usr.bin/cc/cc_tools/../../../../contrib/gcclibs/libdecnumber 
> -g -DGENERATOR_FILE -DHAVE_CONFIG_H 
> -I/usr/obj/usr/src/tmp/legacy/usr/include -c 
> /usr/src/gnu/usr.bin/cc/cc_tools/../../../../contrib/gcc/gengtype.c
> In file included from ./tm.h:5,
>                  from 
> /usr/src/gnu/usr.bin/cc/cc_tools/../../../../contrib/gcc/gengtype.c:24:
> ./options.h:515: error: redeclaration of enumerator `OPT_Werror'
> ./options.h:362: error: previous definition of 'OPT_Werror' was here
> ./options.h:534: error: redeclaration of enumerator `OPT_Wsystem_headers'
> ./options.h:417: error: previous definition of 'OPT_Wsystem_headers' was 
> here
> ./options.h:549: error: redeclaration of enumerator `OPT_d'
> ./options.h:427: error: previous definition of 'OPT_d' was here
> ./options.h:820: error: redeclaration of enumerator `OPT_o'
> ./options.h:682: error: previous definition of 'OPT_o' was here
> ./options.h:822: error: redeclaration of enumerator `OPT_pedantic'
> ./options.h:683: error: previous definition of 'OPT_pedantic' was here
> ./options.h:823: error: redeclaration of enumerator `OPT_pedantic_errors'
> ./options.h:684: error: previous definition of 'OPT_pedantic_errors' was 
> here
> *** Error code 1
> 
> I can't figure out what generates this file, and am at a loss to fix it.
> -Nathan

Hi Alexander,

compiling GCC 4.2 natively as part of the sparc64 world apparently
is broken due to some file not being generated as expected. This
also happens with a post symbol versioning world installed, cross-
compiling it works fine though. Another variant I see is
(the full log is at http://people.freebsd.org/~marius/build.txt):
cc -O2 -fno-strict-aliasing -pipe -DIN_GCC -DHAVE_CONFIG_H -DPREFIX=\"/usr/obj/usr/src/tmp/usr\" -I/usr/obj/usr/src/tmp/usr/src/gnu/usr.bin/cc/cc_int/../cc_tools -I/usr/src/gnu/usr.bin/cc/cc_int/../cc_tools -I/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcc -I/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcc/config -I/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcclibs/include -I/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcclibs/libcpp/include -I/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcclibs/libdecnumber  -I/usr/obj/usr/src/tmp/legacy/usr/include -c /usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcc/c-lex.c /usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcc/c-lex.c: In function 'c_lex_with_flags':
/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcc/c-lex.c:374: error: 'PURE_ZERO' undeclared (first use in this function)
/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcc/c-lex.c:374: error: (Each undeclared identifier is reported only once
/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcc/c-lex.c:374: error: for each function it appears in.)
/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcc/c-lex.c:466: error: 'const union cpp_token_u' has no member named 'pragma'
/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcc/c-lex.c: In function 'interpret_float':
/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcc/c-lex.c:644: error: 'CPP_N_DFLOAT' undeclared (first use in this function)

Do you have an idea what's causing this? I remeber one of your
earlier GCC 4.1 snapshots exhibiting similar problems, the next
one worked fine though.

Marius



More information about the freebsd-sparc64 mailing list