Segher Boessenkool wrote:
The manual explicitly says you need to have target headers.  With
all those --disable-XXX and especially --enable-sjlj-exceptions it
all works fine without, though.
If one tries to produce everything in the 'gcc' subdirectory, including 'libgcc', then headers may be needed. But if producing only the 'xgcc', 'cc1', 'collect2' etc binaries for the host is enough, then nothing for the target will be required. Everything is totally dependent on how that "cross compiler" will be defined....

Years ago in Berkeley university there was a system called "Nachos" which
required a "crosscompiler for DECstation/MIPS" but without any DEC's
target headers  or libraries and even without  any 'libgcc'.

So if one needs a "Nachos-like" crosscompiler for some target on one's host,
that could always succeed!  Only problems totally related to the $host could
be seen....

Meanwhile a cross GCC for AIX, HP-UX, and even for the quite common
Mac OS X and for the commercial "Enterprise Linux" distros and for many
other systems could be either impossible or very hard if no free access to the target stuff (copyrighted prebuilt libraries) is provided. And when one thinks
a cross GCC being something similar to the native GCC, with all the base C
libraries, all the extra termcap, curses, X11 etc. libraries... Or when there is not much or not enough support in the GNU binutils for the target. For instance a cross GCC for the MS's "Interix" aka "Services for Unix" would fail with the GNU ld not working for this target :-( So if one defines a "cross compiler" to include the "as", "ld" etc. binutils and all the target libraries, then there can be very serious problems, neither the GNU binutils, nor the GNU libc are supporting all the targets GCC is seemingly "supporting".... Someone recently mentioned that the GNU binutils shouldn't work for AIX and quite surely there isn't any
free access to the  AIX C libraries...

Quite many crosscompiler builders don't have any clue about what GCC is and
what components are belonging to it... Some will always mix producing a cross
GCC with producing a self-made Linux distro, where that GCC is only a tool
used to produce the final product, Linux :-( These things just should be much
more clear in people's minds...



Reply via email to