On Mon, Dec 28, 2020 at 6:36 PM Yu, Mingli <mingli...@windriver.com> wrote: > > From: Mingli Yu <mingli...@windriver.com> > > After pulseaudio upgrades from 13.0 to 14.0, it also switches from autotools > to meson and there's no option for disabling Neon optimizations with meson. > And the build system adds -mfpu=neon at the end of the compiler command line > which overrids any earlier -mfpu options and result below build failure: > > | > /prj/tmp-glibc/work/armv5e-wrs-linux-gnueabi/pulseaudio/14.0-r0/recipe-sysroot-native/usr/lib/arm-wrs-linux-gnueabi/gcc/arm-wrs-linux-gnueabi/10.2.0/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" > | ^~~~~ > | ../pulseaudio-14.0/src/pulsecore/mix_neon.c: In function > 'pa_mix_ch2_s16ne_neon': > | ../pulseaudio-14.0/src/pulsecore/mix_neon.c:38:9: error: unknown type name > 'int32x4_t'; did you mean 'int32_t'? > | 38 | int32x4_t sum0, sum1; > > Define -mfloat-abi=softfp for CC on armv5 to fix the above issue.
Doesn't look right. That forces the whole package to be compiled with floating point instructions, which will break targets which need soft float. > Signed-off-by: Mingli Yu <mingli...@windriver.com> > --- > meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc > b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc > index e40b8c1c40..44a6a3055e 100644 > --- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc > +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc > @@ -123,6 +123,7 @@ PACKAGECONFIG[ipv6] = "-Dipv6=true,-Dipv6=false," > PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false," > > export TARGET_PFPU = "${TARGET_FPU}" > +export CC_append_armv5 = " -mfloat-abi=softfp" Aside from the fact that the change itself looks wrong, what is export with a conditional append supposed to do? Export unconditionally (and so have a side effect for targets other than armv5)? Export only if the conditional append took effect? Since most people have no idea, it's better to keep export and the conditional append separate. > set_cfg_value () { > sed -i -e "s/\(; *\)\?$2 =.*/$2 = $3/" "$1" > -- > 2.26.2 > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#146290): https://lists.openembedded.org/g/openembedded-core/message/146290 Mute This Topic: https://lists.openembedded.org/mt/79283711/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-