From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13089 invoked by alias); 13 Nov 2007 16:19:44 -0000 Received: (qmail 13076 invoked by uid 22791); 13 Nov 2007 16:19:43 -0000 X-Spam-Check-By: sourceware.org Received: from stgt-590e6ad5.pool.einsundeins.de (HELO mailhost.hollstein.homelinux.org) (89.14.106.213) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 13 Nov 2007 16:19:38 +0000 Received: from saturn.hollstein.homelinux.org (saturn.hollstein.homelinux.org [172.31.17.11]) by mailhost.hollstein.homelinux.org (Postfix) with ESMTP id 2BCEF1354A8; Tue, 13 Nov 2007 17:19:35 +0100 (CET) Received: by saturn.hollstein.homelinux.org (Postfix, from userid 1000) id 1E4224E704F; Tue, 13 Nov 2007 17:19:34 +0100 (CET) Date: Tue, 13 Nov 2007 17:05:00 -0000 From: Manfred Hollstein To: gcc-patches@gcc.gnu.org Cc: gcc-bugs@gcc.gnu.org Subject: Patch: bootstrap broken when building boehm-gc Message-ID: <20071113161934.GD5958@saturn.hollstein.homelinux.org> Reply-To: Manfred Hollstein Mail-Followup-To: Manfred Hollstein , gcc-patches@gcc.gnu.org, gcc-bugs@gcc.gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.9i Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2007-11/txt/msg00729.txt.bz2 Hi there, I'm not sure if there's something broken on my system(s), but here we go. Building current gcc from HEAD "Tue Nov 13 11:39:03 UTC 2007 (revision 130136)" fails for me on i686-suse10-linux-gnu and x86_64-suse10-linux-gnu; I'm using gcc-4.2.2 and binutils-2.18 for bootstrapping and configured the stuff as follows: env CC=gcc CFLAGS=-O2 CXXFLAGS='-O2 -g' GCJFLAGS='-O2 -g' LDFLAGS=-s /bin/sh ../gcc-20071113/configure --host=$config --target=$config --build=$config --srcdir=../gcc-20071113 --prefix=/opt/gnu --with-gnu-as --with-gnu-ld --enable-multilib=yes --enable-__cxa_atexit --enable-checking=release --enable-clocale=gnu --enable-interpreter --enable-shared --enable-threads=posix --with-system-zlib --with-local-prefix=/opt/gnu --enable-languages=c,c++,ada,java,fortran,objc --disable-nls --verbose (No multilibs for i686-suse10-linux-gnu, of course). Up until boehm-gc, the build runs without issues, but here it bails out: gmake[3]: Entering directory `/home/gnu/work/GNU/gcc-20071113-x86_64-suse10-linux-gnu/x86_64-suse10-linux-gnu/boehm-gc' /bin/sh ./libtool --mode=compile /home/gnu/work/GNU/gcc-20071113-x86_64-suse10-linux-gnu/./gcc/xgcc -B/home/gnu/work/GNU/gcc-20071113-x86_64-suse10-linux-gnu/./gcc/ -B/opt/gnu/x86_64-suse10-linux-gnu/bin/ -B/opt/gnu/x86_64-suse10-linux-gnu/lib/ -isystem /opt/gnu/x86_64-suse10-linux-gnu/include -isystem /opt/gnu/x86_64-suse10-linux-gnu/sys-include -DHAVE_CONFIG_H -I/home/gnu/work/GNU/gcc-20071113/boehm-gc/include -fexceptions -Iinclude -I././targ-include -I.//libc/include -O2 -O2 -fexceptions -Iinclude -I././targ-include -I.//libc/include -c -o allchblk.lo ../../../gcc-20071113/boehm-gc/allchblk.c libtool: compile: unable to infer tagged configuration libtool: compile: specify a tag with `--tag' gmake[3]: *** [allchblk.lo] Error 1 gmake[3]: Leaving directory `/home/gnu/work/GNU/gcc-20071113-x86_64-suse10-linux-gnu/x86_64-suse10-linux-gnu/boehm-gc' The generated libtool script contains a line available_tags="CXX " but no "--tag=whatsover" is passed when invoking libtool. Looking at other .../Makefile.in files, it appears that one has to pass e.g. "--tag=CC" (like most files do), or "--tag=CXX" (as in libstdc++-v3/src/Makefile.in); this option is missing in the definition of LTCOMPILE and LINK in both boehm-gc/Makefile.am and boehm-gc/Makefile.in . I have absolutely no idea why apparently nobody else is seeing this, though. The patch below fixes it for me. OK to check in? Cheers. l8er manfred boehm-gc/ChangeLog: 2007-11-13 Manfred Hollstein * Makefile.ac (LTCOMPILE): Add missing "--tag=CC" argument; wrap line to fit with 80 column rule. (LINK): Likewise. * Makefile.in: Regenerate. diff -rup -x .svn -x CVS -x RCS -x '*.o' -x '*.info*' -x '*.elc' -x '*.dvi' -x '*.orig' -x '*~' -x version.el gcc-20071113.orig/boehm-gc/Makefile.am gcc-20071113/boehm-gc/Makefile.am --- gcc-20071113.orig/boehm-gc/Makefile.am 2007-07-23 12:24:57.648580681 +0200 +++ gcc-20071113/boehm-gc/Makefile.am 2007-11-13 16:45:34.792758499 +0100 @@ -64,9 +64,10 @@ TESTS = gctest ## We have our own definition of LTCOMPILE because we want to use our ## CFLAGS, not those passed in from the top level make. -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(MY_CFLAGS) $(GC_CFLAGS) -LINK = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(MY_CFLAGS) $(LDFLAGS) -o $@ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(MY_CFLAGS) $(GC_CFLAGS) +LINK = $(LIBTOOL) --tag=CC --mode=link $(CC) $(AM_CFLAGS) $(MY_CFLAGS) \ + $(LDFLAGS) -o $@ # Work around what appears to be a GNU make bug handling MAKEFLAGS # values defined in terms of make variables, as is the case for CC and diff -rup -x .svn -x CVS -x RCS -x '*.o' -x '*.info*' -x '*.elc' -x '*.dvi' -x '*.orig' -x '*~' -x version.el gcc-20071113.orig/boehm-gc/Makefile.in gcc-20071113/boehm-gc/Makefile.in --- gcc-20071113.orig/boehm-gc/Makefile.in 2007-07-23 12:33:53.628861021 +0200 +++ gcc-20071113/boehm-gc/Makefile.in 2007-11-13 16:46:33.285688885 +0100 @@ -300,10 +300,11 @@ gctest_LDADD = ./libgcjgc.la $(THREADLIB gctest_LDFLAGS = -shared-libgcc TESTS_ENVIRONMENT = LD_LIBRARY_PATH=../../$(MULTIBUILDTOP)gcc TESTS = gctest -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(MY_CFLAGS) $(GC_CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(MY_CFLAGS) $(GC_CFLAGS) -LINK = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(MY_CFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CC) $(AM_CFLAGS) $(MY_CFLAGS) \ + $(LDFLAGS) -o $@ # Work around what appears to be a GNU make bug handling MAKEFLAGS # values defined in terms of make variables, as is the case for CC and