package/gstreamer/gst-ffmpeg: re-enable package when gcc bug 85180 is present
authorGiulio Benetti <giulio.benetti@micronovasrl.com>
Tue, 21 May 2019 13:39:27 +0000 (15:39 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Fri, 24 May 2019 20:16:08 +0000 (22:16 +0200)
With Microblaze Gcc version < 8.x the build hangs to gcc bug 85180:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180. This package has
been excluded from building if the toolchain is affected by gcc bug
85180. To be consistent with how we deal with this issue in other
packages, we re-enable the package and instead work around the issue
by building with -O0, since gcc bug 85180 manifests itself only when
optimization is enabled.

To achieve this:

- add --disable-optimizations to EXTRA_OPTS, which gets passed down to
  the built-in libav library
- pass -O0 to CFLAGS in CONF_ENV

Then we remove 'depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85180' and its
comment if not available from Config.in

Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
[Thomas: tweak CFLAGS logic, improve commit log]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/gstreamer/gst-ffmpeg/Config.in
package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk

index 1e95d016f64f0dc709176e679ade12f609fd23d1..32bfdd53c6b5b75954c340f8d97203629814f567 100644 (file)
@@ -5,7 +5,6 @@ config BR2_PACKAGE_GST_FFMPEG
        depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
        # triggers https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65151 on sh
        depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_sh
-       depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85180
        select BR2_PACKAGE_GST_PLUGINS_BASE
        help
          GStreamer plugin containing one plugin with a set of
@@ -29,6 +28,3 @@ endif
 
 comment "gst-ffmpeg needs a toolchain w/ gcc >= 5"
        depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 && BR2_sh
-
-comment "gst-ffmpeg needs a toolchain not affected by GCC bug 85180"
-       depends on BR2_TOOLCHAIN_HAS_GCC_BUG_85180
index 6f41efb0a53379edfef8f432795d8a2e3c63561f..0d584a15b17eb2e2394f929a8bfba0ac4189c452 100644 (file)
@@ -90,6 +90,14 @@ ifeq ($(BR2_STATIC_LIBS),)
 GST_FFMPEG_CONF_EXTRA_OPTS += --enable-pic
 endif
 
+GST_FFMPEG_CFLAGS = $(TARGET_CFLAGS)
+
+ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
+GST_FFMPEG_CONF_EXTRA_OPTS += --disable-optimizations
+GST_FFMPEG_CFLAGS += -O0
+endif
+
+GST_FFMPEG_CONF_ENV += CFLAGS="$(GST_FFMPEG_CFLAGS)"
 GST_FFMPEG_CONF_OPTS += --with-ffmpeg-extra-configure="$(GST_FFMPEG_CONF_EXTRA_OPTS)"
 
 $(eval $(autotools-package))