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: More ARM binutils fuckage


On Wed, 6 Dec 2006, Lennert Buytenhek wrote:

> On Tue, Dec 05, 2006 at 07:22:34PM -0800, Khem Raj wrote:
> 
> > >The kernel itself needs to be EABI to be able to run EABI userland
> > >binaries.
> >   
> > I dont think so. You can have kernel compiled with Old ABI compiler
> > and it still will run EABI binaries with right config options.

Trying to clear confusion away....

For a kernel to run EABI user space, it must be compiled with EABI 
itself.  But any EABI capable gcc version can compile the kernel with 
EABI, even if gcc is not configured for EABI by default.

> Is this supported by mainline 2.6, or are you talking about the
> Montavista kernel that I'm not allowed to look at unless I pay
> Montavista a bazillion dollars?

There is no difference at all between the MV kernel and mainline wrt 
EABI support at this point.  Guess why I know...

> > >>2. Kernel itself it compiled as EABI binary.
> > >>
> > >>This would need a complete EABI toolchain. (configure with 
> > >>arm*-*-linux-gnueabi )
> > >
> > >No, it does not.
> > 
> > How would you generate a EABI binary with a non EABI toolchain then. 
> > (after all kernel is also a binary)
> 
> You pass your old-ABI compiler the option -mabi=aapcs-linux, which works
> fine with my gcc 4.1 old-ABI toolchain and is exactly what mainline 2.6
> does.

Right.  The kernel is self sufficient as it doesn't rely on any external 
piece of code like extra  libraries.  It therefore can be compiled for 
either ABIs up front by simply providing gcc with the right -mabi 
switch.

This is not the case for user space binaries since they depend on extra 
libs which must be of the same ABI.


Nicolas

--
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]