ffmpeg: disable for ARMv7-M
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 10 Aug 2016 21:29:02 +0000 (23:29 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 11 Aug 2016 13:03:46 +0000 (15:03 +0200)
In the ffmpeg code, libavutil/arm/asm.S makes some assumption about the
ARM architecture for which the code is built. Only ARMv4, ARMv5, ARMv6
and ARMv7-A is supported. Due to this, object files built out of
ARM-optimized assembly code have the wrong architecture information,
causing a failure at link time.

Adding ARMv7-M support would be possible, but it doesn't exist yet in
ffmpeg, and it's pretty unlikely that ffmpeg will ever be needed on an
ARMv7-M platform, so this commit takes the simple approach of disabling
ffmpeg for ARMv7-M.

Fixes:

  http://autobuild.buildroot.net/results/ca4c67b093afd6f14349fcdc87b02e0480172e8c/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/ffmpeg/Config.in

index 096ff95c2955cce9890d81225f80bb9f72492cb1..3a7bfd3122133a4f7390cbc2f816acdcd51231b1 100644 (file)
@@ -2,7 +2,9 @@ config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
        bool
        # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
        # ffmpeg's configure script only supports mips64 (r1) variant
-       default y if !BR2_nios2 && !BR2_mips_64r2 && !BR2_mips_64r6
+       # No support for ARMv7-M in the ARM assembly logic
+       default y if !BR2_nios2 && !BR2_mips_64r2 && !BR2_mips_64r6 && \
+               !BR2_ARM_CPU_ARMV7M
 
 menuconfig BR2_PACKAGE_FFMPEG
        bool "ffmpeg"