Bug 13145 - [3.4 regression ] bootstrap failure on mips-linux
Summary: [3.4 regression ] bootstrap failure on mips-linux
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: rtl-optimization (show other bugs)
Version: 3.4.0
: P2 critical
Target Milestone: 3.4.0
Assignee: Richard Sandiford
URL:
Keywords: wrong-code
Depends on:
Blocks:
 
Reported: 2003-11-20 22:15 UTC by Debian GCC Maintainers
Modified: 2004-01-17 04:22 UTC (History)
1 user (show)

See Also:
Host: mips-linux
Target: mips-linux
Build: mips-linux
Known to work:
Known to fail:
Last reconfirmed: 2003-11-25 00:57:45


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Debian GCC Maintainers 2003-11-20 22:15:21 UTC
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
Comment 1 Andrew Pinski 2003-11-25 00:57:45 UTC
Stage2 is being miscompiled.
Comment 2 Richard Sandiford 2003-11-26 21:12:58 UTC
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
Comment 3 GCC Commits 2003-12-05 10:39:06 UTC
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

Comment 4 Richard Sandiford 2003-12-05 10:43:19 UTC
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.