This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB 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]

Re: with-headers should be 'build' != 'host'


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]