This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Specifying VPF instructions for ARM?
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: Jeff Gold <jgold at us dot ncipher dot com>
- Cc: Richard dot Earnshaw at arm dot com, gcc at gcc dot gnu dot org
- Date: Wed, 05 Nov 2003 19:24:42 +0000
- Subject: Re: Specifying VPF instructions for ARM?
- Organization: ARM Ltd.
- Reply-to: Richard dot Earnshaw at arm dot com
> Richard Earnshaw wrote:
> > GCC cannot currently generate VFP instructions, but work is in progress to
> > address this (though not for the next release of the compiler). It can
> > support VFP-format soft-float code (using the same data layout as the VFP,
> > but without using VFP instructions) but this can only be selected as a
> > build-time option.
>
> This is probably just ignorance on my part. VFP instructions are what
> the error messages talk about and I had no idea there was a difference
> between that and the floating point issues.
Yeah, the messages are somewhat misleading.
>
> Does "build-time option" mean building binutils and gcc, or the
> application itself? How does one specify which soft-float format should
> be used? Is this implied by things like -mcpu=strongarm or can it be
> set independently?
>
It's a building gcc option (in fact, in this case you have to physically
edit the source of the compiler to change the behaviour -- though it's
only a one line change).
> > Sorry, I don't read gcc-help -- too many mails in each day as it is,
> > without adding more.
>
> Fair enough. I only mentioned that I had posted to gcc-help to
> demonstrate that I didn't just post to this list without reading the
> description of the mailing lists on the web site.
>
You followed the correct approach. However, I would note that folks
developing with cross compilers tend to use the cross-gcc@sources.redhat.co
m list.
> > You don't say which versions of the various tools you are trying to use,
>
> I am using GCC release 3.3.1 when attempting to build the application,
> which is what generates the error messages I posted. Other recent
> recent versions of GCC seem to provoke the same problem. GCC
> 2.9-xscale-010827 which I got this from the Intel site for the RedHat
> GNUpro toolkit is what I used to generate the libraries.
>
> Could something related to this have changed in the intervening
> versions? I'm not able to find anything relevant in the ChangeLog.
>
I don't use, and the FSF doesn't maintain the GNUpro toolkit. If you have
problems with that you will have to ask RedHat, or whoever you got the
compiler from.
> > The only solution I can suggest here is to avoid using an xscale-elf
> > toolchain for building applications non-xscale systems (use the arm-elf
> > configuration or maybe the strongarm-elf configuration).
>
> For some rather senseless reasons (that I won't bother describing) the
> tool chain needs to be named xscale-elf-*, but I'll try working around
> this using --target=strongarm-elf along with either links or renaming
> executables.
>
> I'm still a little confused, though. I know that I pass -mcpu=strongarm
> when building the library object files as well as those for the
> application, yet the error message at link time specifically mention
> these as things that use VFP soft-float code. Does this mean that the
> way the support code is marked becomes contageous where other static
> libraries are concerned? Or is there some ar option I should be passing
> to avoid this?
>
You didn't name the object files that were actually causing the problem,
so I'm assuming that the ones reported included at least one that was
compiled when gcc was being built. If not, then was one of them an
assembly file (and did you use -mcpu=strongarm with that, too)?
R.