[crosstool-NG] Design discussion
Rob Landley
rob@landley.net
Sat Apr 11 05:13:00 GMT 2009
On Friday 10 April 2009 23:14:33 Thomas Charron wrote:
> On Wed, Apr 8, 2009 at 9:38 PM, Rob Landley <rob@landley.net> wrote:
> > Crosstool-NG seems to be aimed at reverse engineering the specific cross
> > compiler variants used to build existing binary root filesystems, so you
> > can extend those root filesystems without replacing any of the existing
> > binaries, or having to statically link your new additions.
>
> And those of us who are caring about bare metal?
I've used a jtag to install a bootloader and linux kernel on bare metal, so
presumably you mean you want to build something other than linux system to
install on that bare metal? (Such as building busybox against
newlib/libgloss?)
How does this differ from building a very complicated bootloader, or linking
against a different C library? (If you're building a complete new system on
the bare metal, do you particularly care about binutils or gcc versions other
than "fairly recent"?)
> > So with crosstool-NG, you can't really ask "what's the toolchain for PPC
> > 440" because it's capable of producing over 100 of them
> > _just_for_ppc_440_. (4 binutils versions, times 9 gcc versions, times 16
> > Linux versions, without even enabling the obsolete or experimental
> > options. Then there's whether to target Linux or bare metal, whether to
> > use sjlj exceptions or dwarf2, and so on.)
> > My project assumes that "what's the toolchain for PPC 440" should have a
> > simple answer, including a URL where you can download the prebuilt
> > binary.
>
> There is no single toolchain. That's an assumption that works for
> *your* environment.
Could be, but I still don't understand why. Care to explain?
I've built many different strange things with generic-ish toolchains, and
other than libgcc* being evil without --disable-shared, swapping out the
built-in libraries and headers after the toolchain is built is fairly
straightforward (for C anyway). You can do it as a wrapper even.
(I suppose you could be referring to languages other than C? C++ is a bit
more complicated, but then it always is. Java is its own little world, but
they put a lot of effort into portability. Haven't poked at Fortran since
the 90's.)
Rob
--
GPLv3 is to GPLv2 what Attack of the Clones is to The Empire Strikes Back.
--
For unsubscribe information see http://sourceware.org/lists.html#faq
More information about the crossgcc
mailing list