This is the mail archive of the gcc-patches@gcc.gnu.org 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] |
OK, so I've convinced myself that it's a host problem (vfork, right?). Accordingly, I'm committing this if it bootstraps. This is basically your patch except that it errors out in configure, and I renamed host_collect2 to avoid confusion. 2004-04-04 Ian Lance Taylor <ian@wasabisystems.com> Nathanael Nerode <neroden@gcc.gnu.org> PR target/14548 * config.host: Set the shell variable host_can_use_collect2. Set it to yes by default, and to no for alpha*-dec-*vms*, i[34567]86-*-mingw32*, and powerpc-*-beos*. * configure.ac: Set and substitute the shell variable collect2. Give an error if use_collect2 is yes and host_can_use_collect2 is no. * Makefile.in (COLLECT2): Rename from USE_COLLECT2. Change all uses. Initialize to @collect2@. (STAGESTUFF): Remove $(USE_COLLECT2). * config/alpha/x-vms (USE_COLLECT2): Don't set. * config/i386/t-mingw32 (USE_COLLECT2): Likewise. * config/rs6000/t-beos (USE_COLLECT2): Likewise. * config/pa/t-pa64: Remove commented out USE_COLLECT2. * configure: Regenerate. Index: Makefile.in =================================================================== RCS file: /cvs/gcc/gcc/gcc/Makefile.in,v retrieving revision 1.1266 diff -u -r1.1266 Makefile.in --- Makefile.in 24 Mar 2004 18:03:15 -0000 1.1266 +++ Makefile.in 5 Apr 2004 02:51:03 -0000 @@ -539,9 +539,10 @@ # List of additional header files to install. EXTRA_HEADERS =@extra_headers_list@ -# It is convenient for configure to add the assignment at the beginning, -# so don't override it here. -USE_COLLECT2 = collect2$(exeext) +# The configure script will set this to collect2$(exeext), except on a +# (non-Unix) host which can not build collect2, for which it will be +# set to empty. +COLLECT2 = @collect2@ # List of extra C and assembler files to add to static and shared libgcc2. # Assembler files should have names ending in `.asm'. @@ -580,7 +581,7 @@ # List of things which should already be built whenever we try to use xgcc # to link anything. -GCC_PARTS=$(GCC_PASSES) $(LIBGCC) $(EXTRA_PROGRAMS) $(USE_COLLECT2) $(EXTRA_PARTS) +GCC_PARTS=$(GCC_PASSES) $(LIBGCC) $(EXTRA_PROGRAMS) $(COLLECT2) $(EXTRA_PARTS) # Directory to link to, when using the target `maketest'. DIR = ../gcc @@ -895,7 +896,7 @@ xgcc$(exeext) cpp$(exeext) cc1$(exeext) $(EXTRA_PASSES) \ $(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) \ protoize$(exeext) unprotoize$(exeext) \ - $(SPECS) collect2$(exeext) $(USE_COLLECT2) \ + $(SPECS) collect2$(exeext) \ gcov-iov$(build_exeext) gcov$(exeext) gcov-dump$(exeext) \ *.[0-9][0-9].* *.[si] libcpp.a libbackend.a libgcc.mk \ $(LANG_STAGESTUFF) @@ -1072,7 +1073,7 @@ # This is what is made with the host's compiler # whether making a cross compiler or not. native: config.status auto-host.h build-@POSUB@ $(LANGUAGES) \ - $(EXTRA_PASSES) $(EXTRA_PROGRAMS) $(USE_COLLECT2) + $(EXTRA_PASSES) $(EXTRA_PROGRAMS) $(COLLECT2) # Define the names for selecting languages in LANGUAGES. C c: cc1$(exeext) @@ -2904,7 +2905,7 @@ else true; \ fi; \ done - for file in $(EXTRA_PASSES) $(EXTRA_PROGRAMS) $(USE_COLLECT2) ..; do \ + for file in $(EXTRA_PASSES) $(EXTRA_PROGRAMS) $(COLLECT2) ..; do \ if [ x"$$file" != x.. ]; then \ rm -f $(DESTDIR)$(libexecsubdir)/$$file; \ $(INSTALL_PROGRAM) $$file $(DESTDIR)$(libexecsubdir)/$$file; \ Index: config.host =================================================================== RCS file: /cvs/gcc/gcc/gcc/config.host,v retrieving revision 2.8 diff -u -r2.8 config.host --- config.host 11 Mar 2004 03:19:03 -0000 2.8 +++ config.host 5 Apr 2004 02:51:04 -0000 @@ -49,6 +49,9 @@ # be linked into the gcc driver. # # out_host_hook_obj An object file that provides the host hooks. +# +# host_can_use_collect2 Set to yes normally; to no if the host cannot +# link or otherwise use collect2 # When setting any of these variables, check to see if a corresponding # variable is present in config.build; if so, you will likely want to @@ -62,6 +65,7 @@ host_extra_objs= host_extra_gcc_objs= out_host_hook_obj=host-default.o +host_can_use_collect2=yes # Unsupported hosts list. Generally, only include hosts known to fail here, # since we allow hosts not listed to be supported generically. @@ -82,6 +86,7 @@ host_xm_file=alpha/xm-vms.h host_xmake_file=alpha/x-vms host_exeext=.exe + host_can_use_collect2=no # This removes the cpu type and manufacturer components and # replaces "." with "_" in the operating system version. target_noncanonical=`echo $host | sed 's/.*-.*-\(.*\)$/\1/' | sed 's/\./_/g'` @@ -137,6 +142,7 @@ host_xm_file=i386/xm-mingw32.h host_xmake_file=i386/x-mingw32 host_exeext=.exe + host_can_use_collect2=no ;; i[34567]86-*-uwin*) echo "*** UWIN may not be used as a host platform because" @@ -148,6 +154,9 @@ ;; i860-*-sysv4*) host_xmake_file=i860/x-sysv4 + ;; + powerpc-*-beos*) + host_can_use_collect2=no ;; powerpc-*-darwin*) # powerpc-darwin host support. Index: configure.ac =================================================================== RCS file: /cvs/gcc/gcc/gcc/configure.ac,v retrieving revision 2.27 diff -u -r2.27 configure.ac --- configure.ac 24 Mar 2004 22:08:39 -0000 2.27 +++ configure.ac 5 Apr 2004 02:51:06 -0000 @@ -1656,6 +1656,13 @@ extra_headers_list="${extra_headers_list} \$(srcdir)/config/${cpu_type}/${file}" done +# Define collect2 in Makefile. +case $host_can_use_collect2 in + no) collect2= ;; + *) collect2='collect2$(exeext)' ;; +esac +AC_SUBST([collect2]) + # Add a definition of USE_COLLECT2 if system wants one. case $use_collect2 in no) use_collect2= ;; @@ -1663,6 +1670,11 @@ *) host_xm_defines="${host_xm_defines} USE_COLLECT2" xm_defines="${xm_defines} USE_COLLECT2" + case $build_collect2 in + no) + AC_MSG_ERROR([collect2 is required but cannot be built on this system]) + ;; + esac ;; esac Index: config/alpha/x-vms =================================================================== RCS file: /cvs/gcc/gcc/gcc/config/alpha/x-vms,v retrieving revision 1.8 diff -u -r1.8 x-vms --- config/alpha/x-vms 13 Feb 2002 15:32:02 -0000 1.8 +++ config/alpha/x-vms 5 Apr 2004 02:51:08 -0000 @@ -19,6 +19,3 @@ # These extra parts can only be compiled on a VMS host and are only needed # on a VMS target. The rules are in t-vms. VMS_EXTRA_PARTS=vcrt0.o pcrt0.o - -# Doesn't work on VMS -USE_COLLECT2= Index: config/i386/t-mingw32 =================================================================== RCS file: /cvs/gcc/gcc/gcc/config/i386/t-mingw32,v retrieving revision 1.3 diff -u -r1.3 t-mingw32 --- config/i386/t-mingw32 11 Jun 2002 05:25:44 -0000 1.3 +++ config/i386/t-mingw32 5 Apr 2004 02:51:08 -0000 @@ -1,7 +1,2 @@ -# -# collect2 doesn't work for i386-mingw32* yet. -# -USE_COLLECT2= - # We hide calls to w32api needed for w32 thread support here: LIB2FUNCS_EXTRA = $(srcdir)/config/i386/gthr-win32.c Index: config/pa/t-pa64 =================================================================== RCS file: /cvs/gcc/gcc/gcc/config/pa/t-pa64,v retrieving revision 1.7 diff -u -r1.7 t-pa64 --- config/pa/t-pa64 31 Oct 2002 03:13:44 -0000 1.7 +++ config/pa/t-pa64 5 Apr 2004 02:51:08 -0000 @@ -5,9 +5,6 @@ # We'll need this once .init sections are enabled on PA64. #EXTRA_PARTS = crtbegin.o crtend.o -# For the time being, we are using collect. -#USE_COLLECT2 = - quadlib.c: $(srcdir)/config/pa/quadlib.c rm -f quadlib.c cp $(srcdir)/config/pa/quadlib.c . Index: config/rs6000/t-beos =================================================================== RCS file: /cvs/gcc/gcc/gcc/config/rs6000/t-beos,v retrieving revision 1.5 diff -u -r1.5 t-beos --- config/rs6000/t-beos 18 Dec 2002 22:45:35 -0000 1.5 +++ config/rs6000/t-beos 5 Apr 2004 02:51:08 -0000 @@ -28,6 +28,3 @@ milli.exp: $(srcdir)/config/rs6000/milli.exp rm -f milli.exp cp $(srcdir)/config/rs6000/milli.exp ./milli.exp - -# Don't use collect. -USE_COLLECT2 = -- Make sure your vote will count. http://www.verifiedvoting.org/
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |