Hi RP, The pulseaudio upstream doesn't support the option to disable neon with meson per the the latest release note https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/14.0/ and also thanks Tanu to report the issue to upstream as https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1088 .
Will update the solution if there is any update. Thanks, <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1088> ________________________________ From: Tanu Kaskinen <[email protected]> Sent: Wednesday, January 6, 2021 03:04 To: Richard Purdie <[email protected]>; Yu, Mingli <[email protected]>; [email protected] <[email protected]>; [email protected] <[email protected]> Subject: Re: [OE-core] [PATCH v2] pulseaudio: define -mfloat-abi=softfp for CC on armv5 On Tue, 2021-01-05 at 12:37 +0000, Richard Purdie wrote: > On Tue, 2021-01-05 at 11:37 +0800, Yu, Mingli wrote: > From: Mingli Yu <[email protected]> > > After pulseaudio upgrades from 13.0 to 14.0, it also switches from > autotools > to meson. In autotools, there is --disable-neon-opt option for > disabling NEON > optimizations, but there is no counterpart in meson. > > And the meson build system adds -mfpu=neon at the end of the compiler > command > line which overrids any earlier -mfpu options and result below build > failure > on armv5: > > > /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. > > Signed-off-by: Mingli Yu <[email protected]> > --- > meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc > b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc > index e40b8c1c40..761e4f74dc 100644 > --- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc > +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc > @@ -123,6 +123,11 @@ PACKAGECONFIG[ipv6] = "-Dipv6=true,-Dipv6=false," > PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false," > > export TARGET_PFPU = "${TARGET_FPU}" > +# workaround build failure on qemuarmv5 as the neon optimizations is > +# enabled by default and no option to disable neon with meson build > +# system > +CC_append_armv5 = " -mfloat-abi=softfp" > +export CC > > set_cfg_value () { > sed -i -e "s/\(; *\)\?$2 =.*/$2 = $3/" "$1" > > I really don't want to add things like this to the recipe, I think it > will interfere with other parts of the compilation. In many ways I'd > prefer an option added to meson. Do we know what upstream are thinking > in relation to this? I think Meson should be fixed, but it may be necessary to add a build option to PulseAudio to disable the neon code while waiting for Meson to get fixed. I now filed a bug for Meson: https://github.com/mesonbuild/meson/issues/8156 and another for PulseAudio: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1088 so at least the relevant projects know about the issue now. I may work on fixing these myself if nobody else does, but I don't expect that to happen quickly. -- Tanu
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#146418): https://lists.openembedded.org/g/openembedded-core/message/146418 Mute This Topic: https://lists.openembedded.org/mt/79443916/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
