gcc does not bootstrap on Solaris-2.6

Theodore Papadopoulo Theodore.Papadopoulo@sophia.inria.fr
Mon Nov 15 10:54:00 GMT 1999


	With a tree just updated I'm getting:


stage1/xgcc -Bstage1/ -B/u/corse/2/robotvis/gnu/egcs/sparc-sun-solaris2.6/bin/ -c  -DIN_GCC  -DSVR4  -W -Wall -O2 -g -O2  -DHAVE_CONFIG_H    -I. -I../../egcs/gcc -I../../egcs/gcc/config -I../../egcs/gcc/../include \
  ../../egcs/gcc/gencheck.c
stage1/xgcc -Bstage1/ -B/u/corse/2/robotvis/gnu/egcs/sparc-sun-solaris2.6/bin/  -DIN_GCC  -DSVR4  -W -Wall -O2 -g -O2  -DHAVE_CONFIG_H  -o gencheck \
 gencheck.o ` case "obstack.o" in ?*) echo obstack.o ;; esac ` ` case "alloca.o" in ?*) echo alloca.o ;; esac ` ` case "" in ?*) echo  ;; esac `  ` case "" in ?*) echo  ;; esac ` ` case "" in ?*) echo  ;; esac ` 
./gencheck > tmp-check.h
gmake[2]: *** [s-check] Error 6
gmake[2]: Leaving directory `/1/egcs/egcs-solaris/gcc'
gmake[1]: *** [bootstrap] Error 2
gmake[1]: Leaving directory `/1/egcs/egcs-solaris/gcc'
gmake: *** [bootstrap] Error 2


	The compiler was configured with:

# ../../egcs/gcc/configure  --host=sparc-sun-solaris2.6 --target=sparc-sun-solar
is2.6 --prefix=/u/corse/2/robotvis/gnu/egcs --srcdir=../../egcs/gcc --with-gcc-v
ersion-trigger=/1/egcs/egcs/gcc/version.c --with-gnu-as --with-gnu-ld --with-as=
/u/corse/2/robotvis/gnu/binutils/bin/as --with-ld=/u/corse/2/robotvis/gnu/binuti
ls/bin/ld --enable-threads=posix --enable-shared --cache-file=../config.cache

and the bootstrapping compiler is g++-2.95.2

tail tmp-check.h
#define NEW_ARRAY_INIT_CHECK(t) TREE_CHECK (t, NEW_ARRAY_INIT)
#define CLASS_INTERFACE_TYPE_CHECK(t)   TREE_CHECK (t, CLASS_INTERFACE_TYPE)
#define CLASS_IMPLEMENTATION_TYPE_CHECK(t)      TREE_CHECK (t, CLASS_IMPLEMENTATION_TYPE)
#define CATEGORY_INTERFACE_TYPE_CHECK(t)        TREE_CHECK (t, CATEGORY_INTERFACE_TYPE)
#define CATEGORY_IMPLEMENTATION_TYPE_CHECK(t)   TREE_CHECK (t, CATEGORY_IMPLEMENTATION_TYPE)
#define PROTOCOL_INTERFACE_TYPE_CHECK(t)        TREE_CHECK (t, PROTOCOL_INTERFACE_TYPE)
#define KEYWORD_DECL_CHECK(t)   TREE_CHECK (t, KEYWORD_DECL)
#define INSTANCE_METHOD_DECL_CHECK(t)   TREE_CHECK (t, INSTANCE_METHOD_DECL)
#define CLASS_METHOD_DECL_CHECK(t)      TREE_CHECK (t, CLASS_METHOD_DECL)
#define OBJC_STRING_CST_CHECK(t)        TREE_CHECK (t, OBJC_STRING_CST)

So it seems that it is just the final return statement which is 
broken... Actually, looking at the assembly code, it looks 
like no code is generated at all for the return statement.

>From gencheck1.c.06.cse2


(insn 102 100 113 (set (reg/i:SI 24 %i0)
        (const_int 10 [0xa])) 105 {*movsi_insn} (nil)
    (expr_list:REG_EQUAL (const_int 10 [0xa])
        (nil)))


>From gencheck1.c.08.flow

(note 102 100 113 "" NOTE_INSN_DELETED)


Bug in flow ???

The same bug does not appear on a linux-libc6 build with the same 
options.

	Theo.

 --------------------------------------------------------------------
 Theodore Papadopoulo
 Email: Theodore.Papadopoulo@sophia.inria.fr Tel: (33) 04 92 38 76 01
 --------------------------------------------------------------------





More information about the Gcc-bugs mailing list