All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Hatle <mark.hatle@windriver.com>
To: Toby Gomersall <toby.gomersall@smartacoustics.co.uk>,
	<yocto@yoctoproject.org>
Subject: Re: Building yocto with hard float support
Date: Thu, 12 Nov 2015 11:03:41 -0600	[thread overview]
Message-ID: <5644C66D.4030408@windriver.com> (raw)
In-Reply-To: <5644591F.1090703@smartacoustics.co.uk>

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



  reply	other threads:[~2015-11-12 17:04 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 [this message]
2015-11-13 10:55   ` Toby Gomersall
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=5644C66D.4030408@windriver.com \
    --to=mark.hatle@windriver.com \
    --cc=toby.gomersall@smartacoustics.co.uk \
    --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.