------- Comment #20 from mkoeppe at gmx dot de  2006-09-09 19:53 -------
Hi all,

as being pointed from PR 28968 to this one, I now tested "make bootstrap" with
several gcc versions on native Interix/SFU 3.5 on W2K-SP4. The bootstrap
compiler is interix gcc 3.3.

In particular I tested
- gcc-3.3.6
- gcc-3.4.6
- gcc-4.0.3
- gcc-4.1.1
- gcc-4.2 (20060709, currently in Debian Linux)

All these 5 versions I configured with

$ ../src/configure \
        --enable-languages=c,c++ \
        --enable-threads=posix \
        --with-stabs \
        --enable-nls \
        --enable-shared \
        --disable-libssp \
        --with-gnu-as \
        --with-gnu-ld

$ gmake bootstrap

Results are as follows:

gcc-3.3.6:  bootstrap finished successfully, currently I did no further tests.
gcc-3.4.6:  as 3.3.6, no further tests either
gcc-4.0.3:  fails
gcc-4.1.1:  fails
gcc-4.2:    fails

failure details:

gcc-4.0.3:
==========
fails at gcc/c-parse.{c,y}

[...]
Bootstrapping the compiler
gmake[1]: Entering directory `/tmp/gcc-4.0/build/gcc'
gmake CC=" stage2/xgcc -Bstage2/ -B/usr/local/i586-pc-interix3/bin/"
CC_FOR_BUILD=" stage2
         STAGE_PREFIX=stage2/ \
         ADAFLAGS="" CFLAGS="-g -O2" LDFLAGS=""
WARN_CFLAGS="\$(GCC_WARN_CFLAGS)" STRICT_W
         CFLAGS="-g -O2" WERROR=""
gmake[2]: Entering directory `/tmp/gcc-4.0/build/gcc'
stage2/xgcc -Bstage2/ -B/usr/local/i586-pc-interix3/bin/ -c -D__INTERIX
-D_ALL_SOURCE  -g
c-parse.c:2218:12: error: #if with no expression
c-parse.c:2328:20: error: #if with no expression
c-parse.c: In function 'yyparse':
c-parse.c:2534: error: 'yystacksize' undeclared (first use in this function)
c-parse.c:2534: error: (Each undeclared identifier is reported only once
c-parse.c:2534: error: for each function it appears in.)
c-parse.c:2538: warning: ISO C90 forbids mixed declarations and code
[...]
c-parse.y:2838: warning: implicit declaration of function
'OBJC_NEED_RAW_IDENTIFIER'
c-parse.y:2856: warning: 'return' with no value, in function returning non-void
c-parse.y:2860: warning: 'return' with no value, in function returning non-void
c-parse.y:2863: warning: 'return' with no value, in function returning non-void
c-parse.y:2881: error: syntax error before ')' token
c-parse.y:2884: warning: this function may return with or without a value
c-parse.y: In function 'yylex':
c-parse.y:2890: warning: statement with no effect
c-parse.y:2892: warning: statement with no effect
c-parse.y: In function 'yyprint':
c-parse.y:2913: warning: implicit declaration of function 'IDENTIFIER_POINTER'
c-parse.y:2914: warning: format '%s' expects type 'char *', but argument 3 has
type 'int'
c-parse.y:2918: warning: format '%s' expects type 'char *', but argument 3 has
type 'int'
c-parse.y:2922: error: syntax error before ',' token
In file included from c-parse.y:2963:
./gt-c-parse.h: At top level:
./gt-c-parse.h:30: error: syntax error before ',' token
./gt-c-parse.h:32: warning: missing initializer
./gt-c-parse.h:32: warning: (near initialization for
'gt_ggc_r_gt_c_parse_h[0].cb')
./gt-c-parse.h:37: error: 'gt_ggc_mx_tree_node' undeclared here (not in a
function)
./gt-c-parse.h:39: error: 'gt_pch_nx_tree_node' undeclared here (not in a
function)
./gt-c-parse.h:39: warning: missing initializer
./gt-c-parse.h:39: warning: (near initialization for
'gt_ggc_r_gt_c_parse_h[1].cb')
gmake[2]: *** [c-parse.o] Error 1
gmake[2]: Leaving directory `/tmp/gcc-4.0/build/gcc'
gmake[1]: *** [stage3_build] Error 2
gmake[1]: Leaving directory `/tmp/gcc-4.0/build/gcc'
gmake: *** [bootstrap] Error 2

I didn't have a closer look into it yet.
I use flex 2.5.4 and bison 2.1.

- cosmetic:  gcc/config/i386/host-cygwin.c is executable


gcc-4.1.1:
==========
- first PR 28968 is encountered, after working around this (sorry Andrew, I
didn't yet implement the correct fix),

- it fails because $(SHELL) in the Makefile is set to "sh", and therefore the
shell scripts for as and nm are generated in targets stamp-as and stamp-nm with
header "#!sh". Those scripts seem not to be executable on interix, manually
changing them to "#!/bin/sh" let's continue the build.

- after some time, it fails again. This time a process "collect2" is using 100%
CPU (but only 1500KB) for ca. 50 minutes, then it suddenly stops without
further information. Last output is:

gmake[2]: Entering directory `/tmp/gcc-4.1/build/gcc'
gawk -f ../../src/gcc/opt-gather.awk ../../src/gcc/c.opt
../../src/gcc/common.opt ../../src/gcc/config/i386/i386.opt > tmp-optionlist
sh ../../src/gcc/../move-if-change tmp-optionlist optionlist
optionlist is unchanged
echo timestamp > s-options
gawk -f ../../src/gcc/opt-functions.awk -f ../../src/gcc/opth-gen.awk \
       < optionlist > tmp-options.h
sh ../../src/gcc/../move-if-change tmp-options.h options.h
options.h is unchanged
echo timestamp > s-options-h
stage1/xgcc -Bstage1/ -B/usr/local/i586-pc-interix3/bin/ -c -D__INTERIX
-D_ALL_SOURCE  -g -O2 -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros
-Wold-style-definition -Wmissing-format-attribute     -DHAVE_CONFIG_H
-DGENERATOR_FILE -I. -Ibuild -I../../src/gcc -I../../src/gcc/build
-I../../src/gcc/../include -I../../src/gcc/../libcpp/include  -D_ALL_SOURCE
-I/usr/local/include  -I/usr/local/ssl/include   -o build/genmodes.o
../../src/gcc/genmodes.c
stage1/xgcc -Bstage1/ -B/usr/local/i586-pc-interix3/bin/ -c -D__INTERIX
-D_ALL_SOURCE  -g -O2 -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros
-Wold-style-definition -Wmissing-format-attribute     -DHAVE_CONFIG_H
-DGENERATOR_FILE -I. -Ibuild -I../../src/gcc -I../../src/gcc/build
-I../../src/gcc/../include -I../../src/gcc/../libcpp/include  -D_ALL_SOURCE
-I/usr/local/include  -I/usr/local/ssl/include   -o build/errors.o
../../src/gcc/errors.c
stage1/xgcc -Bstage1/ -B/usr/local/i586-pc-interix3/bin/ -D__INTERIX
-D_ALL_SOURCE  -g -O2 -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros
-Wold-style-definition -Wmissing-format-attribute     -DHAVE_CONFIG_H
-DGENERATOR_FILE  -o build/genmodes \
 build/genmodes.o build/errors.o
../build-i586-pc-interix3/libiberty/libiberty.a
[wait 50min]
gmake[2]: *** [build/genmodes] Error 1
gmake[2]: Leaving directory `/tmp/gcc-4.1/build/gcc'
gmake[1]: *** [stage2_build] Error 2
gmake[1]: Leaving directory `/tmp/gcc-4.1/build/gcc'
gmake: *** [bootstrap] Error 2

- cosmetic:  gcc/config/i386/{host-cygwin,winnt-cxx,winnt-stubs}.c are
executable


gcc-4.2 (20060709):
===================
here, at the very beginning builddir/gcc/Makefile is not created. It says:
config.status: creating Makefile
sed: cannot allocate memory

It is the original interix version of sed. The machine used to build all the
compilers has 2GB RAM, and during the builds, there is still over 1GB free.



If there is interest, I can do further tests on request.

Martin


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15212

Reply via email to