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]

Re: Bootstrap Failure on x86-Linux With "-pipe"

FWIW, I am still seeing this failure with the
latest snapshot. BTW, this snapshot fails for me
in libstdc++-v3 configury itself, dying with a 
"unable to detect exception model" error - it
proceeds further *only if* I specify 
"--disable-sjlj-exceptions" - it seems that the
generated code for the auto detect test
case no longer has any reference to "Unwind_xxx" 
functions as it expects.

I also note that cc1, cc1plus and jc1 all ICE
with a segfault if invoked as is without any
input filename! There was some recent talk on
this, but the discussion really didn't get any
where AFAICT. All of the three fail in 
output_file_directive( ) in toplev.c because
main_input_filename is NULL. (This a regression
from 3.3.)

In 3.3, this used to be set in toplev.c, but
this has now been removed in 3.4. (Why?)

Finally, I note that in the case that I mentioned
in my original mail (see below), it seems that the
error happens only in the presence of the "-pipe"
flag. Somehow, in this case the "-o .libs/jv-convert"
given by the gcj driver gets passed on to cc1 
merely as "-o", causing it to ICE due to the 
reason cited above.


Ranjit Mathew wrote:
> Hi,
>     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
> file:
> --------------------------- 8< ---------------------------
> extern const char **_Jv_Compiler_Properties;
> static const char *props[] =
> {
>   0
> };
> 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
> ICEs.
> 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
> it?
> Many thanks in advance,
> Ranjit.
> _________________________________________________________________
> Three simple steps. They guarantee your safety.
> Protect
> yourself against the SMB.EXE virus.

Ranjit Mathew        Email: rmathew AT hotmail DOT com
INDIA.               Web:

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