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? Cheers, Richard
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#146375): https://lists.openembedded.org/g/openembedded-core/message/146375 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]] -=-=-=-=-=-=-=-=-=-=-=-
