some questions of gcc-4.1.0/glibc-2.4 toolchain

Steven Newbury s_j_newbury@yahoo.co.uk
Sat May 6 12:22:00 GMT 2006


--- Steven Newbury <s_j_newbury@yahoo.co.uk> wrote:

> 
> --- Bridge Wu <mingqiao.wu@gmail.com> wrote:
> 
> > On 4/29/06, Steven Newbury <s_j_newbury@yahoo.co.uk> wrote:
> > >
> > > --- Bridge Wu <mingqiao.wu@gmail.com> wrote:
> > >
> > > > Hi,
> > > >
> > > > I got a toolchain with gcc-4.1.0/glibc-2.4/binutils-2.16.91.0.7 by
> > > > using crossgcc. It has a litte difference with the old version. Here
> > > > are some questions.
> > > >
> > > > 1. How to support multiple abi?
> > > > It can compile application with -mabi=aapcs. This can be observed with
> > > > "arm-iwmmxt-linux-gnueabi-objdum -p a.out | grep private", the result
> > > > is
> > > >               private flags = 4000002: [Version4 EABI] [has entry
> point]
> > > >
> > > > I suppose the toolchain should support old abi and the default is
> > > > eabi. The test case shows the result with and without -mabi=aapcs is
> > > > the same. But I cannot get an old abi object file. I cannot use
> > > > -mabi=apcs option. I can use -mapcs, but the result is the same as
> > > > -mabi=aapcs. How should I support multiple abi to the
> > > > gcc-4.1.0/glibc-2.4 toolchain.
> > > >
> > > Are you using my patch for arm-iwmmxt-linux-gnueabi?  I defaults to
> > mcpu=iwmmxt
> > > and mabi=aapcs-linux.
> > >
> > > Be aware that you need an aapcs compatible ABI for iWMMXt mode.  You will
> > have
> > > to make sure that your -march is set to something appropriate.
> > >
> > I did not apply your patch. I searched here and found you have sent
> > two iwmmxt patches. It's the second one, right?
> Yes, the second one.  It may not apply cleanly to 4.1.0, it's actually diff'd
> from 4.1.1, it should be easy to fix up though.
> 
> > 
> > > > 2. Which floating point is used?
> > > > I ever used objdump to see private flags in binary file show the
> > > > floating point format. But from item 1 we cannot know it. I checked
> > > > the binutils source file, seems FPA used, but I'm not sure.
> > > >
> > > Again my patch uses VFP since the iWMMXt does it in hardware.  If you 
I've managed to confuse myself a bit here; there is no iWMMXt processor with
hardware FP.  However iWMMXt processors are incompatible with FPA due to opcode
overlap, while they could have an VFP co-processor in principal.  That said
iWMMXt instructions should make softfloat fairly quick anyway.

So the result is if you want use software using the FPA ABI (oldABI requires
"hard" FPA) support you can't target iWMMXt and have to use ARMv5t instead
unless the software in question was built with softfloat, it should work ok on
a iWMMXt targetted system in that case.

If anybody knows better please let me know.



Steve


		
___________________________________________________________ 
Switch an email account to Yahoo! Mail, you could win FIFA World Cup tickets. http://uk.mail.yahoo.com

--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list