Hi, I got crash from gcc-3.2 while compiling cvs binary. The binary I got from www.sunfreeware.com (see below). $ gcc -save-temps -Wall -DHAVE_CONFIG_H -I. -I.. -I../src -I../lib -I/software/@sys/usr/include -I/software/@sys/usr/local/include -O3 -felide-constructors -fprofile-arcs -fbranch-probabilities -c `test -f diff3.c || echo './'`diff3.c diff3.c:0: warning: file diff3.da not found, execution counts assumed to be zero diff3.c: In function `output_diff3': diff3.c:1441: warning: `oddoneout' might be used uninitialized in this function diff3.c:1446: warning: `dontprint' might be used uninitialized in this function diff3.c: In function `undotlines': diff3.c:1557: warning: suggest explicit braces to avoid ambiguous `else' diff3.c: In function `output_diff3_merge': diff3.c:1752: warning: suggest explicit braces to avoid ambiguous `else' diff3.c:1806: warning: suggest explicit braces to avoid ambiguous `else' diff3.c: In function `diff3_fatal': diff3.c:1862: internal error: Segmentation Fault Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions. $ uname -a SunOS pf-i400 5.6 Generic_105181-31 sun4u sparc $ gcc -v Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.6/3.2/specs Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --disable-nls Thread model: posix gcc version 3.2 $ pkginfo -l SMCgcc PKGINST: SMCgcc NAME: gcc CATEGORY: application ARCH: sparc VERSION: 3.2 BASEDIR: /usr/local VENDOR: Free Software Foundation PSTAMP: Steve Christensen INSTDATE: Sep 16 2002 21:37 EMAIL: steve@smc.vnet.net STATUS: completely installed FILES: 1745 installed pathnames 4 linked files 131 directories 35 executables 291515 blocks used (approx) $ $ gcc -save-temps -Wall -DHAVE_CONFIG_H -I. -I.. -I../src -I../lib -I/software/@sys/usr/include -I/software/@sys/usr/local/include -O3 -felide-constructors -c `test -f diff3.c || echo './'`diff3.cdiff3.c: In function `output_diff3': diff3.c:1441: warning: `oddoneout' might be used uninitialized in this function diff3.c:1446: warning: `dontprint' might be used uninitialized in this function diff3.c: In function `undotlines': diff3.c:1557: warning: suggest explicit braces to avoid ambiguous `else' diff3.c: In function `output_diff3_merge': diff3.c:1752: warning: suggest explicit braces to avoid ambiguous `else' diff3.c:1806: warning: suggest explicit braces to avoid ambiguous `else' $ I suspect there's a problem in the new code. When either of -fbranch-probabilities or -fprofile-arcs is used, I get a crash. As the diff3.i was exactly same in the crash nad successfull trial (without those 2 options), I'm not including this file. Hope this helps -- Martin Mokrejs <mmokrejs@natur.cuni.cz>, <m.mokrejs@gsf.de> PGP5.0i key is at http://www.natur.cuni.cz/~mmokrejs MIPS / Institute for Bioinformatics <http://mips.gsf.de> GSF - National Research Center for Environment and Health Ingolstaedter Landstrasse 1, D-85764 Neuherberg, Germany tel.: +49-89-3187 3683 , fax: +49-89-3187 3585 Release: unknown
From: Nathanael Nerode <neroden@twcny.rr.com> To: mmokrejs@natur.cuni.cz, gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org Cc: Subject: Re: bootstrap/7936: gcc-3.2 crash Date: Sat, 22 Feb 2003 02:34:06 -0500 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7936 We really do need a testcase here, otherwise we can't reproduce the bug.
State-Changed-From-To: open->feedback State-Changed-Why: You really do need to include the file.
No feedback
So, I rechecked with gcc-3.3 on same machine: $ ../configure --prefix=/software/@sys/usr [...] Configuring gcc... loading cache ../config.cache checking LIBRARY_PATH variable... ok checking GCC_EXEC_PREFIX variable... ok checking host system type... sparc-sun-solaris2.6 checking target system type... sparc-sun-solaris2.6 checking build system type... sparc-sun-solaris2.6 checking for gcc... (cached) gcc [...] checking assembler --gdwarf2 support... yes checking assembler --gstabs support... yes checking linker read-only and read-write section mixing... grep: illegal option -- A grep: illegal option -- 1 Usage: grep -hblcnsviw pattern file . . . checking linker PT_GNU_EH_FRAME support... yes Using ggc-page for garbage collection. [...] $ make bootstrap [...] gcc -c -g -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H -I/software/@sys/usr/include -I/software/@sys/usr/include/ncurses -I/software/@sys/usr/openssl/include -I/software/@sys/usr/include/freetype2 -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/config -I../../gcc/../include ../../gcc/dwarf2asm.c -o dwarf2asm.o In file included from ../../gcc/dwarf2asm.c:29: ../../gcc/dwarf2asm.h:26: parse error before "ATTRIBUTE_NULL_PRINTF_3" ../../gcc/dwarf2asm.h:26: warning: type defaults to `int' in declaration of `ATTRIBUTE_NULL_PRINTF_3' ../../gcc/dwarf2asm.h:26: ISO C forbids data definition with no type or storage class ../../gcc/dwarf2asm.h:31: parse error before "ATTRIBUTE_NULL_PRINTF_4" ../../gcc/dwarf2asm.h:31: warning: type defaults to `int' in declaration of `ATTRIBUTE_NULL_PRINTF_4' ../../gcc/dwarf2asm.h:31: ISO C forbids data definition with no type or storage class ../../gcc/dwarf2asm.h:35: parse error before "ATTRIBUTE_NULL_PRINTF_3" ../../gcc/dwarf2asm.h:35: warning: type defaults to `int' in declaration of `ATTRIBUTE_NULL_PRINTF_3' ../../gcc/dwarf2asm.h:35: ISO C forbids data definition with no type or storage class ../../gcc/dwarf2asm.h:39: parse error before "ATTRIBUTE_NULL_PRINTF_3" ../../gcc/dwarf2asm.h:39: warning: type defaults to `int' in declaration of `ATTRIBUTE_NULL_PRINTF_3' ../../gcc/dwarf2asm.h:39: ISO C forbids data definition with no type or storage class ../../gcc/dwarf2asm.h:43: parse error before "ATTRIBUTE_NULL_PRINTF_3" ../../gcc/dwarf2asm.h:43: warning: type defaults to `int' in declaration of `ATTRIBUTE_NULL_PRINTF_3' ../../gcc/dwarf2asm.h:43: ISO C forbids data definition with no type or storage class ../../gcc/dwarf2asm.h:47: parse error before "ATTRIBUTE_NULL_PRINTF_3" ../../gcc/dwarf2asm.h:47: warning: type defaults to `int' in declaration of `ATTRIBUTE_NULL_PRINTF_3' ../../gcc/dwarf2asm.h:47: ISO C forbids data definition with no type or storage class ../../gcc/dwarf2asm.h:51: parse error before "ATTRIBUTE_NULL_PRINTF_3" ../../gcc/dwarf2asm.h:51: warning: type defaults to `int' in declaration of `ATTRIBUTE_NULL_PRINTF_3' ../../gcc/dwarf2asm.h:51: ISO C forbids data definition with no type or storage class ../../gcc/dwarf2asm.h:55: parse error before "ATTRIBUTE_NULL_PRINTF_3" ../../gcc/dwarf2asm.h:55: warning: type defaults to `int' in declaration of `ATTRIBUTE_NULL_PRINTF_3' ../../gcc/dwarf2asm.h:55: ISO C forbids data definition with no type or storage class ../../gcc/dwarf2asm.h:59: parse error before "ATTRIBUTE_NULL_PRINTF_2" ../../gcc/dwarf2asm.h:59: warning: type defaults to `int' in declaration of `ATTRIBUTE_NULL_PRINTF_2' ../../gcc/dwarf2asm.h:59: ISO C forbids data definition with no type or storage class ../../gcc/dwarf2asm.h:63: parse error before "ATTRIBUTE_NULL_PRINTF_2" ../../gcc/dwarf2asm.h:63: warning: type defaults to `int' in declaration of `ATTRIBUTE_NULL_PRINTF_2' ../../gcc/dwarf2asm.h:63: ISO C forbids data definition with no type or storage class ../../gcc/dwarf2asm.h:67: parse error before "ATTRIBUTE_NULL_PRINTF_3" ../../gcc/dwarf2asm.h:67: warning: type defaults to `int' in declaration of `ATTRIBUTE_NULL_PRINTF_3' ../../gcc/dwarf2asm.h:67: ISO C forbids data definition with no type or storage class ../../gcc/dwarf2asm.h:71: parse error before "ATTRIBUTE_NULL_PRINTF_3" ../../gcc/dwarf2asm.h:71: warning: type defaults to `int' in declaration of `ATTRIBUTE_NULL_PRINTF_3' ../../gcc/dwarf2asm.h:71: ISO C forbids data definition with no type or storage class ../../gcc/dwarf2asm.c:70: warning: no previous prototype for `dw2_asm_output_data' ../../gcc/dwarf2asm.c:100: warning: no previous prototype for `dw2_asm_output_delta' ../../gcc/dwarf2asm.c:134: warning: no previous prototype for `dw2_asm_output_offset' ../../gcc/dwarf2asm.c:163: warning: no previous prototype for `dw2_asm_output_pcrel' ../../gcc/dwarf2asm.c:193: warning: no previous prototype for `dw2_asm_output_addr' ../../gcc/dwarf2asm.c:216: warning: no previous prototype for `dw2_asm_output_addr_rtx' ../../gcc/dwarf2asm.c:237: warning: no previous prototype for `dw2_asm_output_nstring' ../../gcc/dwarf2asm.c:510: warning: no previous prototype for `dw2_asm_output_data_uleb128' ../../gcc/dwarf2asm.c:572: warning: no previous prototype for `dw2_asm_output_data_sleb128' ../../gcc/dwarf2asm.c:636: warning: no previous prototype for `dw2_asm_output_delta_uleb128' ../../gcc/dwarf2asm.c:665: warning: no previous prototype for `dw2_asm_output_delta_sleb128' ../../gcc/dwarf2asm.c:826: warning: no previous prototype for `dw2_asm_output_encoded_addr_rtx' make[2]: *** [dwarf2asm.o] Error 1 make[2]: Leaving directory `/scratch/mmokrejs/gcc-3.3/dist/gcc' make[1]: *** [stage1_build] Error 2 make[1]: Leaving directory `/scratch/mmokrejs/gcc-3.3/dist/gcc' make: *** [bootstrap] Error 2 $ gcc --version 3.0.4 $ uname -a SunOS pf-i400 5.6 Generic_105181-33 sun4u sparc SUNW,Ultra-30 $ echo $CC gcc $ echo $CXX g++ $ echo $CFLAGS -I/software/@sys/usr/include -I/software/@sys/usr/include/ncurses -I/software/@sys/usr/openssl/include -I/software/@sys/usr/include/freetype2 $ echo $CXXFLAGS -I/software/@sys/usr/include -I/software/@sys/usr/include/ncurses -I/software/@sys/usr/openssl/include -I/software/@sys/usr/include/freetype2 $ echo $CPPFLAGS -I/software/@sys/usr/include -I/software/@sys/usr/include/ncurses -I/software/@sys/usr/openssl/include -I/software/@sys/usr/include/freetype2 $
The bootstrap bug you are running into is bug 10666 <http://gcc.gnu.org/PR10666>.
How about the checking linker read-only and read-write section mixing... grep: illegal option --A grep: illegal option -- 1 Usage: grep -hblcnsviw pattern file . . . error?
That bug is reported already as bug 10663. <http://gcc.gnu.org/PR10663>
Subject: Re: gcc-3.2 crash > ------- How about the > > checking linker read-only and read-write section mixing... grep: illegal > option --A grep: illegal option -- 1 > Usage: grep -hblcnsviw pattern file . . . > > error? It is benign and has no consequences.
So I have removed completely my CFLAGS/CXXFLAGS, now I get: { nm -pg libgcc/./_muldi3.o libgcc/./_negdi2.o libgcc/./_lshrdi3.o libgcc/./_ashldi3.o libgcc/./_ashrdi3.o libgcc/./_ffsdi2.o libgcc/./_clz.o libgcc/./_cmpdi2.o libgcc/./_ucmpdi2.o libgcc/./_floatdidf.o libgcc/./_floatdisf.o libgcc/./_fixunsdfsi.o libgcc/./_fixunssfsi.o libgcc/./_fixunsdfdi.o libgcc/./_fixdfdi.o libgcc/./_fixunssfdi.o libgcc/./_fixsfdi.o libgcc/./_fixxfdi.o libgcc/./_fixunsxfdi.o libgcc/./_floatdixf.o libgcc/./_fixunsxfsi.o libgcc/./_fixtfdi.o libgcc/./_fixunstfdi.o libgcc/./_floatditf.o libgcc/./_clear_cache.o libgcc/./_trampoline.o libgcc/./__main.o libgcc/./_exit.o libgcc/./_absvsi2.o libgcc/./_absvdi2.o libgcc/./_addvsi3.o libgcc/./_addvdi3.o libgcc/./_subvsi3.o libgcc/./_subvdi3.o libgcc/./_mulvsi3.o libgcc/./_mulvdi3.o libgcc/./_negvsi2.o libgcc/./_negvdi2.o libgcc/./_ctors.o libgcc/./_divdi3.o libgcc/./_moddi3.o libgcc/./_udivdi3.o libgcc/./_umoddi3.o libgcc/./_udiv_w_sdiv.o libgcc/./_udivmoddi4.o libgcc/./unwind-dw2.o libgcc/./unwind-dw2-fde.o libgcc/./unwind-sjlj.o; echo %%; \ cat ../../gcc/libgcc-std.ver | sed -e "/^[ ]*#/d" -e 's/^%\(if\|else\|elif\|endif\|define\)/#\1/' \ | ./xgcc -B./ -B/software/@sys/usr/sparc-sun-solaris2.6/bin/ -isystem /software/@sys/usr/sparc-sun-solaris2.6/include -isystem /software/@sys/usr/sparc-sun-solaris2.6/sys-include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/config -I../../gcc/../include -E -xassembler-with-cpp -; \ } | gawk -f ../../gcc/mkmap-symver.awk > libgcc/./tmp-libgcc.map mv libgcc/./tmp-libgcc.map libgcc/./libgcc.map ./xgcc -B./ -B/software/@sys/usr/sparc-sun-solaris2.6/bin/ -isystem /software/@sys/usr/sparc-sun-solaris2.6/include -isystem /software/@sys/usr/sparc-sun-solaris2.6/sys-include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -shared -nodefaultlibs -Wl,-h,libgcc_s.so.1 -Wl,-z,text -Wl,-z,defs -Wl,-M,libgcc/./libgcc.map -o libgcc_s.so.1 libgcc/./_muldi3.o libgcc/./_negdi2.o libgcc/./_lshrdi3.o libgcc/./_ashldi3.o libgcc/./_ashrdi3.o libgcc/./_ffsdi2.o libgcc/./_clz.o libgcc/./_cmpdi2.o libgcc/./_ucmpdi2.o libgcc/./_floatdidf.o libgcc/./_floatdisf.o libgcc/./_fixunsdfsi.o libgcc/./_fixunssfsi.o libgcc/./_fixunsdfdi.o libgcc/./_fixdfdi.o libgcc/./_fixunssfdi.o libgcc/./_fixsfdi.o libgcc/./_fixxfdi.o libgcc/./_fixunsxfdi.o libgcc/./_floatdixf.o libgcc/./_fixunsxfsi.o libgcc/./_fixtfdi.o libgcc/./_fixunstfdi.o libgcc/./_floatditf.o libgcc/./_clear_cache.o libgcc/./_trampoline.o libgcc/./__main.o libgcc/./_exit.o libgcc/./_absvsi2.o libgcc/./_absvdi2.o libgcc/./_addvsi3.o libgcc/./_addvdi3.o libgcc/./_subvsi3.o libgcc/./_subvdi3.o libgcc/./_mulvsi3.o libgcc/./_mulvdi3.o libgcc/./_negvsi2.o libgcc/./_negvdi2.o libgcc/./_ctors.o libgcc/./_divdi3.o libgcc/./_moddi3.o libgcc/./_udivdi3.o libgcc/./_umoddi3.o libgcc/./_udiv_w_sdiv.o libgcc/./_udivmoddi4.o libgcc/./unwind-dw2.o libgcc/./unwind-dw2-fde.o libgcc/./unwind-sjlj.o -lc && rm -f libgcc_s.so && ln -s libgcc_s.so.1 libgcc_s.so /software/@sys/usr/sparc-sun-solaris2.6/bin/ld:libgcc/./libgcc.map: file format not recognized; treating as linker script /software/@sys/usr/sparc-sun-solaris2.6/bin/ld:libgcc/./libgcc.map:1: parse error collect2: ld returned 1 exit status make[3]: *** [libgcc_s.so] Error 1 make[3]: Leaving directory `/scratch/mmokrejs/gcc-3.3/objdir/gcc'
Subject: Re: gcc-3.2 crash > /software/@sys/usr/sparc-sun-solaris2.6/bin/ld:libgcc/./libgcc.map: file > format not recognized; treating as linker script > /software/@sys/usr/sparc-sun-solaris2.6/bin/ld:libgcc/./libgcc.map:1: > parse error collect2: ld returned 1 exit status > make[3]: *** [libgcc_s.so] Error 1 > make[3]: Leaving directory `/scratch/mmokrejs/gcc-3.3/objdir/gcc' Add --with-gnu-as and --with-gnu-ld to your configure options.
Hi, I got through stage 2 or maybe even stage 3 build during "make bootstrap" step. However, this is what I found in the terminal output. Any ideas what's wrong? make[3]: Leaving directory `/scratch/mmokrejs/gcc-3.3/objdir/sparc-sun-solaris2.6/libiberty' make[2]: Leaving directory `/scratch/mmokrejs/gcc-3.3/objdir/sparc-sun-solaris2.6/libiberty' Configuring in sparc-sun-solaris2.6/libstdc++-v3 loading cache ../config.cache checking host system type... sparc-sun-solaris2.6 checking target system type... sparc-sun-solaris2.6 checking build system type... sparc-sun-solaris2.6 checking for Cygwin environment... no checking for mingw32 environment... no checking for gawk... gawk checking whether ln -s works... yes checking for gcc... (cached) /scratch/mmokrejs/gcc-3.3/objdir/gcc/xgcc -B/scratch/mmokrejs/gcc-3.3/objdir/gcc/ -B/software/@sys/usr/sparc-sun-solaris2.6/bin/ -B/software/@sys/usr/sparc-sun-solaris2.6/lib/ -isystem /software/@sys/usr/sparc-sun-solaris2.6/include checking whether we are using GNU C... (cached) yes checking whether /scratch/mmokrejs/gcc-3.3/objdir/gcc/xgcc -B/scratch/mmokrejs/gcc-3.3/objdir/gcc/ -B/software/@sys/usr/sparc-sun-solaris2.6/bin/ -B/software/@sys/usr/sparc-sun-solaris2.6/lib/ -isystem /software/@sys/usr/sparc-sun-solaris2.6/include accepts -g... (cached) yes checking for c++... /scratch/mmokrejs/gcc-3.3/objdir/gcc/xgcc -shared-libgcc -B/scratch/mmokrejs/gcc-3.3/objdir/gcc/ -nostdinc++ -L/scratch/mmokrejs/gcc-3.3/objdir/sparc-sun-solaris2.6/libstdc++-v3/src -L/scratch/mmokrejs/gcc-3.3/objdir/sparc-sun-solaris2.6/libstdc++-v3/src/.libs -B/software/@sys/usr/sparc-sun-solaris2.6/bin/ -B/software/@sys/usr/sparc-sun-solaris2.6/lib/ -isystem /software/@sys/usr/sparc-sun-solaris2.6/include checking whether we are using GNU C++... yes checking whether /scratch/mmokrejs/gcc-3.3/objdir/gcc/xgcc -shared-libgcc -B/scratch/mmokrejs/gcc-3.3/objdir/gcc/ -nostdinc++ -L/scratch/mmokrejs/gcc-3.3/objdir/sparc-sun-solaris2.6/libstdc++-v3/src -L/scratch/mmokrejs/gcc-3.3/objdir/sparc-sun-solaris2.6/libstdc++-v3/src/.libs -B/software/@sys/usr/sparc-sun-solaris2.6/bin/ -B/software/@sys/usr/sparc-sun-solaris2.6/lib/ -isystem /software/@sys/usr/sparc-sun-solaris2.6/include accepts -g... yes checking for GCC version number... 3.3 checking for strerror in -lcposix... no checking for as... /software/@sys/usr/bin/as checking for ar... (cached) ar checking for ranlib... (cached) true checking for a BSD compatible install... /bin/sh /scratch/mmokrejs/gcc-3.3/install-sh -c checking whether to enable maintainer-specific portions of Makefiles... no CPU config directory is cpu/sparc OS config directory is os/solaris/solaris2.6 checking whether build environment is sane... yes checking whether /software/@sys/usr/bin/make sets ${MAKE}... /scratch/mmokrejs/gcc-3.3/libstdc++-v3/configure: bad substitution make[1]: *** [configure-target-libstdc++-v3] Error 1 make[1]: Leaving directory `/scratch/mmokrejs/gcc-3.3/objdir' make: *** [bootstrap] Error 2 $ /software/@sys/usr/bin/make --version GNU Make version 3.79.1, by Richard Stallman and Roland McGrath. Built for sparc-sun-solaris2.6 [...] objdir/sparc-sun-solaris2.6/libstdc++-v3/config.log says [...] configure:1227: checking for as configure:1259: checking for ar configure:1291: checking for ranlib configure:1367: checking for a BSD compatible install configure:1421: checking whether to enable maintainer-specific portions of Makefiles configure:1507: checking whether build environment is sane configure:1564: checking whether /software/@sys/usr/bin/make sets ${MAKE} (END)