Bootstrap error on x86-linux, fixincl segfault + fix
Kaveh R. Ghazi
ghazi@caip.rutgers.edu
Thu May 11 10:42:00 GMT 2000
I'm getting a segfault from stage1 fixincl today.
> ./fixincl -v
> make[3]: *** [install-bin] Segmentation fault (core dumped)
Here is the backtrace from gdb:
> (gdb) where
> #0 0x8049a47 in run_compiles ()
> at ../../../egcs-CVS20000511/gcc/fixinc/fixincl.c:408
> #1 0x80494c6 in do_version ()
> at ../../../egcs-CVS20000511/gcc/fixinc/fixincl.c:192
> #2 0x8049566 in initialize (argc=2, argv=0xbfffedc4)
> at ../../../egcs-CVS20000511/gcc/fixinc/fixincl.c:216
> #3 0x8049333 in main (argc=2, argv=0xbfffedc4)
> at ../../../egcs-CVS20000511/gcc/fixinc/fixincl.c:111
> (gdb) p pz_machine
> $1 = 0x0
The following patch seemed to fix it. But its only the correct
approach if pz_machine is allowed to be null at this point. If not,
then the bug lies elsewhere.
--Kaveh
diff -rup orig/egcs-CVS20000511/gcc/fixinc/fixincl.c egcs-CVS20000511/gcc/fixinc/fixincl.c
--- orig/egcs-CVS20000511/gcc/fixinc/fixincl.c Thu May 11 10:00:57 2000
+++ egcs-CVS20000511/gcc/fixinc/fixincl.c Thu May 11 07:59:59 2000
@@ -405,7 +405,7 @@ run_compiles ()
/* Allow machine name tests to be ignored (testing, mainly) */
- if ((*pz_machine == '\0') || (*pz_machine == '*'))
+ if (pz_machine && ((*pz_machine == '\0') || (*pz_machine == '*')))
pz_machine = (char*)NULL;
/* FOR every fixup, ... */
More information about the Gcc-patches
mailing list