This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


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: [crosstool-NG] Design discussion


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


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