[OE-core] [RFC][WIP[[PATCH] feature-arm-vfp.inc: respect vfpv4 when setting -mfloat-abi andARMPKGSFX_EABI

Khem Raj raj.khem at gmail.com
Mon Oct 19 20:49:44 UTC 2015


> On Oct 19, 2015, at 1:13 PM, Martin Jansa <martin.jansa at gmail.com> wrote:
> 
> On Mon, Oct 19, 2015 at 12:40:05PM -0700, Khem Raj wrote:
>> Why doesnt vfpv4 also imply vfp ? Isnt it a super set
> 
> As it's now adding it to TUNE_FEATURES it would duplicate -mfpu options
> with different values, this change should probably cover vfpv3 and
> vfpv3d16 as well as added in:

hard-float shouldn’t be dependent upon which version of FP is in use, but -mfpu option will
certainly tell the compiler to use right instructions for -mfloat-abi=hard


> 
> commit f9de9521477a1de8f6a399bcdc8260e28e34dfb3
> Author: André Draszik <git at andred.net>
> Date:   Fri Jul 24 14:14:30 2015 +0100
> 
>    arch-armv7a.inc, feature-arm-vfp.inc: add tunes for vfpv3 and
> vfpv3d16
> 
> vfpv4 as separate TUNE_FEATURE was added in:
> 
> commit e97d152ca13556b41a236c1a4cfb11e77ff857d7
> Author: Kristof Robot <krirobo at gmail.com>
> Date:   Sun Jan 26 10:03:56 2014 +0100
> 
>    Add Cortex A7 support for NEONv2 & FPv4
> 
> So you should probably ask Kristof or Andre why they didn't include vfp
> as well. I'm just trying to fix missing -mfloat-abi=hard when switching from
> vfp to vfpv4.

This needs to be fixed in essence first then your patch won’t be required.

> 
> Regards,
> 
>> On Oct 19, 2015 11:03 AM, "Martin Jansa" <martin.jansa at gmail.com> wrote:
>> 
>>> * without this change it wasn't possible to use call-convention hard
>>>  together with vfpv4
>>> * also use ' inside quoted values
>>> 
>>> Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
>>> ---
>>> meta/conf/machine/include/arm/feature-arm-vfp.inc | 9 +++++----
>>> 1 file changed, 5 insertions(+), 4 deletions(-)
>>> 
>>> diff --git a/meta/conf/machine/include/arm/feature-arm-vfp.inc
>>> b/meta/conf/machine/include/arm/feature-arm-vfp.inc
>>> index 13927ff..440950a 100644
>>> --- a/meta/conf/machine/include/arm/feature-arm-vfp.inc
>>> +++ b/meta/conf/machine/include/arm/feature-arm-vfp.inc
>>> @@ -1,9 +1,10 @@
>>> TUNEVALID[vfp] = "Enable Vector Floating Point (vfp) unit."
>>> -ARMPKGSFX_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "vfp", "-vfp", ""
>>> ,d)}"
>>> +ARMPKGSFX_FPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfp', '-vfp', ''
>>> ,d)}"
>>> 
>>> TUNEVALID[vfpv4] = "Enable Vector Floating Point Version 4 (vfpv4) unit."
>>> -ARMPKGSFX_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "vfpv4",
>>> "-vfpv4", "" ,d)}"
>>> +ARMPKGSFX_FPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv4',
>>> '-vfpv4', '' ,d)}"
>>> 
>>> TUNEVALID[callconvention-hard] = "Enable EABI hard float call convention,
>>> requires VFP."
>>> -TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "vfp",
>>> bb.utils.contains("TUNE_FEATURES", "callconvention-hard", "
>>> -mfloat-abi=hard", " -mfloat-abi=softfp", d), "" ,d)}"
>>> -ARMPKGSFX_EABI .= "${@bb.utils.contains("TUNE_FEATURES", [
>>> "callconvention-hard", "vfp" ], "hf", "", d)}"
>>> +TUNE_CCARGS .= "${@bb.utils.contains_any('TUNE_FEATURES', [ 'vfp',
>>> 'vfpv4' ], bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '
>>> -mfloat-abi=hard', ' -mfloat-abi=softfp', d), '' ,d)}"
>>> +ARMPKGSFX_EABI .= "${@bb.utils.contains('TUNE_FEATURES', [
>>> 'callconvention-hard', 'vfp' ], 'hf', '', d)}"
>>> +ARMPKGSFX_EABI .= "${@bb.utils.contains('TUNE_FEATURES', [
>>> 'callconvention-hard', 'vfpv4' ], 'hf', '', d)}"
>>> --
>>> 2.6.1
>>> 
>>> --
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core at lists.openembedded.org
>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>> 
> 
> --
> Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com

-------------- 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.openembedded.org/pipermail/openembedded-core/attachments/20151019/581f6a3d/attachment-0002.sig>


More information about the Openembedded-core mailing list