From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2491 invoked by alias); 29 Jan 2004 18:12:07 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 2300 invoked from network); 29 Jan 2004 18:12:03 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 29 Jan 2004 18:12:03 -0000 Received: from drow by nevyn.them.org with local (Exim 4.30 #1 (Debian)) id 1AmGds-000422-Cs; Thu, 29 Jan 2004 13:11:52 -0500 Date: Thu, 29 Jan 2004 18:12:00 -0000 From: Daniel Jacobowitz To: dan clark Cc: Felix Lee , gdb-patches@sources.redhat.com, gcc@gcc.gnu.org Subject: Re: with-headers should be 'build' != 'host' Message-ID: <20040129181152.GA15394@nevyn.them.org> Reply-To: gcc@gcc.gnu.org Mail-Followup-To: dan clark , Felix Lee , gdb-patches@sources.redhat.com, gcc@gcc.gnu.org References: <20040129034507.D5314180D@grayscale.canids> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.1i X-SW-Source: 2004-01/txt/msg00742.txt.bz2 On Thu, Jan 29, 2004 at 08:59:55AM -0800, dan clark wrote: > Thank you for the clarification. I agree that a fix should be > applied to configure.in. Since the tar file includes both > configure and configure.in the configure script must also be patched in > attempts to use the 6.0 distribution as provided. > > The use of is_cross_compiler does seem to be overloaded. In particular, > it is subsequently used for determining the skipdirs, determining if > newlib should be built, and if it is OK to have the 'with_headers' value > defined, the later of which is most problematic. If the 'build' != 'host' > then it is likely that 'with_headers' will be defined. But it may very > well be that 'host' == 'target' in this case. The fix I proposed is a bit > heavy handed, perhaps the more appropriate way of dealing with this > issue is the refine the test which results in the error: > "*** --with-headers is only supported when cross compiling" > > The resulting revised patch is attached for clarity. First of all, this is off-topic for gdb-patches; --with-headers doesn't affect GDB at all. Redirecting to gcc@. Secondly, you're still confused about --build, --host, and --target. If $build != $host == $target, you are building a native toolchain for another system. This has never been especially well supported, but --with-headers is definitely not the right way to do it. The copied headers are used by the built gcc/xgcc, not by the compiler used to build GCC. > dan > > On Wed, 28 Jan 2004, Felix Lee wrote: > > > dan clark : > > > The configure script in 6.0 checks if the host != target to decide if a > > > cross compiler should be used. > > > > no, it doesn't. is_cross_compiler is a badly named variable. it > > means you're building a cross development gdb, and it doesn't > > have anything to do with whether you're using a cross compiler to > > build gdb. (the variable name makes more sense when you have an > > integrated gdb/gcc source tree.) > > > > there are different tests elsewhere for build != host. > > > > (note, configure is a file generated by autoconf. patches should > > be made to configure.in.) > > > > I don't really see a reason for the variable is_cross_compiler > > to exist. the comment says > > # Define is_cross_compiler to save on calls to 'test'. > > but it's usually used like this > > if test x${is_cross_compiler} != xno ; then > > so it's not reducing the number of tests much. I think directly > > testing host = target would be clearer. > > -- > > > > > > Content-Description: diff > *** configure Thu Jan 29 08:55:35 2004 > --- configure.orig Thu Jan 29 08:56:01 2004 > *************** copy_dirs= > *** 1603,1609 **** > # Handle --with-headers=XXX. If the value is not "yes", the contents of > # the named directory are copied to $(tooldir)/sys-include. > if test x"${with_headers}" != x ; then > ! if test x"${host}" = x"${build}"; then > echo 1>&2 '***' --with-headers is only supported when cross compiling > exit 1 > fi > --- 1603,1609 ---- > # Handle --with-headers=XXX. If the value is not "yes", the contents of > # the named directory are copied to $(tooldir)/sys-include. > if test x"${with_headers}" != x ; then > ! if test x${is_cross_compiler} = xno ; then > echo 1>&2 '***' --with-headers is only supported when cross compiling > exit 1 > fi > *** configure.in Thu Jan 29 08:57:13 2004 > --- configure.in.orig Thu Jan 29 08:56:55 2004 > *************** copy_dirs= > *** 917,923 **** > # Handle --with-headers=XXX. If the value is not "yes", the contents of > # the named directory are copied to $(tooldir)/sys-include. > if test x"${with_headers}" != x ; then > ! if test x"${host}" = x"${build}"; then > echo 1>&2 '***' --with-headers is only supported when cross compiling > exit 1 > fi > --- 917,923 ---- > # Handle --with-headers=XXX. If the value is not "yes", the contents of > # the named directory are copied to $(tooldir)/sys-include. > if test x"${with_headers}" != x ; then > ! if test x${is_cross_compiler} = xno ; then > echo 1>&2 '***' --with-headers is only supported when cross compiling > exit 1 > fi -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer