[OE-core] [PATCH 11/15] gcc-common.inc: Consider hardfp knob for configuring toolchain

Koen Kooi koen at dominion.thruhere.net
Mon May 16 15:21:33 UTC 2011


both softp and hardfp use the actual hardware fpu, but have different calling conventions and are incompatible. So you need vars.

Op 16 mei 2011 om 16:44 heeft Richard Purdie <richard.purdie at linuxfoundation.org> het volgende geschreven:

> Hi Khem,
> 
> I've a concern about ending up with several different variables all
> doing the same thing. Why do we need both TARGET_FPU and ARM_FP_ABI?
> Couldn't we just have values or "hard, sort or empty" for TARGET_FPU?
> 
> Cheers,
> 
> Richard
> 
> On Sat, 2011-05-14 at 18:32 -0700, Saul Wold wrote:
>> From: Khem Raj <raj.khem at gmail.com>
>> 
>> pass --with-float=hard|soft depending upon ARM_FP_ABI settings
>> 
>> Signed-off-by: Khem Raj <raj.khem at gmail.com>
>> ---
>> meta/recipes-devtools/gcc/gcc-common.inc |   13 ++++++++++---
>> 1 files changed, 10 insertions(+), 3 deletions(-)
>> 
>> diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc
>> index a3fa234..8b7c3ad 100644
>> --- a/meta/recipes-devtools/gcc/gcc-common.inc
>> +++ b/meta/recipes-devtools/gcc/gcc-common.inc
>> @@ -8,10 +8,17 @@ NATIVEDEPS = ""
>> inherit autotools gettext
>> 
>> FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
>> -
>> def get_gcc_fpu_setting(bb, d):
>> -    if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
>> -        return "--with-float=soft"
>> +    if bb.data.getVar('TARGET_FPU', d, True) in [ 'soft', 'hard'] and bb.data.getVar('TARGET_OS', d, True).find('linux') >= 0 :
>> +        # ARM_FP_ABI could be either 'hardfp' or 'softfp'
>> +        arm_fpabi = bb.data.getVar('ARM_FP_ABI', d, True) or ""
>> +        if arm_fpabi != "":
>> +            if arm_fpabi  == "hardfp":
>> +                # reset it to whatever gcc --with-float configure expects which is either 'softfp' or 'hard'
>> +                arm_fpabi = "hard"
>> +            return "--with-float=" + arm_fpabi
>> +        else:
>> +            return "--with-float=" + bb.data.getVar('TARGET_FPU', d, True)
>>     return ""
>> 
>> def get_gcc_mips_plt_setting(bb, d):
> 
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core




More information about the Openembedded-core mailing list