From e3de3ae58e830729bde1fcdc7da634567f4f3fa2 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 21 Apr 2014 09:57:00 +0200 Subject: [PATCH] mplayer: fix ARM floating point related build failures This commit fixes two separate, but related build failures: * A failure that was happening when the ARM CPU supports NEON, floating point is enabled, but not with the NEON FPU. In this case, the NEON ARM assembly is rejected by the assembler, with messages like "Error: selected FPU does not support instruction -- `vmul.f32 q0,q0,q1'". To fix this, we pass -mfpu=neon when we build mplayer with NEON support. Fixes: http://autobuild.buildroot.org/results/257/257a10e9cb5022bb09e0c6a03844be5b5b3e0bd4/ * A failure that was happening when the ARM CPU supports NEON, but the configuration is anyway using soft-float. In this case, mplayer attempts to compile NEON floating point instructions, but this obviously fail in a soft-float context, with errors such as 'Error: selected processor does not support ARM mode `vmov d0,r7,r8''. To fix this, we do not allow NEON to be enabled when we are in a soft-float configuration. Fixes: http://autobuild.buildroot.org/results/7b3/7b3c89fcd496c0bc80063f63ecd58c827e8077ea/ Signed-off-by: Thomas Petazzoni --- package/mplayer/mplayer.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package/mplayer/mplayer.mk b/package/mplayer/mplayer.mk index 84d99abc2..d2485e99d 100644 --- a/package/mplayer/mplayer.mk +++ b/package/mplayer/mplayer.mk @@ -113,8 +113,11 @@ ifeq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),armv6j) MPLAYER_CONF_OPTS += --enable-armv6 endif +ifeq ($(BR2_ARM_SOFT_FLOAT),) ifeq ($(BR2_ARM_CPU_HAS_NEON),y) MPLAYER_CONF_OPTS += --enable-neon +MPLAYER_CFLAGS += -mfpu=neon +endif endif ifeq ($(BR2_i386),y)