This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: cross-builds failing
- To: law at cygnus dot com
- Subject: Re: cross-builds failing
- From: Richard Earnshaw <rearnsha at arm dot com>
- Date: Thu, 08 Oct 1998 10:03:20 +0100
- Cc: egcs at cygnus dot com
- Cc: rearnsha at sun52 dot arm dot com
- Organization: ARM Ltd.
- Reply-To: richard dot earnshaw at arm dot com
>
> In message <199810071427.PAA13424@sun52.NIS.cambridge>you write:
> > > Probably the libunsubdir problem.
> > >
> > > Wait, presumably you did specify --with-headers= right?
> >
> > Wrong. I've got newlib as part of my source tree. Why should that be
> > needed? Surely it should pick up newlib in the same way gas gets found if
> > that is part of the source tree (for which I don't need to say
> > --with-as=... or whatever).
> Ah. OK. That makes it even more interesting, since that's how we build
> at Cygnus and it works.
That's sort of what I was hoping you would say. When trying to set up a
cross build, trying to follow the configure structure already in place
seams to be the only way I stand a prayer of a chance of getting this to
work. Any chance of newlib and gas/binutils appearing the egcs tree
anytime soon?
> Something hokey is going on.
>
> I get:
>
> #include "..." search starts here:
> #include <...> search starts here:
> include
> /usr/cygnus/blah/lib/gcc-lib/<target>/cygnus-2.92.02/include
> /usr/cygnus/blah/lib/gcc-lib/<target>/cygnus-2.92.02/../../../../<target>/include
>
>
> Maybe my change to DRIVER_DEFINES does fix your problem. It was dependent on
> other changes not submitted yet, so I backed it out. I don't immediately see
> how it would fix your problem, but it's worth checking.
>
> jeff
Nope, at least, not as of 6pm BST yesterday. I think it is the change to
the build rule for cccp.o (which puts libunsubdir in for all the include
search paths). Here is the results of running the command with -v
$ /home/rearnsha/gnu/egcs/arm-aout/gcc/xgcc -B/home/rearnsha/gnu/egcs/arm-a
out/gcc/ -O2 -fomit-frame-pointer -DCROSS_COMPILE -DIN_GCC -DSVR4 -g
-O2 -I./include -I. -I../../../../gnusrc/egcs/gcc
-I../../../../gnusrc/egcs/gcc/config -I../../../../gnusrc/egcs/gcc/../inclu
de -c -DL_muldi3 ../../../../gnusrc/egcs/gcc/libgcc2.c -o tmp/foo.o -v
Reading specs from /home/rearnsha/gnu/egcs/arm-aout/gcc/specs
gcc version egcs-2.92.13 19981007 (gcc2 ss-980609 experimental)
/home/rearnsha/gnu/egcs/arm-aout/gcc/cpp -lang-c -v -I./include -I.
-I../../../../gnusrc/egcs/gcc -I../../../../gnusrc/egcs/gcc/config
-I../../../../gnusrc/egcs/gcc/../include -isystem /home/rearnsha/gnu/egcs/a
rm-aout/gcc/include -undef -D__GNUC__=2 -D__GNUC_MINOR__=92 -Darm
-D__semi__ -D__arm__ -D__semi__ -D__arm -Acpu(arm) -Amachine(arm)
-D__CHAR_UNSIGNED__ -D__OPTIMIZE__ -g -D__ARM_ARCH_3__ -D__APCS_32__
-DCROSS_COMPILE -DIN_GCC -DSVR4 -DL_muldi3 ../../../../gnusrc/egcs/gcc/libg
cc2.c /var/tmp/ccHH05MC.i
GNU CPP version egcs-2.92.13 19981007 (gcc2 ss-980609 experimental)
(ARM/semi-hosted)
#include "..." search starts here:
#include <...> search starts here:
include
.
../../../../gnusrc/egcs/gcc
../../../../gnusrc/egcs/gcc/config
../../../../gnusrc/egcs/gcc/../include
/home/rearnsha/gnu/egcs/arm-aout/gcc/include
End of search list.
../../../../gnusrc/egcs/gcc/libgcc2.c:41: stdlib.h: No such file or
directory
../../../../gnusrc/egcs/gcc/libgcc2.c:42: unistd.h: No such file or
directory
'grep'ing for include in cccp.o shows that it contains the following
include paths, but none of these seem to be being used:
/home/rearnsha/gnu/egcs/install/SunOS5/lib/gcc-lib/arm-semi-aout/egcs-2.92.
13/../../../../arm-semi-aout/include
/home/rearnsha/gnu/egcs/install/SunOS5/lib/gcc-lib/arm-semi-aout/egcs-2.92.
13/../../../../arm-semi-aout/sys-include
/home/rearnsha/gnu/egcs/install/SunOS5/lib/gcc-lib/arm-semi-aout/egcs-2.92.
13/include
/home/rearnsha/gnu/egcs/install/SunOS5/lib/gcc-lib/arm-semi-aout/egcs-2.92.
13/../../../../include/g++
Actually, I think this is all somewhat irrelevant, since the compiler
shouldn't be looking in the install area when newlib is in the source
tree. It should really be getting the headers from
${srcdir}/...../newlib/....
Richard.