This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Bootstrap Failure on x86-Linux With "-pipe"


   I regularly build 3.4 weekly snapshots on x86-Linux and have
found the last two snapshots to consistently ICE at the same
place on bootstrap. Mohan Embar, who has also been facing
similar problems, discovered that this was being triggered by
the "-pipe" option in the GCC build scripts that we happen
to share.

Indeed, removing "-pipe" does fix the ICE.

I decided to investigate a bit more and found that the
spawned C compiler ICEs while building this generated
--------------------------- 8< ---------------------------
extern const char **_Jv_Compiler_Properties;
static const char *props[] =

extern int _ZN3gnu3gcj7Convert6class$E;
int main (int argc, const char **argv)
  _Jv_Compiler_Properties = props;
  JvRunMain (&_ZN3gnu3gcj7Convert6class$E, argc, argv);
--------------------------- 8< ---------------------------

This is generated by the "jvgenmain" program in GCC when
invoked as "jvgenmain gnu.gcj.Convertmain".

If I say "cc1 -dumpbase snafu.c" (where "snafu.c" contains
the above code and "cc1" is from the GCC build area), the
compiler ICEs. There are more flags that are actually passed
during the build but this is the smallest set that still

cc1 information:
--------------------------- 8< ---------------------------
GNU C version 3.4 20031015 (experimental) (i686-pc-linux-gnu)
	compiled by GNU C version 3.4 20031015 (experimental).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
--------------------------- 8< ---------------------------

The ICE inside GDB:
--------------------------- 8< ---------------------------
(gdb) r
Starting program: /extra/src/gcc/build_lgcc/gcc/cc1 -dumpbase x.c

Program received signal SIGSEGV, Segmentation fault.
0x400941ff in strlen (str=0x0) at ../sysdeps/i386/strlen.c:28
28 ../sysdeps/i386/strlen.c: No such file or directory.
in ../sysdeps/i386/strlen.c
(gdb) bt
#0 0x400941ff in strlen (str=0x0) at ../sysdeps/i386/strlen.c:28
#1 0x08305787 in output_file_directive (asm_file=0x4013a200, input_name=0x0)
at /extra/src/gcc/gcc-ss/gcc/toplev.c:1432
#2 0x083201c9 in default_file_start ()
at /extra/src/gcc/gcc-ss/gcc/varasm.c:5189
#3 0x0833811b in x86_file_start ()
at /extra/src/gcc/gcc-ss/gcc/config/i386/i386.c:15363
#4 0x08302067 in toplev_main (argc=0, argv=0x0)
at /extra/src/gcc/gcc-ss/gcc/toplev.c:4038
#5 0x080c419e in main (argc=0, argv=0x0)
at /extra/src/gcc/gcc-ss/gcc/main.c:35
#6 0x4003817d in __libc_start_main (main=0x80c4180 <main>, argc=3,
ubp_av=0xbffffa04, init=0x80491f4 <_init>, fini=0x83c2464 <_fini>,
rtld_fini=0x4000a534 <_dl_fini>, stack_end=0xbffff9fc)
at ../sysdeps/generic/libc-start.c:129
--------------------------- 8< ---------------------------

Does anyone know what is causing this and how to fix

Many thanks in advance,


Three simple steps. They guarantee your safety. Protect yourself against the SMB.EXE virus.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]