Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] package/ffmpeg: Fix x86 compilation with gcc5
@ 2015-06-14 17:11 Bernd Kuhls
  2015-06-14 17:11 ` [Buildroot] [PATCH 2/2] package/libgpg-error: Fix " Bernd Kuhls
  2015-06-14 20:56 ` [Buildroot] [PATCH 1/2] package/ffmpeg: Fix x86 " Thomas Petazzoni
  0 siblings, 2 replies; 4+ messages in thread
From: Bernd Kuhls @ 2015-06-14 17:11 UTC (permalink / raw)
  To: buildroot

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_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_BINUTILS_VERSION_2_25=y
BR2_GCC_VERSION_5_1_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_FFMPEG=y
BR2_PACKAGE_FFMPEG_GPL=y
BR2_PACKAGE_FFMPEG_FFMPEG=y
BR2_PACKAGE_FFMPEG_POSTPROC=y
BR2_PACKAGE_FFMPEG_SWSCALE=y
BR2_PACKAGE_FFMPEG_ENCODERS="all"
BR2_PACKAGE_FFMPEG_DECODERS="all"
BR2_PACKAGE_FFMPEG_MUXERS="all"
BR2_PACKAGE_FFMPEG_DEMUXERS="all"
BR2_PACKAGE_FFMPEG_PARSERS="all"
BR2_PACKAGE_FFMPEG_BSFS="all"
BR2_PACKAGE_FFMPEG_PROTOCOLS="all"
BR2_PACKAGE_FFMPEG_FILTERS="all"
BR2_PACKAGE_FFMPEG_INDEVS=y
BR2_PACKAGE_FFMPEG_OUTDEVS=y
BR2_PACKAGE_FFMPEG_EXTRACONF=""

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/ffmpeg/ffmpeg.mk |    1 +
 1 file changed, 1 insertion(+)

diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
index 41ac616..479625c 100644
--- a/package/ffmpeg/ffmpeg.mk
+++ b/package/ffmpeg/ffmpeg.mk
@@ -261,6 +261,7 @@ ifeq ($(BR2_X86_CPU_HAS_MMX),y)
 FFMPEG_CONF_OPTS += --enable-yasm
 FFMPEG_DEPENDENCIES += host-yasm
 else
+FFMPEG_CONF_OPTS += --disable-asm
 FFMPEG_CONF_OPTS += --disable-yasm
 FFMPEG_CONF_OPTS += --disable-mmx
 endif
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 2/2] package/libgpg-error: Fix compilation with gcc5
  2015-06-14 17:11 [Buildroot] [PATCH 1/2] package/ffmpeg: Fix x86 compilation with gcc5 Bernd Kuhls
@ 2015-06-14 17:11 ` Bernd Kuhls
  2015-06-14 21:08   ` Thomas Petazzoni
  2015-06-14 20:56 ` [Buildroot] [PATCH 1/2] package/ffmpeg: Fix x86 " Thomas Petazzoni
  1 sibling, 1 reply; 4+ messages in thread
From: Bernd Kuhls @ 2015-06-14 17:11 UTC (permalink / raw)
  To: buildroot


Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 .../0001-avoid-breakage-with-gcc-5.patch           |   56 ++++++++++++++++++++
 package/libgpg-error/libgpg-error.mk               |    3 ++
 2 files changed, 59 insertions(+)
 create mode 100644 package/libgpg-error/0001-avoid-breakage-with-gcc-5.patch

diff --git a/package/libgpg-error/0001-avoid-breakage-with-gcc-5.patch b/package/libgpg-error/0001-avoid-breakage-with-gcc-5.patch
new file mode 100644
index 0000000..96dc569
--- /dev/null
+++ b/package/libgpg-error/0001-avoid-breakage-with-gcc-5.patch
@@ -0,0 +1,56 @@
+Patch ported from Debian
+http://anonscm.debian.org/cgit/pkg-gnupg/libgpg-error.git/diff/?id=c3d7571
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+
+
+From 91da4f5dbbc9d93975ef9753652a4e71719f9f27 Mon Sep 17 00:00:00 2001
+From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+Date: Mon, 16 Mar 2015 13:26:00 -0400
+Subject: [LIBGPG-ERROR PATCH] avoid breakage with gcc 5
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+ * src/Makefile.am: add -P to the C preprocessor when building
+   mkerrcodes.h, to avoid a noisy intermediate pipeline.
+
+--
+
+With gcc 5 without this patch, we see many errors like the following:
+
+gcc -I. -I. -o mkerrcodes ./mkerrcodes.c
+In file included from ./mkerrcodes.c:26:0:
+./mkerrcodes.h:9:5: error: expected expression before ?,? token
+   { , "GPG_ERR_E2BIG" },
+     ^
+./mkerrcodes.h:10:5: error: expected expression before ?,? token
+   { , "GPG_ERR_EACCES" },
+     ^
+
+This patch cleans up the generated mkerrcodes.h by making the
+intermediate stage clean for all the versions of gcc i tested (4.x and
+5).
+
+Debian-Bug-Id: 777374
+Signed-Off-By: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+---
+ src/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 99c2c53..f847a80 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -213,7 +213,7 @@ code-to-errno.h: Makefile mkerrnos.awk errnos.in
+ # It is correct to use $(CPP).  We want the host's idea of the error codes.
+ mkerrcodes.h: Makefile mkerrcodes.awk $(gpg_extra_headers)
+ 	$(AWK) -f $(srcdir)/mkerrcodes1.awk $(srcdir)/errnos.in >_$@
+-	$(CPP) $(CPPFLAGS) $(extra_cppflags) _$@ | grep GPG_ERR_ | \
++	$(CPP) $(CPPFLAGS) $(extra_cppflags) -P _$@ | grep GPG_ERR_ | \
+                $(AWK) -f $(srcdir)/mkerrcodes.awk >$@
+ 	-rm _$@
+ 
+-- 
+2.1.4
+
diff --git a/package/libgpg-error/libgpg-error.mk b/package/libgpg-error/libgpg-error.mk
index 9f5f6c2..52b7058 100644
--- a/package/libgpg-error/libgpg-error.mk
+++ b/package/libgpg-error/libgpg-error.mk
@@ -10,5 +10,8 @@ LIBGPG_ERROR_LICENSE = LGPLv2.1+
 LIBGPG_ERROR_LICENSE_FILES = COPYING.LIB
 LIBGPG_ERROR_INSTALL_STAGING = YES
 LIBGPG_ERROR_CONFIG_SCRIPTS = gpg-error-config
+# we patch src/Makefile.am
+LIBGPG_ERROR_AUTORECONF = YES
+LIBGPG_ERROR_GETTEXTIZE = YES
 
 $(eval $(autotools-package))
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 1/2] package/ffmpeg: Fix x86 compilation with gcc5
  2015-06-14 17:11 [Buildroot] [PATCH 1/2] package/ffmpeg: Fix x86 compilation with gcc5 Bernd Kuhls
  2015-06-14 17:11 ` [Buildroot] [PATCH 2/2] package/libgpg-error: Fix " Bernd Kuhls
@ 2015-06-14 20:56 ` Thomas Petazzoni
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2015-06-14 20:56 UTC (permalink / raw)
  To: buildroot

Dear Bernd Kuhls,

On Sun, 14 Jun 2015 19:11:11 +0200, Bernd Kuhls wrote:

> diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
> index 41ac616..479625c 100644
> --- a/package/ffmpeg/ffmpeg.mk
> +++ b/package/ffmpeg/ffmpeg.mk
> @@ -261,6 +261,7 @@ ifeq ($(BR2_X86_CPU_HAS_MMX),y)
>  FFMPEG_CONF_OPTS += --enable-yasm
>  FFMPEG_DEPENDENCIES += host-yasm
>  else
> +FFMPEG_CONF_OPTS += --disable-asm

This will actually disable *all* ASM based optimizations, in all cases
(except on x86 with MMX). So it will potentially cause some severe
performance degradation, even if you're not using gcc 5.1. Shouldn't we
instead report the bug to upstream ffmpeg ?

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 2/2] package/libgpg-error: Fix compilation with gcc5
  2015-06-14 17:11 ` [Buildroot] [PATCH 2/2] package/libgpg-error: Fix " Bernd Kuhls
@ 2015-06-14 21:08   ` Thomas Petazzoni
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2015-06-14 21:08 UTC (permalink / raw)
  To: buildroot

Dear Bernd Kuhls,

On Sun, 14 Jun 2015 19:11:12 +0200, Bernd Kuhls wrote:
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
>  .../0001-avoid-breakage-with-gcc-5.patch           |   56 ++++++++++++++++++++
>  package/libgpg-error/libgpg-error.mk               |    3 ++
>  2 files changed, 59 insertions(+)
>  create mode 100644 package/libgpg-error/0001-avoid-breakage-with-gcc-5.patch

Applied, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-06-14 21:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-14 17:11 [Buildroot] [PATCH 1/2] package/ffmpeg: Fix x86 compilation with gcc5 Bernd Kuhls
2015-06-14 17:11 ` [Buildroot] [PATCH 2/2] package/libgpg-error: Fix " Bernd Kuhls
2015-06-14 21:08   ` Thomas Petazzoni
2015-06-14 20:56 ` [Buildroot] [PATCH 1/2] package/ffmpeg: Fix x86 " Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox