Re: Merged GCC and Binutils build directories for bootstrap?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello, again...

   So it seems that, contrary to the howto, the GCC libiberty is not a superset
of the binutils version, which sort of makes this whole merged build kinda a
bad idea.  In particular, binutils fails because lrealpath is not in gcc's
version (even 3.3.2).

   The point of merging these trees, I thought, was to do a nice clean
bootstrap.  Otherwise you have to either do the whole compile twice (ick!)
or build your final gcc with a binutils built with the older gcc (or other
compiler).

   Does anyone have any insight into the long-term prospect for merged
bootstrap installs?  If they're not possible, then what's the proper way to
handle this?

-- Mario

Rupert Wood wrote:
Mario Nigrovic wrote:


I've seen lots of references implying that it's possible to have
bootstrap gcc compile its binutils (gas, ld, etc), but I've
searched and searched and all the docs just say it's possible, not
*how* to do it!


It gets a mention in the simulator test instructions,

http://gcc.gnu.org/simtest-howto.html

The basic idea is to note that the root of gcc, gdb, binutils, etc. tarballs
is all approximately the same, as are a few of the subdirectories
(libiberty, include, etc.) In fact binutils and gdb come from the same CVS;
virtually all of sources apart from gcc do. I think the combined tree is
called the "Cygnus toolchain".

You have to make sure the gcc, binutils, etc. that you're combining are
about the same age so one will build with the other one's libiberty and
includes. Then you need to decide which tree's libiberty and include you're
going to use - I forget which one's officially canonical. Then you can
either make hard links with cpio as in the simtest howto or you could
symlink the gcc, bohem-gc and runtime lib directories into the binutils
source tree, or the bfd, binutils, gas, ld, opcodes, etc. directories into
the binutils tree. Finally, you should be able to configure and build from
the combined tree.

However, I don't think this offers any benefit over building then installing
the binutils and then building and installing GCC for a target, especially
if you're going to update the GCC more often than the binutils.

You may find more / better instructions in the CrossGCC FAQ.

Good luck,
Rup.


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux