From: Toby Gomersall <toby.gomersall@smartacoustics.co.uk>
To: Mark Hatle <mark.hatle@windriver.com>, yocto@yoctoproject.org
Subject: Re: Building yocto with hard float support
Date: Fri, 13 Nov 2015 10:55:26 +0000 [thread overview]
Message-ID: <5645C19E.1010508@smartacoustics.co.uk> (raw)
In-Reply-To: <5644C66D.4030408@windriver.com>
[-- Attachment #1: Type: text/plain, Size: 2432 bytes --]
On 12/11/15 17:03, Mark Hatle 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.
>
>
> 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
>>
>>
>>
>
Thank you very much for your help, that was exactly what I was looking for.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2015-11-13 10:55 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-12 9:17 Building yocto with hard float support Toby Gomersall
2015-11-12 17:03 ` Mark Hatle
2015-11-13 10:55 ` Toby Gomersall [this message]
2015-11-13 20:50 ` Khem Raj
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5645C19E.1010508@smartacoustics.co.uk \
--to=toby.gomersall@smartacoustics.co.uk \
--cc=mark.hatle@windriver.com \
--cc=yocto@yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.