package/ffmpeg: Fix i586 compilation with gcc5
authorBernd Kuhls <bernd.kuhls@t-online.de>
Sat, 20 Jun 2015 19:44:55 +0000 (21:44 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 5 Jul 2015 12:43:16 +0000 (14:43 +0200)
In file included from libavcodec/cabac_functions.h:46:0,
                 from libavcodec/h264_cabac.c:37:
libavcodec/h264_cabac.c: In function 'ff_h264_decode_mb_cabac':
libavcodec/x86/cabac.h:192:5: error: 'asm' operand has impossible constraints
     __asm__ volatile(

To reproduce the bug use this defconfig:

BR2_GCC_VERSION_5_1_X=y
BR2_PACKAGE_FFMPEG=y
BR2_PACKAGE_FFMPEG_GPL=y
BR2_PACKAGE_FFMPEG_NONFREE=y
BR2_PACKAGE_FFMPEG_FFPLAY=y
BR2_PACKAGE_FFMPEG_FFSERVER=y
BR2_PACKAGE_FFMPEG_FFPROBE=y
BR2_PACKAGE_FFMPEG_AVRESAMPLE=y
BR2_PACKAGE_FFMPEG_POSTPROC=y

[Thomas: add a comment in the code.]

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/ffmpeg/ffmpeg.mk

index 787dbb18844464fefff4e9b0fb57e47ffe0eeef0..94aec4b74f875da2f359368ea9c0b41ba1fca5fe 100644 (file)
@@ -261,6 +261,11 @@ ifeq ($(BR2_X86_CPU_HAS_MMX),y)
 FFMPEG_CONF_OPTS += --enable-yasm
 FFMPEG_DEPENDENCIES += host-yasm
 else
+ifeq ($(BR2_x86_i586),y)
+# Needed to work around a bug with gcc 5.x:
+# error: 'asm' operand has impossible constraints
+FFMPEG_CONF_OPTS += --disable-inline-asm
+endif
 FFMPEG_CONF_OPTS += --disable-yasm
 FFMPEG_CONF_OPTS += --disable-mmx
 endif