All of lore.kernel.org
 help / color / mirror / Atom feed
* [V2][PATCH] libjpeg-turbo: fix do_compile error on armv5
@ 2021-06-09  7:29 Changqing Li
  2021-06-09  7:59 ` [OE-core] " William A. Kennington III
  2021-06-09 17:29 ` Andre McCurdy
  0 siblings, 2 replies; 7+ messages in thread
From: Changqing Li @ 2021-06-09  7:29 UTC (permalink / raw)
  To: openembedded-core

From: Changqing Li <changqing.li@windriver.com>

fix below error:
/include/arm_neon.h:31:2: error: #error "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
31 | #error "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"

Neon is not supported by armv5, disable the simd extension build.

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
index 7f91cc02ac..da21971113 100644
--- a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
+++ b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
@@ -40,6 +40,8 @@ EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx3
 # Work around missing non-floating point ABI support in MIPS
 EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}"
 
+EXTRA_OECMAKE_append_class-target = " ${@ ('') if (d.getVar('TUNE_CCARGS_MFPU') != '') else '-DWITH_SIMD=False'}"
+
 # Provide a workaround if Altivec unit is not present in PPC
 EXTRA_OECMAKE_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
 EXTRA_OECMAKE_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [OE-core] [V2][PATCH] libjpeg-turbo: fix do_compile error on armv5
  2021-06-09  7:29 [V2][PATCH] libjpeg-turbo: fix do_compile error on armv5 Changqing Li
@ 2021-06-09  7:59 ` William A. Kennington III
  2021-06-09 17:29 ` Andre McCurdy
  1 sibling, 0 replies; 7+ messages in thread
From: William A. Kennington III @ 2021-06-09  7:59 UTC (permalink / raw)
  To: Changqing Li; +Cc: OE-core

Btw, I'm hoping upstream will fix this for all arm
https://github.com/libjpeg-turbo/libjpeg-turbo/issues/523

On Wed, Jun 9, 2021 at 12:32 AM Changqing Li <changqing.li@windriver.com> wrote:
>
> From: Changqing Li <changqing.li@windriver.com>
>
> fix below error:
> /include/arm_neon.h:31:2: error: #error "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
> 31 | #error "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
>
> Neon is not supported by armv5, disable the simd extension build.
>
> Signed-off-by: Changqing Li <changqing.li@windriver.com>
> ---
>  meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
> index 7f91cc02ac..da21971113 100644
> --- a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
> +++ b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
> @@ -40,6 +40,8 @@ EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx3
>  # Work around missing non-floating point ABI support in MIPS
>  EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}"
>
> +EXTRA_OECMAKE_append_class-target = " ${@ ('') if (d.getVar('TUNE_CCARGS_MFPU') != '') else '-DWITH_SIMD=False'}"
> +
>  # Provide a workaround if Altivec unit is not present in PPC
>  EXTRA_OECMAKE_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
>  EXTRA_OECMAKE_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
> --
> 2.17.1
>
>
> 
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [OE-core] [V2][PATCH] libjpeg-turbo: fix do_compile error on armv5
  2021-06-09  7:29 [V2][PATCH] libjpeg-turbo: fix do_compile error on armv5 Changqing Li
  2021-06-09  7:59 ` [OE-core] " William A. Kennington III
@ 2021-06-09 17:29 ` Andre McCurdy
  2021-06-09 22:40   ` Andrea Adami
  2021-06-10  9:42   ` Changqing Li
  1 sibling, 2 replies; 7+ messages in thread
From: Andre McCurdy @ 2021-06-09 17:29 UTC (permalink / raw)
  To: Changqing Li; +Cc: OE Core mailing list

On Wed, Jun 9, 2021 at 12:32 AM Changqing Li <changqing.li@windriver.com> wrote:
>
> From: Changqing Li <changqing.li@windriver.com>
>
> fix below error:
> /include/arm_neon.h:31:2: error: #error "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
> 31 | #error "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
>
> Neon is not supported by armv5, disable the simd extension build.

Drop this comment. Neon may be missing from other ISA levels too (i.e.
this fix is not specific to armv5).

> Signed-off-by: Changqing Li <changqing.li@windriver.com>
> ---
>  meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
> index 7f91cc02ac..da21971113 100644
> --- a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
> +++ b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
> @@ -40,6 +40,8 @@ EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx3
>  # Work around missing non-floating point ABI support in MIPS
>  EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}"
>
> +EXTRA_OECMAKE_append_class-target = " ${@ ('') if (d.getVar('TUNE_CCARGS_MFPU') != '') else '-DWITH_SIMD=False'}"

Shouldn't this be checking for neon in TUNE_FEATURES rather than
TUNE_CCARGS_MFPU? It should also probably be conditional on the _arm
over-ride since neon will be missing from
TUNE_CCARGS_MFPU/TUNE_FEATURES for other architectures. Since big
endian ARM doesn't use the _arm over-ride you will also need a
duplicate line with the same logic with the _armeb override too. See
the lines below which do the equivalent for _powerpc / _powerpc64 as a
reference.

>  # Provide a workaround if Altivec unit is not present in PPC
>  EXTRA_OECMAKE_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
>  EXTRA_OECMAKE_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
> --
> 2.17.1
>
>
> 
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [OE-core] [V2][PATCH] libjpeg-turbo: fix do_compile error on armv5
  2021-06-09 17:29 ` Andre McCurdy
@ 2021-06-09 22:40   ` Andrea Adami
  2021-06-10  9:42   ` Changqing Li
  1 sibling, 0 replies; 7+ messages in thread
From: Andrea Adami @ 2021-06-09 22:40 UTC (permalink / raw)
  To: Andre McCurdy; +Cc: Changqing Li, OE Core mailing list

On Wed, Jun 9, 2021 at 7:30 PM Andre McCurdy <armccurdy@gmail.com> wrote:
>
> On Wed, Jun 9, 2021 at 12:32 AM Changqing Li <changqing.li@windriver.com> wrote:
> >
> > From: Changqing Li <changqing.li@windriver.com>
> >
> > fix below error:
> > /include/arm_neon.h:31:2: error: #error "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
> > 31 | #error "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
> >
> > Neon is not supported by armv5, disable the simd extension build.
>
> Drop this comment. Neon may be missing from other ISA levels too (i.e.
> this fix is not specific to armv5).
>
> > Signed-off-by: Changqing Li <changqing.li@windriver.com>
> > ---
> >  meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
> > index 7f91cc02ac..da21971113 100644
> > --- a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
> > +++ b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
> > @@ -40,6 +40,8 @@ EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx3
> >  # Work around missing non-floating point ABI support in MIPS
> >  EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}"
> >
> > +EXTRA_OECMAKE_append_class-target = " ${@ ('') if (d.getVar('TUNE_CCARGS_MFPU') != '') else '-DWITH_SIMD=False'}"
>
> Shouldn't this be checking for neon in TUNE_FEATURES rather than
> TUNE_CCARGS_MFPU? It should also probably be conditional on the _arm
> over-ride since neon will be missing from
> TUNE_CCARGS_MFPU/TUNE_FEATURES for other architectures. Since big
> endian ARM doesn't use the _arm over-ride you will also need a
> duplicate line with the same logic with the _armeb override too. See
> the lines below which do the equivalent for _powerpc / _powerpc64 as a
> reference.
>
> >  # Provide a workaround if Altivec unit is not present in PPC
> >  EXTRA_OECMAKE_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
> >  EXTRA_OECMAKE_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
> > --
> > 2.17.1
> >
> >
> >
> >
>
> 
>

Just to confirm it fails on armv4 as well.

CheckSymbolExists.c:8:19: error: 'vld1_s16_x3' undeclared (first use
in this function)
CheckSymbolExists.c:8:19: error: 'vld1_u16_x2' undeclared (first use
in this function)
CheckSymbolExists.c:8:19: error: 'vld1q_u8_x4' undeclared (first use
in this function)

...
#include <arm_neon.h>
...
    3 |     #error "float ABI = softfp"

A.A.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [OE-core] [V2][PATCH] libjpeg-turbo: fix do_compile error on armv5
  2021-06-09 17:29 ` Andre McCurdy
  2021-06-09 22:40   ` Andrea Adami
@ 2021-06-10  9:42   ` Changqing Li
  2021-06-10 16:59     ` Andre McCurdy
  1 sibling, 1 reply; 7+ messages in thread
From: Changqing Li @ 2021-06-10  9:42 UTC (permalink / raw)
  To: Andre McCurdy; +Cc: OE Core mailing list


On 6/10/21 1:29 AM, Andre McCurdy wrote:
> [Please note: This e-mail is from an EXTERNAL e-mail address]
>
> On Wed, Jun 9, 2021 at 12:32 AM Changqing Li <changqing.li@windriver.com> wrote:
>> From: Changqing Li <changqing.li@windriver.com>
>>
>> fix below error:
>> /include/arm_neon.h:31:2: error: #error "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
>> 31 | #error "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
>>
>> Neon is not supported by armv5, disable the simd extension build.
> Drop this comment. Neon may be missing from other ISA levels too (i.e.
> this fix is not specific to armv5).
Get it. Thanks.
>
>> Signed-off-by: Changqing Li <changqing.li@windriver.com>
>> ---
>>   meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
>> index 7f91cc02ac..da21971113 100644
>> --- a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
>> +++ b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
>> @@ -40,6 +40,8 @@ EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx3
>>   # Work around missing non-floating point ABI support in MIPS
>>   EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}"
>>
>> +EXTRA_OECMAKE_append_class-target = " ${@ ('') if (d.getVar('TUNE_CCARGS_MFPU') != '') else '-DWITH_SIMD=False'}"
> Shouldn't this be checking for neon in TUNE_FEATURES rather than
> TUNE_CCARGS_MFPU?
Refer feature-arm-vfp.inc:

TUNE_CCARGS_MFLOAT = "${@ bb.utils.contains('TUNE_FEATURES', 
'callconvention-hard', 'hard', 'softfp', d) if 
(d.getVar('TUNE_CCARGS_MFPU') != '') else '' }"

TUNE_CCARGS   .= "${@ ' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if 
(d.getVar('TUNE_CCARGS_MFLOAT') != '')     else ''}"


There are condition that neon is not in TUNE_FEATURES, but vfp is in it. 
so TUNE_CCARGS may append -mfloat-abi=softfp,  then

simd module here can be compiled  sucessfully.

> It should also probably be conditional on the _arm
> over-ride since neon will be missing from
> TUNE_CCARGS_MFPU/TUNE_FEATURES for other architectures.Since big
> endian ARM doesn't use the _arm over-ride you will also need a
> duplicate line with the same logic with the _armeb override too. See
> the lines below which do the equivalent for _powerpc / _powerpc64 as a
> reference.
ok. thanks.

>
>>   # Provide a workaround if Altivec unit is not present in PPC
>>   EXTRA_OECMAKE_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
>>   EXTRA_OECMAKE_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
>> --
>> 2.17.1
>>
>>
>> 
>>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [OE-core] [V2][PATCH] libjpeg-turbo: fix do_compile error on armv5
  2021-06-10  9:42   ` Changqing Li
@ 2021-06-10 16:59     ` Andre McCurdy
  2021-06-11  2:39       ` Changqing Li
  0 siblings, 1 reply; 7+ messages in thread
From: Andre McCurdy @ 2021-06-10 16:59 UTC (permalink / raw)
  To: Changqing Li; +Cc: OE Core mailing list

On Thu, Jun 10, 2021 at 2:42 AM Changqing Li <changqing.li@windriver.com> wrote:
> On 6/10/21 1:29 AM, Andre McCurdy wrote:
> > [Please note: This e-mail is from an EXTERNAL e-mail address]
> >
> > On Wed, Jun 9, 2021 at 12:32 AM Changqing Li <changqing.li@windriver.com> wrote:
> >> From: Changqing Li <changqing.li@windriver.com>
> >>
> >> fix below error:
> >> /include/arm_neon.h:31:2: error: #error "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
> >> 31 | #error "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
> >>
> >> Neon is not supported by armv5, disable the simd extension build.
> > Drop this comment. Neon may be missing from other ISA levels too (i.e.
> > this fix is not specific to armv5).
> Get it. Thanks.
> >
> >> Signed-off-by: Changqing Li <changqing.li@windriver.com>
> >> ---
> >>   meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb | 2 ++
> >>   1 file changed, 2 insertions(+)
> >>
> >> diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
> >> index 7f91cc02ac..da21971113 100644
> >> --- a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
> >> +++ b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
> >> @@ -40,6 +40,8 @@ EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx3
> >>   # Work around missing non-floating point ABI support in MIPS
> >>   EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}"
> >>
> >> +EXTRA_OECMAKE_append_class-target = " ${@ ('') if (d.getVar('TUNE_CCARGS_MFPU') != '') else '-DWITH_SIMD=False'}"
> > Shouldn't this be checking for neon in TUNE_FEATURES rather than
> > TUNE_CCARGS_MFPU?
> Refer feature-arm-vfp.inc:
>
> TUNE_CCARGS_MFLOAT = "${@ bb.utils.contains('TUNE_FEATURES',
> 'callconvention-hard', 'hard', 'softfp', d) if
> (d.getVar('TUNE_CCARGS_MFPU') != '') else '' }"
>
> TUNE_CCARGS   .= "${@ ' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if
> (d.getVar('TUNE_CCARGS_MFLOAT') != '')     else ''}"
>
>
> There are condition that neon is not in TUNE_FEATURES, but vfp is in it.
> so TUNE_CCARGS may append -mfloat-abi=softfp,  then
>
> simd module here can be compiled  sucessfully.

The SIMD code can only be used on targets which support neon. There
may be other cases where the code can be compiled but if it can never
be used at run time it's not very useful.

> > It should also probably be conditional on the _arm
> > over-ride since neon will be missing from
> > TUNE_CCARGS_MFPU/TUNE_FEATURES for other architectures.Since big
> > endian ARM doesn't use the _arm over-ride you will also need a
> > duplicate line with the same logic with the _armeb override too. See
> > the lines below which do the equivalent for _powerpc / _powerpc64 as a
> > reference.
> ok. thanks.
>
> >
> >>   # Provide a workaround if Altivec unit is not present in PPC
> >>   EXTRA_OECMAKE_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
> >>   EXTRA_OECMAKE_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
> >> --
> >> 2.17.1
> >>
> >>
> >> 
> >>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [OE-core] [V2][PATCH] libjpeg-turbo: fix do_compile error on armv5
  2021-06-10 16:59     ` Andre McCurdy
@ 2021-06-11  2:39       ` Changqing Li
  0 siblings, 0 replies; 7+ messages in thread
From: Changqing Li @ 2021-06-11  2:39 UTC (permalink / raw)
  To: Andre McCurdy; +Cc: OE Core mailing list


On 6/11/21 12:59 AM, Andre McCurdy wrote:
> [Please note: This e-mail is from an EXTERNAL e-mail address]
>
> On Thu, Jun 10, 2021 at 2:42 AM Changqing Li <changqing.li@windriver.com> wrote:
>> On 6/10/21 1:29 AM, Andre McCurdy wrote:
>>> [Please note: This e-mail is from an EXTERNAL e-mail address]
>>>
>>> On Wed, Jun 9, 2021 at 12:32 AM Changqing Li <changqing.li@windriver.com> wrote:
>>>> From: Changqing Li <changqing.li@windriver.com>
>>>>
>>>> fix below error:
>>>> /include/arm_neon.h:31:2: error: #error "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
>>>> 31 | #error "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
>>>>
>>>> Neon is not supported by armv5, disable the simd extension build.
>>> Drop this comment. Neon may be missing from other ISA levels too (i.e.
>>> this fix is not specific to armv5).
>> Get it. Thanks.
>>>> Signed-off-by: Changqing Li <changqing.li@windriver.com>
>>>> ---
>>>>    meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb | 2 ++
>>>>    1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
>>>> index 7f91cc02ac..da21971113 100644
>>>> --- a/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
>>>> +++ b/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
>>>> @@ -40,6 +40,8 @@ EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx3
>>>>    # Work around missing non-floating point ABI support in MIPS
>>>>    EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}"
>>>>
>>>> +EXTRA_OECMAKE_append_class-target = " ${@ ('') if (d.getVar('TUNE_CCARGS_MFPU') != '') else '-DWITH_SIMD=False'}"
>>> Shouldn't this be checking for neon in TUNE_FEATURES rather than
>>> TUNE_CCARGS_MFPU?
>> Refer feature-arm-vfp.inc:
>>
>> TUNE_CCARGS_MFLOAT = "${@ bb.utils.contains('TUNE_FEATURES',
>> 'callconvention-hard', 'hard', 'softfp', d) if
>> (d.getVar('TUNE_CCARGS_MFPU') != '') else '' }"
>>
>> TUNE_CCARGS   .= "${@ ' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if
>> (d.getVar('TUNE_CCARGS_MFLOAT') != '')     else ''}"
>>
>>
>> There are condition that neon is not in TUNE_FEATURES, but vfp is in it.
>> so TUNE_CCARGS may append -mfloat-abi=softfp,  then
>>
>> simd module here can be compiled  sucessfully.
> The SIMD code can only be used on targets which support neon. There
> may be other cases where the code can be compiled but if it can never
> be used at run time it's not very useful.
OK, thanks. I will send V3 patch.
>
>>> It should also probably be conditional on the _arm
>>> over-ride since neon will be missing from
>>> TUNE_CCARGS_MFPU/TUNE_FEATURES for other architectures.Since big
>>> endian ARM doesn't use the _arm over-ride you will also need a
>>> duplicate line with the same logic with the _armeb override too. See
>>> the lines below which do the equivalent for _powerpc / _powerpc64 as a
>>> reference.
>> ok. thanks.
>>
>>>>    # Provide a workaround if Altivec unit is not present in PPC
>>>>    EXTRA_OECMAKE_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
>>>>    EXTRA_OECMAKE_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
>>>> --
>>>> 2.17.1
>>>>
>>>>
>>>> 
>>>>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-06-11  2:39 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-09  7:29 [V2][PATCH] libjpeg-turbo: fix do_compile error on armv5 Changqing Li
2021-06-09  7:59 ` [OE-core] " William A. Kennington III
2021-06-09 17:29 ` Andre McCurdy
2021-06-09 22:40   ` Andrea Adami
2021-06-10  9:42   ` Changqing Li
2021-06-10 16:59     ` Andre McCurdy
2021-06-11  2:39       ` Changqing Li

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.