bootstrap is broken on mips-linux between 20030815 and 20031030. I currently do not have access to a mips machine to get this down to a specific date. 20031116 does show the same error (if this is of interest: on mipsel-linux, 20030909 did bootstrap). stage1/xgcc -Bstage1/ -B/usr/lib/gcc-snapshot/mips-linux/bin/ -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wold-style-definition -fno-common -DHAVE_CONFIG_H -o g77 gcc.o g77spec.o \ version.o prefix.o intl.o ../libiberty/libiberty.a if [ -f specs.ready ] ; then \ true; \ else \ echo timestamp > specs.ready; \ fi objext='.o' \ LIB1ASMFUNCS='' \ LIB2FUNCS_ST='_eprintf __gcc_bcmp' \ LIBGCOV='_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta' \ LIB2ADD='' \ LIB2ADD_ST='' \ LIB2ADDEH='../../src/gcc/unwind-dw2.c ../../src/gcc/unwind-dw2-fde-glibc.c ../../src/gcc/unwind-sjlj.c ../../src/gcc/gthr-gnat.c ../../src/gcc/unwind-c.c' \ LIB2ADDEHDEP='unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c gthr-gnat.c' \ FPBIT='fp-bit.c' \ FPBIT_FUNCS='_pack_sf _unpack_sf _addsub_sf _mul_sf _div_sf _fpcmp_parts_sf _compare_sf _eq_sf _ne_sf _gt_sf _ge_sf _lt_sf _le_sf _unord_sf _si_to_sf _sf_to_si _negate_sf _make_sf _sf_to_df _sf_to_tf _thenan_sf _sf_to_usi _usi_to_sf' \ LIB2_DIVMOD_FUNCS='_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4' \ DPBIT='dp-bit.c' \ DPBIT_FUNCS='_pack_df _unpack_df _addsub_df _mul_df _div_df _fpcmp_parts_df _compare_df _eq_df _ne_df _gt_df _ge_df _lt_df _le_df _unord_df _si_to_df _df_to_si _negate_df _make_df _df_to_sf _df_to_tf _thenan_df _df_to_usi _usi_to_df' \ TPBIT='' \ TPBIT_FUNCS='_pack_tf _unpack_tf _addsub_tf _mul_tf _div_tf _fpcmp_parts_tf _compare_tf _eq_tf _ne_tf _gt_tf _ge_tf _lt_tf _le_tf _unord_tf _si_to_tf _tf_to_si _negate_tf _make_tf _tf_to_df _tf_to_sf _thenan_tf _tf_to_usi _usi_to_tf' \ MULTILIBS=` ./xgcc -B./ -B/usr/lib/gcc-snapshot/mips-linux/bin/ -isystem /usr/lib/gcc-snapshot/mips-linux/include -isystem /usr/lib/gcc-snapshot/mips-linux/sys-include -L/build/buildd/gcc-snapshot-20031116/build/gcc/../ld --print-multi-lib` \ EXTRA_MULTILIB_PARTS='' \ SHLIB_LINK=' ./xgcc -B./ -B/usr/lib/gcc-snapshot/mips-linux/bin/ -isystem /usr/lib/gcc-snapshot/mips-linux/include -isystem /usr/lib/gcc-snapshot/mips-linux/sys-include -L/build/buildd/gcc-snapshot-20031116/build/gcc/../ld -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,--soname=@shlib_so_name@.so.1 -Wl,--version-script=@shlib_map_file@ -o @shlib_dir@@shlib_so_name@.so.1 @multilib_flags@ @shlib_objs@ -lc && rm -f @shlib_base_name@.so && ln -s @shlib_dir@@shlib_so_name@.so.1 @shlib_base_name@.so' \ SHLIB_INSTALL='$(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(slibdir)@shlib_slibdir_qual@; /usr/bin/install -c -m 644 @shlib_dir@@shlib_so_name@.so.1 $(DESTDIR)$(slibdir)@shlib_slibdir_qual@/@shlib_so_name@.so.1; rm -f $(DESTDIR)$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so; ln -s @shlib_so_name@.so.1 $(DESTDIR)$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so' \ SHLIB_EXT='.so' \ SHLIB_MULTILIB='' \ SHLIB_MKMAP='../../src/gcc/mkmap-symver.awk' \ SHLIB_MKMAP_OPTS='' \ SHLIB_MAPFILES='../../src/gcc/libgcc-std.ver ../../src/gcc/config/libgcc-glibc.ver' \ SHLIB_NM_FLAGS='-pg' \ MULTILIB_OSDIRNAMES='' \ mkinstalldirs='/bin/sh ../../src/gcc/mkinstalldirs' \ /bin/sh mklibgcc > tmp-libgcc.mk xgcc: out of memory allocating 1069082307 bytes after a total of 138576 bytes mv tmp-libgcc.mk libgcc.mk ./xgcc -B./ -B/usr/lib/gcc-snapshot/mips-linux/bin/ -isystem /usr/lib/gcc-snapshot/mips-linux/include -isystem /usr/lib/gcc-snapshot/mips-linux/sys-include -L/build/buildd/gcc-snapshot-20031116/build/gcc/../ld -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -I. -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include -g0 -finhibit-size-directive -fno-inline-functions -fno-exceptions -fno-zero-initialized-in-bss -fno-unit-at-a-time \ -c ../../src/gcc/crtstuff.c -DCRT_BEGIN \ -o crtbegin.o xgcc: out of memory allocating 1069082307 bytes after a total of 138576 bytes make[4]: *** [crtbegin.o] Error 1 make[4]: Leaving directory `/build/buildd/gcc-snapshot-20031116/build/gcc' make[3]: *** [stage2_build] Error 2 make[3]: Leaving directory `/build/buildd/gcc-snapshot-20031116/build/gcc' make[2]: *** [bootstrap-lean] Error 2
Stage2 is being miscompiled.
Confirmed, although in my case I'm seeing a segfault rather than an out-of-memory error. I think the problem is that stubs for constant and pure functions are sometimes being called twice. Working on a fix now. Richard
Subject: Bug 13145 CVSROOT: /cvs/gcc Module name: gcc Changes by: rsandifo@gcc.gnu.org 2003-12-05 10:38:59 Modified files: gcc : ChangeLog gcc/config/mips: mips.h mips.c mips.md Log message: PR bootstrap/13145 * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Adjust comment. * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Add $fcall. (mips_load_got): Always create a constant MEM. (mips_expand_call): Use load_callsi and load_calldi. * config/mips/mips.md (UNSPEC_LOAD_CALL, FAKE_CALL_REGNO): New consts. (load_callsi, load_calldi): New patterns. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.1924&r2=2.1925 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/mips/mips.h.diff?cvsroot=gcc&r1=1.305&r2=1.306 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/mips/mips.c.diff?cvsroot=gcc&r1=1.347&r2=1.348 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/mips/mips.md.diff?cvsroot=gcc&r1=1.209&r2=1.210
The patch I just committed fixes bootstrap for me, but I'm not 100% sure it's the same problem you were seeing. Could you retest and open a new bug report (or reopen this one) if you're still seeing problems? Thanks.