[yocto] Building yocto with hard float support
Khem Raj
raj.khem at gmail.com
Fri Nov 13 12:50:46 PST 2015
> On Nov 12, 2015, at 9:03 AM, Mark Hatle <mark.hatle at windriver.com> wrote:
>
> On 11/12/15 3:17 AM, Toby Gomersall wrote:
>> Hi,
>>
>> I want to build yocto with hard float support. I understand that I can
>> point the EXTERNAL_TOOLCHAIN variable at the appropriate external hard
>> float compiler (gcc-5-arm-linux-gnueabihf). However, I was wondering if
>> there was anything within the yocto project to do this?
>
> I'm going to be pedantic for a second.. bear with me.
>
> ARM has two ABIs, the standard EABI which passes floating point values via
> integer registers and EABIHF that passes floating point values via floating
> point registers.
>
> EABI allows hardware floating point along with neon or any other core specific
> optimizations.
>
> EABIHF requires a specific set and size of VFP registers.
>
> The Yocto Project is capable of building for both ABIs with whatever
> combinations of optimizations you need.
>
> The ABI and default processor optimization is configured by the 'DEFAULTTUNE'
> parameter. This is typically defined in your machine configuration file, either
> explicitly or implicitly via the including of the tune files.
>
>
> So for example, if you have an ARMv5 CPU you would likely use:
>
> DEFAULTTUNE="armv5e"
>
> This would select ARM EABI, no VFP.
>
> alternatively you could do:
>
> DEFAULTTUNE="armv5e-vfp"
>
> This would select ARM EABI w/ VFP floating point.
>
> OR
>
> (what I think you are actually trying to ask)
>
> DEFAULTTUNE="armv5ehf-vfp"
>
> This would select ARM EABIHF w/ VFP floating point.
>
all is fine except armv5 here will confuse people thinking that hf ABI works on armv5 as well
would have been better explained with armv7 example.
>
> So start with your machine and determine which defaulttune (bitbake -e) you have
> selected. Adjust it to a compatible setting for the ABI and processor
> optimizations that you wish to use.
>
>> I'm concerned that future updates to an external compiler might affect
>> my build and I would prefer to use a method from within the yocto project.
>
> Unless you have a specific need, I don't recommend external compilers. The
> Yocto Project compilers and configurations are well tested and high quality.
> While using an external compiler is support by some vendors, it adds complexity
> that may not be beneficial. (Sometimes support and other aspects of commercial
> offerings outweigh the complexity..)
>
>> Thank you,
>> Toby
>>
>>
>>
>
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20151113/ac3df5b8/attachment.pgp>
More information about the yocto
mailing list