Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@mvista.com>
To: dan clark <dlc@ncube.com>
Cc: Felix Lee <felix.1@canids.net>,
	gdb-patches@sources.redhat.com, gcc@gcc.gnu.org
Subject: Re: with-headers should be 'build' != 'host'
Date: Thu, 29 Jan 2004 18:12:00 -0000	[thread overview]
Message-ID: <20040129181152.GA15394@nevyn.them.org> (raw)
In-Reply-To: <Pine.LNX.4.44.0401290822280.13269-200000@atom.ncube.com>

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 <dlc@ncube.com>:
> > > 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


  reply	other threads:[~2004-01-29 18:12 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-29  2:00 cross compiler host vs build dan clark
2004-01-29  3:45 ` Felix Lee
2004-01-29 17:00   ` with-headers should be 'build' != 'host' dan clark
2004-01-29 18:12     ` Daniel Jacobowitz [this message]
2004-01-29 21:41       ` Ian Lance Taylor
2004-01-29 22:25         ` Felix Lee
2004-01-29 18:41     ` Felix Lee

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040129181152.GA15394@nevyn.them.org \
    --to=drow@mvista.com \
    --cc=dlc@ncube.com \
    --cc=felix.1@canids.net \
    --cc=gcc@gcc.gnu.org \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox