From 9682fcaf465cfeb56cbdf06c85b32d378032799e Mon Sep 17 00:00:00 2001 From: Stefan Becker Date: Thu, 3 Aug 2017 12:05:45 +0300 Subject: [PATCH 01/27] package/skeleton-common: fix recursive variable This fixes a recursive variable definition introduced by the refactoring in commit 120307520f69f801bf05df1d2fd3433c6d498551. Simply rename the hook to remove the recursion. Fixes https://bugs.busybox.net/show_bug.cgi?id=10146 Signed-off-by: Stefan Becker --- package/skeleton-common/skeleton-common.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/skeleton-common/skeleton-common.mk b/package/skeleton-common/skeleton-common.mk index e9b87c3fd3..e94dd6e14d 100644 --- a/package/skeleton-common/skeleton-common.mk +++ b/package/skeleton-common/skeleton-common.mk @@ -75,16 +75,16 @@ endef SKELETON_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_COMMON_SET_ROOT_PASSWD ifeq ($(BR2_SYSTEM_BIN_SH_NONE),y) -define SKELETON_COMMON_BIN_SH +define SKELETON_COMMON_SET_BIN_SH rm -f $(TARGET_DIR)/bin/sh endef else ifneq ($(SKELETON_COMMON_BIN_SH),) -define SKELETON_COMMON_BIN_SH +define SKELETON_COMMON_SET_BIN_SH ln -sf $(SKELETON_COMMON_BIN_SH) $(TARGET_DIR)/bin/sh endef endif endif -SKELETON_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_COMMON_BIN_SH +SKELETON_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_COMMON_SET_BIN_SH $(eval $(generic-package)) From 5a5e76381f8b000baa09c902ca89d45725c47f04 Mon Sep 17 00:00:00 2001 From: Marcus Hoffmann Date: Fri, 4 Aug 2017 18:58:32 +0200 Subject: [PATCH 02/27] dbus: add upstream patch to fix startup hang with with expat >= 2.2.1 After c0ad6ded018ffbc33f7f5 expat: security bump to version 2.2.1 the system can hang on startup under certain circumstances. This happens when: * we use systemd as init system * the random nonblocking pool takes a while to initialize * this apparently doesn't happen on qemu, so this would not have been caught by the runtime testing infrastructure * it also doesn't seem to happen when network booting For a more detailed description of the bug see here: https://bugs.freedesktop.org/show_bug.cgi?id=101858 The patch should be in next dbus version 1.10.24 Set DBUS_AUTORECONF = YES because configure.ac is changed. Signed-off-by: Marcus Hoffmann [Arnout: add upstream commit sha + Marcus's Sob to the patch] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- ...pat-Tell-Expat-not-to-defend-against.patch | 78 +++++++++++++++++++ package/dbus/dbus.mk | 3 + 2 files changed, 81 insertions(+) create mode 100644 package/dbus/0001-config-loader-expat-Tell-Expat-not-to-defend-against.patch diff --git a/package/dbus/0001-config-loader-expat-Tell-Expat-not-to-defend-against.patch b/package/dbus/0001-config-loader-expat-Tell-Expat-not-to-defend-against.patch new file mode 100644 index 0000000000..fd9e01dad5 --- /dev/null +++ b/package/dbus/0001-config-loader-expat-Tell-Expat-not-to-defend-against.patch @@ -0,0 +1,78 @@ +From 1252dc1d1f465b8ab6b36ff7252e395e66a040cf Mon Sep 17 00:00:00 2001 +From: Simon McVittie +Date: Fri, 21 Jul 2017 10:46:39 +0100 +Subject: [PATCH 1/2] config-loader-expat: Tell Expat not to defend against + hash collisions + +By default, Expat uses cryptographic-quality random numbers as a salt for +its hash algorithm, and since 2.2.1 it gets them from the getrandom +syscall on Linux. That syscall refuses to return any entropy until the +kernel's CSPRNG (random pool) has been initialized. Unfortunately, this +can take as long as 40 seconds on embedded devices with few entropy +sources, which is too long: if the system dbus-daemon blocks for that +length of time, important D-Bus clients like systemd and systemd-logind +time out and fail to connect to it. + +We're parsing small configuration files here, and we trust them +completely, so we don't need to defend against hash collisions: nobody +is going to be crafting them to cause pathological performance. + +Bug: https://bugs.freedesktop.org/show_bug.cgi?id=101858 +Signed-off-by: Simon McVittie +Tested-by: Christopher Hewitt +Reviewed-by: Philip Withnall + +Upstream commit 1252dc1d1f465b8ab6b36ff7252e395e66a040cf +Signed-off-by: Marcus Hoffmann +--- + bus/config-loader-expat.c | 14 ++++++++++++++ + configure.ac | 8 ++++++++ + 2 files changed, 22 insertions(+) + +diff --git a/bus/config-loader-expat.c b/bus/config-loader-expat.c +index b571fda3..27cbe2d0 100644 +--- a/bus/config-loader-expat.c ++++ b/bus/config-loader-expat.c +@@ -203,6 +203,20 @@ bus_config_load (const DBusString *file, + goto failed; + } + ++ /* We do not need protection against hash collisions (CVE-2012-0876) ++ * because we are only parsing trusted XML; and if we let Expat block ++ * waiting for the CSPRNG to be initialized, as it does by default to ++ * defeat CVE-2012-0876, it can cause timeouts during early boot on ++ * entropy-starved embedded devices. ++ * ++ * TODO: When Expat gets a more explicit API for this than ++ * XML_SetHashSalt, check for that too, and use it preferentially. ++ * https://github.com/libexpat/libexpat/issues/91 */ ++#if defined(HAVE_XML_SETHASHSALT) ++ /* Any nonzero number will do. https://xkcd.com/221/ */ ++ XML_SetHashSalt (expat, 4); ++#endif ++ + if (!_dbus_string_get_dirname (file, &dirname)) + { + dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL); +diff --git a/configure.ac b/configure.ac +index 52da11fb..c4022ed7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -938,6 +938,14 @@ XML_CFLAGS= + AC_SUBST([XML_CFLAGS]) + AC_SUBST([XML_LIBS]) + ++save_cflags="$CFLAGS" ++save_libs="$LIBS" ++CFLAGS="$CFLAGS $XML_CFLAGS" ++LIBS="$LIBS $XML_LIBS" ++AC_CHECK_FUNCS([XML_SetHashSalt]) ++CFLAGS="$save_cflags" ++LIBS="$save_libs" ++ + # Thread lib detection + AC_ARG_VAR([THREAD_LIBS]) + save_libs="$LIBS" +-- +2.11.0 + diff --git a/package/dbus/dbus.mk b/package/dbus/dbus.mk index 1e3b462299..a2f81cdbef 100644 --- a/package/dbus/dbus.mk +++ b/package/dbus/dbus.mk @@ -6,6 +6,9 @@ DBUS_VERSION = 1.10.22 DBUS_SITE = https://dbus.freedesktop.org/releases/dbus + +# 0001-config-loader-expat-Tell-Expat-not-to-defend-against.patch +DBUS_AUTORECONF = YES DBUS_LICENSE = AFL-2.1 or GPL-2.0+ (library, tools), GPL-2.0+ (tools) DBUS_LICENSE_FILES = COPYING DBUS_INSTALL_STAGING = YES From dcfdf82e536cab7cd94ad057b25bc392e985de9f Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Thu, 3 Aug 2017 23:58:12 +0200 Subject: [PATCH 03/27] gdb: drop support for Microblaze Microblaze support was never upstreamed in gdb. We currently use a gdb from the Xilinx Github repository, but this gdb is based on 7.6, and has never been updated in the last 4 years. There are no other active branches at https://github.com/Xilinx/gdb/branches. Xilinx has a slightly newer gdb, based on 7.7, available at https://github.com/Xilinx/meta-xilinx/tree/master/recipes-microblaze/gdb. However, it's apparently only available in the form of stack of big patches (https://github.com/Xilinx/meta-xilinx/tree/master/recipes-microblaze/gdb/files). Currently, gdb on Microblaze fails to build in various conditions: * Against glibc, with "error: conflicting types for 'ps_lgetfpregs'" * Against musl, with "error: unknown type name 'elf_gregset_t'" While those issues can probably be fixed, the fact that there is no active upstream significantly reduces the incentive to fix those problems. Therefore, let's drop support for gdb on Microblaze entirely. Signed-off-by: Thomas Petazzoni Acked-by: Arnout Vandecappelle (Essensium/Mind) Acked-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/gdb/Config.in | 5 +++-- package/gdb/Config.in.host | 5 ++--- package/gdb/gdb.hash | 1 - package/gdb/gdb.mk | 6 ------ 4 files changed, 5 insertions(+), 12 deletions(-) diff --git a/package/gdb/Config.in b/package/gdb/Config.in index 67ef010920..af020f40c5 100644 --- a/package/gdb/Config.in +++ b/package/gdb/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_GDB_ARCH_SUPPORTS default y depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT) depends on !BR2_bfin + depends on !BR2_microblaze depends on !BR2_nios2 depends on !BR2_or1k @@ -47,11 +48,11 @@ config BR2_PACKAGE_GDB_SERVER config BR2_PACKAGE_GDB_DEBUGGER bool "full debugger" depends on BR2_USE_WCHAR - depends on !BR2_sh && !BR2_microblaze + depends on !BR2_sh select BR2_PACKAGE_NCURSES comment "full gdb on target needs a toolchain w/ wchar" - depends on !BR2_sh && !BR2_microblaze + depends on !BR2_sh depends on !BR2_USE_WCHAR if BR2_PACKAGE_GDB_DEBUGGER diff --git a/package/gdb/Config.in.host b/package/gdb/Config.in.host index 6a3037da3a..93dfa67b3c 100644 --- a/package/gdb/Config.in.host +++ b/package/gdb/Config.in.host @@ -7,6 +7,7 @@ config BR2_PACKAGE_HOST_GDB # toolchain should be used. depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT) + depends on !BR2_microblaze depends on !BR2_nios2 depends on !BR2_or1k help @@ -29,7 +30,7 @@ config BR2_PACKAGE_HOST_GDB_PYTHON config BR2_PACKAGE_HOST_GDB_SIM bool "Simulator support" - depends on !BR2_arc && !BR2_microblaze + depends on !BR2_arc help This option enables the simulator support in the cross gdb. @@ -37,7 +38,6 @@ choice prompt "GDB debugger Version" default BR2_GDB_VERSION_7_11 depends on !BR2_arc - depends on !BR2_microblaze help Select the version of gdb you wish to use. @@ -65,7 +65,6 @@ endif config BR2_GDB_VERSION string default "arc-2017.03-gdb" if BR2_arc - default "6be65fb56ea6694a9260733a536a023a1e2d4d57" if BR2_microblaze default "7.10.1" if BR2_GDB_VERSION_7_10 default "7.11.1" if BR2_GDB_VERSION_7_11 || !BR2_PACKAGE_HOST_GDB default "7.12.1" if BR2_GDB_VERSION_7_12 diff --git a/package/gdb/gdb.hash b/package/gdb/gdb.hash index 098d20a34b..a4fd8bca7e 100644 --- a/package/gdb/gdb.hash +++ b/package/gdb/gdb.hash @@ -5,5 +5,4 @@ sha512 0ac8d0a495103611ef41167a08313a010dce6ca4c6d827cbe8558a0c1a1a8a6bfa53f1b7 sha512 e4044bdd162cbf95044ec1eaa44d2fa62a33e051bdbbacbc97afd4dfb07bae1bea514381fc1966aede89d6796ef2377a15748a93d95e2ad494c8497db489e886 gdb-8.0.tar.xz # Locally calculated (fetched from Github) -sha512 0a467091d4b01fbecabb4b8da1cb743025c70e7f4874a0b5c8fa2ec623569a39bde6762b91806de0be6e63711aeb6909715cfbe43860de73d8aec6159a9f10a7 gdb-6be65fb56ea6694a9260733a536a023a1e2d4d57.tar.gz sha512 8ec849a5ea1c16f104c51c4813c35ab229e460eef0025967673b87316f62b5171f05448cda018464914d43d2da50b2902eb7f9f060d0af1368a9db111f959668 gdb-arc-2017.03-gdb.tar.gz diff --git a/package/gdb/gdb.mk b/package/gdb/gdb.mk index 1fef0d4f5e..7e86ba0c7e 100644 --- a/package/gdb/gdb.mk +++ b/package/gdb/gdb.mk @@ -14,12 +14,6 @@ GDB_SOURCE = gdb-$(GDB_VERSION).tar.gz GDB_FROM_GIT = y endif -ifeq ($(BR2_microblaze),y) -GDB_SITE = $(call github,Xilinx,gdb,$(GDB_VERSION)) -GDB_SOURCE = gdb-$(GDB_VERSION).tar.gz -GDB_FROM_GIT = y -endif - GDB_LICENSE = GPL-2.0+, LGPL-2.0+, GPL-3.0+, LGPL-3.0+ GDB_LICENSE_FILES = COPYING COPYING.LIB COPYING3 COPYING3.LIB From cf821efbd0b24690b52f379d4a9934a16073762e Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Thu, 3 Aug 2017 23:30:27 +0200 Subject: [PATCH 04/27] glibc: add patch fixing the build with binutils 2.29 Fixes the following build failure, which occurs on all architectures: /tmp/cc6APNmN.s: Assembler messages: /tmp/cc6APNmN.s: Error: `loc1@GLIBC_2.17' can't be versioned to common symbol 'loc1' /tmp/cc6APNmN.s: Error: `loc2@GLIBC_2.17' can't be versioned to common symbol 'loc2' /tmp/cc6APNmN.s: Error: `locs@GLIBC_2.17' can't be versioned to common symbol 'locs' ../o-iterator.mk:9: recipe for target '/tmp/output/build/glibc-2.25/build/misc/regexp.os' failed Signed-off-by: Thomas Petazzoni Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- .../glibc/0005-fix-binutils-2-29-build.patch | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 package/glibc/0005-fix-binutils-2-29-build.patch diff --git a/package/glibc/0005-fix-binutils-2-29-build.patch b/package/glibc/0005-fix-binutils-2-29-build.patch new file mode 100644 index 0000000000..47fcd2f84e --- /dev/null +++ b/package/glibc/0005-fix-binutils-2-29-build.patch @@ -0,0 +1,65 @@ +From: H.J. Lu +Date: Fri, 23 Jun 2017 21:38:46 +0000 (-0700) +Subject: Avoid .symver on common symbols [BZ #21666] +X-Git-Tag: glibc-2.26~241 +X-Git-Url: https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff_plain;h=388b4f1a02f3a801965028bbfcd48d905638b797 + +Avoid .symver on common symbols [BZ #21666] + +The .symver directive on common symbol just creates a new common symbol, +not an alias and the newer assembler with the bug fix for + +https://sourceware.org/bugzilla/show_bug.cgi?id=21661 + +will issue an error. Before the fix, we got + +$ readelf -sW libc.so | grep "loc[12s]" + 5109: 00000000003a0608 8 OBJECT LOCAL DEFAULT 36 loc1 + 5188: 00000000003a0610 8 OBJECT LOCAL DEFAULT 36 loc2 + 5455: 00000000003a0618 8 OBJECT LOCAL DEFAULT 36 locs + 6575: 00000000003a05f0 8 OBJECT GLOBAL DEFAULT 36 locs@GLIBC_2.2.5 + 7156: 00000000003a05f8 8 OBJECT GLOBAL DEFAULT 36 loc1@GLIBC_2.2.5 + 7312: 00000000003a0600 8 OBJECT GLOBAL DEFAULT 36 loc2@GLIBC_2.2.5 + +in libc.so. The versioned loc1, loc2 and locs have the wrong addresses. +After the fix, we got + +$ readelf -sW libc.so | grep "loc[12s]" + 6570: 000000000039e3b8 8 OBJECT GLOBAL DEFAULT 34 locs@GLIBC_2.2.5 + 7151: 000000000039e3c8 8 OBJECT GLOBAL DEFAULT 34 loc1@GLIBC_2.2.5 + 7307: 000000000039e3c0 8 OBJECT GLOBAL DEFAULT 34 loc2@GLIBC_2.2.5 + + [BZ #21666] + * misc/regexp.c (loc1): Add __attribute__ ((nocommon)); + (loc2): Likewise. + (locs): Likewise. + +Signed-off-by: Thomas Petazzoni +[Backported from upstream commit +388b4f1a02f3a801965028bbfcd48d905638b797, to fix the build with +binutils 2.29.] +--- +diff --git a/misc/regexp.c b/misc/regexp.c +index 19d76c0..eaea7c3 100644 +--- a/misc/regexp.c ++++ b/misc/regexp.c +@@ -29,14 +29,15 @@ + + #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_23) + +-/* Define the variables used for the interface. */ +-char *loc1; +-char *loc2; ++/* Define the variables used for the interface. Avoid .symver on common ++ symbol, which just creates a new common symbol, not an alias. */ ++char *loc1 __attribute__ ((nocommon)); ++char *loc2 __attribute__ ((nocommon)); + compat_symbol (libc, loc1, loc1, GLIBC_2_0); + compat_symbol (libc, loc2, loc2, GLIBC_2_0); + + /* Although we do not support the use we define this variable as well. */ +-char *locs; ++char *locs __attribute__ ((nocommon)); + compat_symbol (libc, locs, locs, GLIBC_2_0); + + From 03d5dad05f3f075507b63913da067e691e69bc43 Mon Sep 17 00:00:00 2001 From: Angelo Compagnucci Date: Tue, 8 Aug 2017 15:18:29 +0200 Subject: [PATCH 05/27] linux: bump cip version to v4.4.75-cip6 Signed-off-by: Angelo Compagnucci Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- linux/Config.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/linux/Config.in b/linux/Config.in index 1622f01964..59cb3af52c 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -29,7 +29,7 @@ config BR2_LINUX_KERNEL_LATEST_VERSION bool "Latest version (4.12.4)" config BR2_LINUX_KERNEL_LATEST_CIP_VERSION - bool "Latest CIP SLTS version (v4.4.55-cip3)" + bool "Latest CIP SLTS version (v4.4.75-cip6)" help CIP launched in the spring of 2016 to address the needs of organizations in industries such as power generation and @@ -117,7 +117,7 @@ endif config BR2_LINUX_KERNEL_VERSION string default "4.12.4" if BR2_LINUX_KERNEL_LATEST_VERSION - default "v4.4.55-cip3" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION + default "v4.4.75-cip6" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ if BR2_LINUX_KERNEL_CUSTOM_VERSION default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL From 2d29f050d548d9c5b6ef6002104e9341219c4356 Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Mon, 7 Aug 2017 23:15:44 +0200 Subject: [PATCH 06/27] qt5base: fix examples compile without opengl support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes [1]: make[1]: Entering directory '.../build/qt5base-5.9.1/examples/opengl' cd hellowindow/ && ( test -e Makefile || .../build/qt5base-5.9.1/bin/qmake -o Makefile .../build/qt5base-5.9.1/examples/opengl/hellowindow/hellowindow.pro ) && make -f Makefile make[2]: Entering directory '.../build/qt5base-5.9.1/examples/opengl/hellowindow' .../host/bin/sparc-linux-g++ -c -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os --sysroot=.../host/sparc-buildroot-linux-uclibc/sysroot -O2 -O3 -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I. -I../../../include/QtGui/5.9.1 -I../../../include/QtGui/5.9.1/QtGui -I../../../include -I../../../include/QtGui -I../../../include/QtCore/5.9.1 -I../../../include/QtCore/5.9.1/QtCore -I../../../include/QtCore -I.moc -I../../../mkspecs/devices/linux-buildroot-g++ -o .obj/hellowindow.o hellowindow.cpp In file included from hellowindow.cpp:51:0: hellowindow.h:96:5: error: ‘QOpenGLShaderProgram’ does not name a type QOpenGLShaderProgram *m_program; ^~~~~~~~~~~~~~~~~~~~ hellowindow.h:97:5: error: ‘QOpenGLBuffer’ does not name a type QOpenGLBuffer m_vbo; ^~~~~~~~~~~~~ hellowindow.cpp: In constructor ‘Renderer::Renderer(const QSurfaceFormat&, Renderer*, QScreen*)’: hellowindow.cpp:62:40: error: invalid use of incomplete type ‘class QOpenGLContext’ m_context = new QOpenGLContext(this); ^ In file included from ../../../include/QtGui/qsurfaceformat.h:1:0, from ../../../include/QtGui/../../src/gui/kernel/qsurface.h:45, from ../../../include/QtGui/qsurface.h:1, from ../../../include/QtGui/../../src/gui/kernel/qwindow.h:51, from ../../../include/QtGui/qwindow.h:1, from ../../../include/QtGui/QWindow:1, from hellowindow.h:51, from hellowindow.cpp:51: [1] http://autobuild.buildroot.net/results/001/001bc930014fca8c2a8b7a390350b4e1a15fa375/build-end.log Signed-off-by: Peter Seiderer Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- ...s-fix-compile-without-opengl-support.patch | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 package/qt5/qt5base/5.9.1/0002-examples-fix-compile-without-opengl-support.patch diff --git a/package/qt5/qt5base/5.9.1/0002-examples-fix-compile-without-opengl-support.patch b/package/qt5/qt5base/5.9.1/0002-examples-fix-compile-without-opengl-support.patch new file mode 100644 index 0000000000..6735ab63e0 --- /dev/null +++ b/package/qt5/qt5base/5.9.1/0002-examples-fix-compile-without-opengl-support.patch @@ -0,0 +1,33 @@ +From adacb2d6701b12511c5a0e58072236da91ebf810 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Mon, 7 Aug 2017 22:54:11 +0200 +Subject: [PATCH] examples: fix compile without opengl support + +Compile examples/opengl only in case opengl support is available. + +Task-number: QTBUG-62372 +Change-Id: I742a1eb7b7639a5a722c4d5e9b4ee070b629b02e + +Upstream: https://codereview.qt-project.org/201947 +Signed-off-by: Peter Seiderer +--- + examples/examples.pro | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/examples/examples.pro b/examples/examples.pro +index a3851c6d81..d87fa2da88 100644 +--- a/examples/examples.pro ++++ b/examples/examples.pro +@@ -14,7 +14,8 @@ qtHaveModule(concurrent): SUBDIRS += qtconcurrent + qtHaveModule(sql): SUBDIRS += sql + qtHaveModule(widgets): SUBDIRS += widgets + qtHaveModule(xml): SUBDIRS += xml +-qtHaveModule(gui): SUBDIRS += gui opengl ++qtHaveModule(gui): SUBDIRS += gui ++qtHaveModule(gui):qtConfig(opengl): SUBDIRS += opengl + + aggregate.files = aggregate/examples.pro + aggregate.path = $$[QT_INSTALL_EXAMPLES] +-- +2.11.0 + From f6756d69154bb8a68232ff11d4b15a2a8f0788b0 Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Mon, 7 Aug 2017 20:54:14 +0300 Subject: [PATCH 07/27] mutt: fix build with BR2_PACKAGE_SKELETON_NONE BR2_PACKAGE_SKELETON_NONE does not provide the /var subdirectory which breaks symlink creation in that directory. Make sure that /var exists before creating the symlink. Fixes: http://autobuild.buildroot.net/results/32d/32dff0df759baf1120e4f11335e735eb0708b237/ Signed-off-by: Baruch Siach Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/mutt/mutt.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/mutt/mutt.mk b/package/mutt/mutt.mk index abd40e5dd6..b0bf5a7b41 100644 --- a/package/mutt/mutt.mk +++ b/package/mutt/mutt.mk @@ -66,6 +66,7 @@ MUTT_CONF_ENV += \ MUTT_CONF_OPTS += --with-mailpath=/var/mail define MUTT_VAR_MAIL + mkdir -p $(TARGET_DIR)/var ln -sf /tmp $(TARGET_DIR)/var/mail endef MUTT_POST_INSTALL_TARGET_HOOKS += MUTT_VAR_MAIL From 0cfe1332d816d791b86ff353fc0ea99d55d8f2c7 Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Mon, 7 Aug 2017 15:41:34 +0300 Subject: [PATCH 08/27] linux: drop full stop from prompt text We don't add a full stop at the end of the prompt text. Signed-off-by: Baruch Siach Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- linux/Config.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux/Config.in b/linux/Config.in index 59cb3af52c..b654b5d981 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -368,7 +368,7 @@ choice default BR2_LINUX_KERNEL_USE_INTREE_DTS config BR2_LINUX_KERNEL_USE_INTREE_DTS - bool "Use a device tree present in the kernel." + bool "Use a device tree present in the kernel" help Use a device tree source distributed with the kernel sources. The dts files are located From 62782633558acf93658f9c0debd02e87f581d1fd Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 6 Aug 2017 21:30:43 +0200 Subject: [PATCH 09/27] uclibc: fix microblaze runtime error With binutils 2.29 a runtime error is seen: Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100 Backport upstream patch to fix the issue. Signed-off-by: Waldemar Brodkorb Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- ...e-R_MICROBLAZE_NONE-for-ld.so-bootst.patch | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 package/uclibc/0002-microblaze-handle-R_MICROBLAZE_NONE-for-ld.so-bootst.patch diff --git a/package/uclibc/0002-microblaze-handle-R_MICROBLAZE_NONE-for-ld.so-bootst.patch b/package/uclibc/0002-microblaze-handle-R_MICROBLAZE_NONE-for-ld.so-bootst.patch new file mode 100644 index 0000000000..9886efd879 --- /dev/null +++ b/package/uclibc/0002-microblaze-handle-R_MICROBLAZE_NONE-for-ld.so-bootst.patch @@ -0,0 +1,42 @@ +From 9db18d93811153fc9a70c9844fadc6fdf7cbbb64 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Sun, 6 Aug 2017 21:15:50 +0200 +Subject: [PATCH] microblaze: handle R_MICROBLAZE_NONE for ld.so bootstrap + +Latest binutils 2.29 release emits a R_MICROBLAZE_NONE +relocation, which breaks shared library loader bootstrap +relocation. + +Signed-off-by: Waldemar Brodkorb +--- + ldso/ldso/microblaze/dl-startup.h | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/ldso/ldso/microblaze/dl-startup.h b/ldso/ldso/microblaze/dl-startup.h +index 720c53a..16d5762 100644 +--- a/ldso/ldso/microblaze/dl-startup.h ++++ b/ldso/ldso/microblaze/dl-startup.h +@@ -82,18 +82,15 @@ static __always_inline + void PERFORM_BOOTSTRAP_RELOC(ELF_RELOC *rpnt, unsigned long *reloc_addr, + unsigned long symbol_addr, unsigned long load_addr, attribute_unused Elf32_Sym *symtab) + { +- + switch (ELF_R_TYPE(rpnt->r_info)) + { + case R_MICROBLAZE_REL: +- + *reloc_addr = load_addr + rpnt->r_addend; + break; +- ++ case R_MICROBLAZE_NONE: ++ break; + default: + _dl_exit(1); + break; +- + } +- + } +-- +2.1.4 + From 8a8800d156071274be8222dc787b5a0214aa9c02 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 5 Aug 2017 11:34:24 +0200 Subject: [PATCH 10/27] qemu-sparc: update kernel Fixes gcc 7.1.0 compile issues. Signed-off-by: Waldemar Brodkorb Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- configs/qemu_sparc_ss10_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/qemu_sparc_ss10_defconfig b/configs/qemu_sparc_ss10_defconfig index b492f8882e..8c6b563a85 100644 --- a/configs/qemu_sparc_ss10_defconfig +++ b/configs/qemu_sparc_ss10_defconfig @@ -15,6 +15,6 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y # Linux kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.12" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sparc-ss10/linux-4.11.config" From 5cbfab1c20851220345f692f3968163e824b1ceb Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 6 Aug 2017 21:30:07 +0200 Subject: [PATCH 11/27] qemu-sparc64: update kernel This fixes '__multi3' issue when building the kernel. Signed-off-by: Waldemar Brodkorb Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- configs/qemu_sparc64_sun4u_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/qemu_sparc64_sun4u_defconfig b/configs/qemu_sparc64_sun4u_defconfig index 1f4df0614a..072fba79bc 100644 --- a/configs/qemu_sparc64_sun4u_defconfig +++ b/configs/qemu_sparc64_sun4u_defconfig @@ -15,6 +15,6 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y # Linux kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.12" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sparc64-sun4u/linux-4.11.config" From d38797edee9b3e09492616a33c79c23a46d5a7ec Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 6 Aug 2017 15:28:41 +0200 Subject: [PATCH 12/27] linux-headers: bump 4.1.x series Signed-off-by: Bernd Kuhls Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/linux-headers/Config.in.host | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index 90c93bacd9..6f11fcca6c 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -235,7 +235,7 @@ config BR2_DEFAULT_KERNEL_HEADERS default "3.4.113" if BR2_KERNEL_HEADERS_3_4 default "3.10.106" if BR2_KERNEL_HEADERS_3_10 default "3.12.74" if BR2_KERNEL_HEADERS_3_12 - default "4.1.42" if BR2_KERNEL_HEADERS_4_1 + default "4.1.43" if BR2_KERNEL_HEADERS_4_1 default "4.4.79" if BR2_KERNEL_HEADERS_4_4 default "4.9.40" if BR2_KERNEL_HEADERS_4_9 default "4.10.17" if BR2_KERNEL_HEADERS_4_10 From a4a6c74171d2411fa95d92ce489582b3f10ba705 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Mon, 7 Aug 2017 08:19:02 +0200 Subject: [PATCH 13/27] linux-headers: bump 4.{4, 9, 12}.x series Signed-off-by: Bernd Kuhls Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/linux-headers/Config.in.host | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index 6f11fcca6c..9cf6fed77d 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -236,9 +236,9 @@ config BR2_DEFAULT_KERNEL_HEADERS default "3.10.106" if BR2_KERNEL_HEADERS_3_10 default "3.12.74" if BR2_KERNEL_HEADERS_3_12 default "4.1.43" if BR2_KERNEL_HEADERS_4_1 - default "4.4.79" if BR2_KERNEL_HEADERS_4_4 - default "4.9.40" if BR2_KERNEL_HEADERS_4_9 + default "4.4.80" if BR2_KERNEL_HEADERS_4_4 + default "4.9.41" if BR2_KERNEL_HEADERS_4_9 default "4.10.17" if BR2_KERNEL_HEADERS_4_10 default "4.11.12" if BR2_KERNEL_HEADERS_4_11 - default "4.12.4" if BR2_KERNEL_HEADERS_4_12 + default "4.12.5" if BR2_KERNEL_HEADERS_4_12 default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION From 2f33e4556bf5bf078777e88141dc09d0a1a23927 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Mon, 7 Aug 2017 08:19:03 +0200 Subject: [PATCH 14/27] linux: bump default to version 4.12.5 Signed-off-by: Bernd Kuhls Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- linux/Config.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/linux/Config.in b/linux/Config.in index b654b5d981..00613b21a4 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -26,7 +26,7 @@ choice prompt "Kernel version" config BR2_LINUX_KERNEL_LATEST_VERSION - bool "Latest version (4.12.4)" + bool "Latest version (4.12.5)" config BR2_LINUX_KERNEL_LATEST_CIP_VERSION bool "Latest CIP SLTS version (v4.4.75-cip6)" @@ -116,7 +116,7 @@ endif config BR2_LINUX_KERNEL_VERSION string - default "4.12.4" if BR2_LINUX_KERNEL_LATEST_VERSION + default "4.12.5" if BR2_LINUX_KERNEL_LATEST_VERSION default "v4.4.75-cip6" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ if BR2_LINUX_KERNEL_CUSTOM_VERSION From 1291528bde602120ab4b60d23d1a362d44cc5e04 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 6 Aug 2017 15:40:11 +0200 Subject: [PATCH 15/27] linux-headers: aarch64: Prevent selecting unsupported versions Versions older than Linux v3.7 do not support the aarch64 architecture so disable them, for reference see https://kernelnewbies.org/Linux_3.7 Without this patch these defconfigs fail to build BR2_aarch64=y BR2_KERNEL_HEADERS_3_2=y BR2_aarch64=y BR2_KERNEL_HEADERS_3_4=y with error messages like this: make[1]: Entering directory '/home/buildroot/br5_next/output/build/linux-headers-3.2.89' Makefile:567: /home/buildroot/br5_next/output/build/linux-headers-3.2.89/arch/arm64/Makefile: No such file or directory Signed-off-by: Bernd Kuhls Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/linux-headers/Config.in.host | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index 9cf6fed77d..7f07da05f7 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -28,12 +28,12 @@ config BR2_KERNEL_HEADERS_AS_KERNEL config BR2_KERNEL_HEADERS_3_2 bool "Linux 3.2.x kernel headers" - depends on !BR2_arc && !BR2_nios2 + depends on !BR2_aarch64 && !BR2_arc && !BR2_nios2 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 config BR2_KERNEL_HEADERS_3_4 bool "Linux 3.4.x kernel headers" - depends on !BR2_arc && !BR2_nios2 + depends on !BR2_aarch64 && !BR2_arc && !BR2_nios2 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 config BR2_KERNEL_HEADERS_3_10 From 163b6a5b39ad5b11b8ffa1704bc60a4ed09ee6b5 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 5 Aug 2017 15:46:18 +0200 Subject: [PATCH 16/27] glibc: add patch to fix build on x86 This fixes the following build issues: In file included from ../sysdeps/x86_64/multiarch/varshift.c:19:0, from ../sysdeps/i386/i686/multiarch/varshift.c:1: ../sysdeps/x86_64/multiarch/varshift.h: In function '__m128i_shift_right': ../sysdeps/x86_64/multiarch/varshift.h:26:1: error: SSE vector return without SSE enabled changes the ABI [-Werror=psabi] { [...] .../lib/gcc/i686-buildroot-linux-gnu/7.1.0/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch The patch has been taken from glibc's patchwork at https://patchwork.sourceware.org/patch/21003/. Fixes bug #10156. Signed-off-by: Thomas Petazzoni Tested-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- ...IN-libc-guards-to-vectorized-strcspn.patch | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 package/glibc/0006-i686-Add-missing-IS_IN-libc-guards-to-vectorized-strcspn.patch diff --git a/package/glibc/0006-i686-Add-missing-IS_IN-libc-guards-to-vectorized-strcspn.patch b/package/glibc/0006-i686-Add-missing-IS_IN-libc-guards-to-vectorized-strcspn.patch new file mode 100644 index 0000000000..eebf89e599 --- /dev/null +++ b/package/glibc/0006-i686-Add-missing-IS_IN-libc-guards-to-vectorized-strcspn.patch @@ -0,0 +1,47 @@ +From patchwork Wed Jun 14 06:19:50 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: i686: Add missing IS_IN (libc) guards to vectorized strcspn +From: Florian Weimer +X-Patchwork-Id: 21003 +Message-Id: <20170614061950.400FE4010728F@oldenburg.str.redhat.com> +To: libc-alpha@sourceware.org +Date: Wed, 14 Jun 2017 08:19:50 +0200 + +Since commit d957c4d3fa48d685ff2726c605c988127ef99395 (i386: Compile +rtld-*.os with -mno-sse -mno-mmx -mfpmath=387), vector intrinsics can +no longer be used in ld.so, even if the compiled code never makes it +into the final ld.so link. This commit adds the missing IS_IN (libc) +guard to the SSE 4.2 strcspn implementation, so that it can be used from +ld.so in the future. + +2017-06-14 Florian Weimer + + * sysdeps/i386/i686/multiarch/strcspn-c.c: Add IS_IN (libc) guard. + * sysdeps/i386/i686/multiarch/varshift.c: Likewise. + +[Thomas: fixes a build issue of glibc on x86: +sysdeps/x86_64/multiarch/varshift.h:26:1: error: SSE vector return without SSE enabled changes the ABI] +Signed-off-by: Thomas Petazzoni + +diff --git a/sysdeps/i386/i686/multiarch/strcspn-c.c b/sysdeps/i386/i686/multiarch/strcspn-c.c +index 6d61e19..ec230fb 100644 +--- a/sysdeps/i386/i686/multiarch/strcspn-c.c ++++ b/sysdeps/i386/i686/multiarch/strcspn-c.c +@@ -1,2 +1,4 @@ +-#define __strcspn_sse2 __strcspn_ia32 +-#include ++#if IS_IN (libc) ++# define __strcspn_sse2 __strcspn_ia32 ++# include ++#endif +diff --git a/sysdeps/i386/i686/multiarch/varshift.c b/sysdeps/i386/i686/multiarch/varshift.c +index 7760b96..6742a35 100644 +--- a/sysdeps/i386/i686/multiarch/varshift.c ++++ b/sysdeps/i386/i686/multiarch/varshift.c +@@ -1 +1,3 @@ +-#include ++#if IS_IN (libc) ++# include ++#endif From 50ace0bcc31e375adde289215e2b0c728211f886 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 6 Aug 2017 14:58:40 +0200 Subject: [PATCH 17/27] package/jack2: backport two build fixes 0005-gcc7.patch fixes http://autobuild.buildroot.net/results/c06/c0610325d7785dfa51c5d36775623ca8fa517f24/ 0006-fix-ftbfs-with-clang.patch fixes the subsequent build error: common/memops.c.31.o: In function `sample_move_dither_rect_d16_sSs': memops.c:(.text+0x4dc): undefined reference to `fast_rand' Signed-off-by: Bernd Kuhls Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/jack2/0005-gcc7.patch | 31 +++++++++++++++++++ package/jack2/0006-fix-ftbfs-with-clang.patch | 28 +++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 package/jack2/0005-gcc7.patch create mode 100644 package/jack2/0006-fix-ftbfs-with-clang.patch diff --git a/package/jack2/0005-gcc7.patch b/package/jack2/0005-gcc7.patch new file mode 100644 index 0000000000..dadaf44ed9 --- /dev/null +++ b/package/jack2/0005-gcc7.patch @@ -0,0 +1,31 @@ +From f7bccdca651592cc4082b28fd4a01ed6ef8ab655 Mon Sep 17 00:00:00 2001 +From: Kjetil Matheussen +Date: Sat, 15 Jul 2017 13:21:59 +0200 +Subject: [PATCH] Tests: Fix compilation with gcc7 + +Fixes +../tests/test.cpp: In function ‘int process4(jack_nframes_t, void*)’: +../tests/test.cpp:483:73: error: call of overloaded ‘abs(jack_nframes_t)’ is ambiguous + if (delta_time > 0 && (jack_nframes_t)abs(delta_time - cur_buffer_size) > tolerance) { + +Downloaded from upstream commit +https://github.com/jackaudio/jack2/commit/f7bccdca651592cc4082b28fd4a01ed6ef8ab655 + +Signed-off-by: Bernd Kuhls +--- + tests/test.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/test.cpp b/tests/test.cpp +index 8a8a8117..d2ef9a05 100644 +--- a/tests/test.cpp ++++ b/tests/test.cpp +@@ -479,7 +479,7 @@ int process4(jack_nframes_t nframes, void *arg) + jack_nframes_t delta_time = cur_time - last_time; + + Log("calling process4 callback : jack_frame_time = %ld delta_time = %ld\n", cur_time, delta_time); +- if (delta_time > 0 && (jack_nframes_t)abs(delta_time - cur_buffer_size) > tolerance) { ++ if (delta_time > 0 && abs((int64_t)delta_time - (int64_t)cur_buffer_size) > (int64_t)tolerance) { + printf("!!! ERROR !!! jack_frame_time seems to return incorrect values cur_buffer_size = %d, delta_time = %d tolerance %d\n", cur_buffer_size, delta_time, tolerance); + } + diff --git a/package/jack2/0006-fix-ftbfs-with-clang.patch b/package/jack2/0006-fix-ftbfs-with-clang.patch new file mode 100644 index 0000000000..a73fe69e15 --- /dev/null +++ b/package/jack2/0006-fix-ftbfs-with-clang.patch @@ -0,0 +1,28 @@ +From d3c8e2d8d78899fba40a3e677ed4dbe388d82269 Mon Sep 17 00:00:00 2001 +From: Adrian Knoth +Date: Thu, 18 Sep 2014 18:29:23 +0200 +Subject: [PATCH] Fix FTBFS with clang++ + +Forwarded from http://bugs.debian.org/757820 + +Downloaded from upstream commit +https://github.com/jackaudio/jack2/commit/d3c8e2d8d78899fba40a3e677ed4dbe388d82269 + +Signed-off-by: Bernd Kuhls +--- + common/memops.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/common/memops.c b/common/memops.c +index 27f6194a..2d416b64 100644 +--- a/common/memops.c ++++ b/common/memops.c +@@ -198,7 +198,7 @@ static inline __m128i float_24_sse(__m128 s) + */ + static unsigned int seed = 22222; + +-inline unsigned int fast_rand() { ++static inline unsigned int fast_rand() { + seed = (seed * 96314165) + 907633515; + return seed; + } From bb95fef1e0bec4ebc0584001f337438b17c4744d Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Tue, 8 Aug 2017 18:57:58 +0200 Subject: [PATCH 18/27] bind: fix configure in case lmdb devel files are present on the host Fix configure failure in case lmdb devel files are present on the host by adding --without-lmdb option (reported [1] and fix tested [2],[3] by grunpferd@netscape.net). Fixes: checking for lmdb library... yes checking for library containing mdb_env_create... no configure: error: found lmdb include but not library. [1] http://lists.busybox.net/pipermail/buildroot/2017-August/199945.html [2] http://lists.busybox.net/pipermail/buildroot/2017-August/199963.html [3] http://lists.busybox.net/pipermail/buildroot/2017-August/199964.html Signed-off-by: Peter Seiderer Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/bind/bind.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/bind/bind.mk b/package/bind/bind.mk index 988f40e1c2..c65568e9e3 100644 --- a/package/bind/bind.mk +++ b/package/bind/bind.mk @@ -24,6 +24,7 @@ BIND_CONF_ENV = \ BUILD_CC="$(TARGET_CC)" \ BUILD_CFLAGS="$(TARGET_CFLAGS)" BIND_CONF_OPTS = \ + --without-lmdb \ --with-libjson=no \ --with-randomdev=/dev/urandom \ --enable-epoll \ From 6e6208ea794262e4e629efb7c1bbb601d1fa2abc Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Fri, 4 Aug 2017 06:02:48 +0200 Subject: [PATCH 19/27] package/snappy: remove pthread handling for static builds Commit 0e2ee0e6e8076 (package.snappy: fix static builds with threads) added LIBS=-pthread to configure options to fix static build with threads on some architectures. This works for autotools packages. Then, commit d26282b3aa14cb (package/snappy: bump version, switch to cmake) switched to cmake that does not understand the 'LIBS' parameter. As pointed out by Thomas[1] the special handling of libpthread for static builds is not needed anymore: it was needed only to build the tests, and these are no longer built. Note that packages that link statically with snappy will still need to link with -pthread. Only two in-tree packages currently depend on snappy: lua-csnappy depends on !BR2_STATIC_LIBS and leveldb adds -pthread from its build system. Tested with the following musl & uclibc defconfigs which also fix build errors: http://autobuild.buildroot.net/results/39f/39f9fc4300ddca19e8a533765b46838003752000/ http://autobuild.buildroot.net/results/886/8860b9259f7a3aecb2ddbfa787be048072bd347b/ [1] http://lists.busybox.net/pipermail/buildroot/2017-July/199549.html Signed-off-by: Bernd Kuhls Acked-by: "Yann E. MORIN" [Baruch: improved commit message] Signed-off-by: Baruch Siach [Arnout: improved commit message more, based on Yann's input] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/snappy/snappy.mk | 9 --------- 1 file changed, 9 deletions(-) diff --git a/package/snappy/snappy.mk b/package/snappy/snappy.mk index f5df6bf1f1..a537ade57b 100644 --- a/package/snappy/snappy.mk +++ b/package/snappy/snappy.mk @@ -11,13 +11,4 @@ SNAPPY_LICENSE_FILES = COPYING SNAPPY_INSTALL_STAGING = YES SNAPPY_CONF_OPTS = -DSNAPPY_BUILD_TESTS=OFF -# libsnappy links with libstdc++. Some libstdc++/arch variants use -# pthread symbols for internal locking if built with thread -# support. libstdc++ does not have a .pc file, and its .la file does -# not mention -pthread. So, static linkig to libstdc++ will fail if -# -pthread is not explicity linked to. Only do that for static builds. -ifeq ($(BR2_STATIC_LIBS)$(BR2_TOOLCHAIN_HAS_THREADS),yy) -SNAPPY_CONF_OPTS += LIBS=-pthread -endif - $(eval $(cmake-package)) From 8e13f7e11eecd7cb0c6f4f83ec4f1ff7a98b9fee Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Wed, 9 Aug 2017 09:59:09 +0300 Subject: [PATCH 20/27] nvme: fix libuuid test when cross compiling Use $(LD) to test whether libuuid is installed, so that we check the target, not the host. Fixes: http://autobuild.buildroot.net/results/e26/e263ffbf8947374c2aac73ab42edcbf4d9a3600a/ http://autobuild.buildroot.net/results/53b/53b2d1e0c3cdeafb980389bcfd8a10b6ca48fbc2/ Cc: Mamatha Inamdar Signed-off-by: Baruch Siach Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- ...-linker-override-for-cross-uuid-test.patch | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 package/nvme/0001-Makefile-allow-linker-override-for-cross-uuid-test.patch diff --git a/package/nvme/0001-Makefile-allow-linker-override-for-cross-uuid-test.patch b/package/nvme/0001-Makefile-allow-linker-override-for-cross-uuid-test.patch new file mode 100644 index 0000000000..dc1c01a888 --- /dev/null +++ b/package/nvme/0001-Makefile-allow-linker-override-for-cross-uuid-test.patch @@ -0,0 +1,34 @@ +From f926559acd1beb74dc5dc9b0e414b087110a251f Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Wed, 9 Aug 2017 09:43:12 +0300 +Subject: [PATCH] Makefile: allow linker override for cross uuid test + +The test to determine whether libuuid is installed uses the host 'ld' utility. +This breaks when cross compiling, since target libraries are often different +than host libraries. + +Use $(LD) instead. This allows to easily use the cross compiler linker. + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/linux-nvme/nvme-cli/pull/216 + + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 3f1d9aaa890d..cc74bdd6c3e6 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,7 +1,7 @@ + CFLAGS ?= -O2 -g -Wall -Werror + CFLAGS += -std=gnu99 + CPPFLAGS += -D_GNU_SOURCE -D__CHECK_ENDIAN__ +-LIBUUID = $(shell ld -o /dev/null -luuid >/dev/null 2>&1; echo $$?) ++LIBUUID = $(shell $(LD) -o /dev/null -luuid >/dev/null 2>&1; echo $$?) + NVME = nvme + INSTALL ?= install + DESTDIR = +-- +2.13.2 + From 73240a5b680d208931f0a42916b6cdaf9917ff6d Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Wed, 9 Aug 2017 09:59:10 +0300 Subject: [PATCH 21/27] nvme: remove the udev optional dependency Upstream removed the udev dependent code in commit 4cbe5888f4bc (nvme-cli: fabrics: remove libudev dependency). Cc: Mamatha Inamdar Signed-off-by: Baruch Siach Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/nvme/nvme.mk | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/package/nvme/nvme.mk b/package/nvme/nvme.mk index 27fbde2158..8eab1dacfa 100644 --- a/package/nvme/nvme.mk +++ b/package/nvme/nvme.mk @@ -9,19 +9,8 @@ NVME_SITE = $(call github,linux-nvme,nvme-cli,$(NVME_VERSION)) NVME_LICENSE = GPL-2.0+ NVME_LICENSE_FILES = LICENSE -# Yes LIBUDEV=0 means udev support enabled, LIBUDEV=1 means udev -# support disabled. -ifeq ($(BR2_PACKAGE_HAS_UDEV),y) -NVME_DEPENDENCIES += udev -NVME_MAKE_OPTS += LIBUDEV=0 -else -NVME_MAKE_OPTS += LIBUDEV=1 -endif - -# LIBUDEV=1 means that libudev is _disabled_ define NVME_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \ - $(NVME_MAKE_OPTS) -C $(@D) + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) endef define NVME_INSTALL_TARGET_CMDS From 1e2c245bf4f21e9da41a60856cfa50eff5671e19 Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Wed, 9 Aug 2017 08:02:02 +0300 Subject: [PATCH 22/27] faad2: security bump to version 2.8.1 Fixes: CVE-2017-9218, CVE-2017-9219, CVE-2017-9220, CVE-2017-9221, CVE-2017-9222, CVE-2017-9223, CVE-2017-9253, CVE-2017-9254, CVE-2017-9255, CVE-2017-9256, CVE-2017-9257 http://seclists.org/fulldisclosure/2017/Jun/32 Switch to .tar.bz2 to save some bandwidth. Add autoreconf since unfortunately upstream tarball does not ship the configure script. Cc: Gustavo Zacarias Signed-off-by: Baruch Siach Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/faad2/faad2.hash | 6 +++--- package/faad2/faad2.mk | 8 ++++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/package/faad2/faad2.hash b/package/faad2/faad2.hash index 691645b7c0..d298e909a9 100644 --- a/package/faad2/faad2.hash +++ b/package/faad2/faad2.hash @@ -1,4 +1,4 @@ -# From http://sourceforge.net/projects/faac/files/faad2-src/faad2-2.7/ (used by upstream): -sha1 80eaaa5cc576c35dd28863767b795c50cbcc0511 faad2-2.7.tar.gz +# From http://sourceforge.net/projects/faac/files/faad2-src/faad2-2.8.0/ (used by upstream): +sha1 a5caa71cd915acd502d96cba56f38296277f2350 faad2-2.8.1.tar.bz2 # Locally computed -sha256 ee26ed1e177c0cd8fa8458a481b14a0b24ca0b51468c8b4c8b676fd3ceccd330 faad2-2.7.tar.gz +sha256 f4042496f6b0a60f5ded6acd11093230044ef8a2fd965360c1bbd5b58780933d faad2-2.8.1.tar.bz2 diff --git a/package/faad2/faad2.mk b/package/faad2/faad2.mk index d7b55d3efa..fa965fe590 100644 --- a/package/faad2/faad2.mk +++ b/package/faad2/faad2.mk @@ -4,10 +4,14 @@ # ################################################################################ -FAAD2_VERSION = 2.7 -FAAD2_SITE = http://downloads.sourceforge.net/project/faac/faad2-src/faad2-$(FAAD2_VERSION) +FAAD2_VERSION_MAJOR = 2.8 +FAAD2_VERSION = $(FAAD2_VERSION_MAJOR).1 +FAAD2_SITE = http://downloads.sourceforge.net/project/faac/faad2-src/faad2-$(FAAD2_VERSION_MAJOR).0 +FAAD2_SOURCE = faad2-$(FAAD2_VERSION).tar.bz2 FAAD2_LICENSE = GPL-2.0 FAAD2_LICENSE_FILES = COPYING +# No configure script in upstream tarball +FAAD2_AUTORECONF = YES # frontend/faad calls frexp() FAAD2_CONF_ENV = LIBS=-lm FAAD2_INSTALL_STAGING = YES From c9f9b16a2f37caeeced47cb562b642ec0c166652 Mon Sep 17 00:00:00 2001 From: Samuel Martin Date: Sat, 5 Aug 2017 20:18:53 +0200 Subject: [PATCH 23/27] pkg-cmake.mk: set pkg-config env. vars. in the host configure environment This change is fixing the bug reported in [1]. Cmake may run pkg-config to find the dependencies when configuring a package. Because of the value of PATH, and it will use the Buildroot's pkg-config wrapper, which, by default, is configured (via some environment variables) to find the target dependencies. When configuring a host package using cmake, to prevent cmake from wrongly solving dependencies from the target tree (when the *-config.cmake files are using pkg-config) instead of looking for them in the Buildroot's host tree or in the host system itself, we need to set the environment variables altering the pkg-config behavior in the cmake configure environment. So, this change is fixing the cmake host-packages configuration step, by properly setting the pkg-config environment variables to their values for finding host dependencies. Before this patch: make O=/opt/br/abo/cmake-host-find-root-path libxml2 host-mariadb{-dirclean,-configure} && echo $? [...] >>> host-mariadb 10.1.25 Configuring (mkdir -p /opt/br/abo/cmake-host-find-root-path/build/host-mariadb-10.1.25/ && cd /opt/br/abo/cmake-host-find-root-path/build/host-mariadb-10.1.25/ && rm -f CMakeCache.txt && PATH="/opt/br/abo/cmake-host-find-root-path/host/bin:/opt/br/abo/cmake-host-find-root-path/host/sbin:/home/sam/.local/bin:/sbin:/usr/sbin:/bin:/usr/bin" /usr/bin/cmake /opt/br/abo/cmake-host-find-root-path/build/host-mariadb-10.1.25/ -DCMAKE_INSTALL_SO_NO_EXE=0 -DCMAKE_FIND_ROOT_PATH="/opt/br/abo/cmake-host-find-root-path/host" -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM="BOTH" -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY="BOTH" -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE="BOTH" -DCMAKE_INSTALL_PREFIX="/opt/br/abo/cmake-host-find-root-path/host" -DCMAKE_C_FLAGS="-O2 -I/opt/br/abo/cmake-host-find-root-path/host/include" -DCMAKE_CXX_FLAGS="-O2 -I/opt/br/abo/cmake-host-find-root-path/host/include" -DCMAKE_EXE_LINKER_FLAGS="-L/opt/br/abo/cmake-host-find-root-path/host/lib -Wl,-rpath,/opt/br/abo/cmake-host-find-root-path/host/lib" -DCMAKE_ASM_COMPILER="/usr/bin/as" -DCMAKE_C_COMPILER="/usr/bin/gcc" -DCMAKE_CXX_COMPILER="/usr/bin/g++" -DCMAKE_C_COMPILER_ARG1="" -DCMAKE_CXX_COMPILER_ARG1="" -DCMAKE_COLOR_MAKEFILE=OFF -DBUILD_DOC=OFF -DBUILD_DOCS=OFF -DBUILD_EXAMPLE=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TEST=OFF -DBUILD_TESTS=OFF -DBUILD_TESTING=OFF -DWITH_SSL=bundled ) -- Running cmake version 3.8.2 [...] -- Found PkgConfig: /opt/br/abo/cmake-host-find-root-path/host/bin/pkg-config (found version "0.28") [...] -- Found LibXml2: /opt/br/abo/cmake-host-find-root-path/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/libxml2.so (found version "2.9.4") [...] 0 After this patch is applied: make O=/opt/br/abo/cmake-host-find-root-path libxml2 host-mariadb{-dirclean,-configure} && echo $? [...] >>> host-mariadb 10.1.25 Configuring (mkdir -p /opt/br/abo/cmake-host-find-root-path/build/host-mariadb-10.1.25/ && cd /opt/br/abo/cmake-host-find-root-path/build/host-mariadb-10.1.25/ && rm -f CMakeCache.txt && PATH="/opt/br/abo/cmake-host-find-root-path/host/bin:/opt/br/abo/cmake-host-find-root-path/host/sbin:/home/sam/.local/bin:/sbin:/usr/sbin:/bin:/usr/bin" PKG_CONFIG="/opt/br/abo/cmake-host-find-root-path/host/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_LIBDIR="/opt/br/abo/cmake-host-find-root-path/host/lib/pkgconfig:/opt/br/abo/cmake-host-find-root-path/host/share/pkgconfig" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 /usr/bin/cmake /opt/br/abo/cmake-host-find-root-path/build/host-mariadb-10.1.25/ -DCMAKE_INSTALL_SO_NO_EXE=0 -DCMAKE_FIND_ROOT_PATH="/opt/br/abo/cmake-host-find-root-path/host" -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM="BOTH" -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY="BOTH" -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE="BOTH" -DCMAKE_INSTALL_PREFIX="/opt/br/abo/cmake-host-find-roo t-path/host" -DCMAKE_C_FLAGS="-O2 -I/opt/br/abo/cmake-host-find-root-path/host/include" -DCMAKE_CXX_FLAGS="-O2 -I/opt/br/abo/cmake-host-find-root-path/host/include" -DCMAKE_EXE_LINKER_FLAGS="-L/opt/br/abo/cmake-host-find-root-path/host/lib -Wl,-rpath,/opt/br/abo/cmake-host-find-root-path/host/lib" -DCMAKE_ASM_COMPILER="/usr/bin/as" -DCMAKE_C_COMPILER="/usr/bin/gcc" -DCMAKE_CXX_COMPILER="/usr/bin/g++" -DCMAKE_C_COMPILER_ARG1="" -DCMAKE_CXX_COMPILER_ARG1="" -DCMAKE_COLOR_MAKEFILE=OFF -DBUILD_DOC=OFF -DBUILD_DOCS=OFF -DBUILD_EXAMPLE=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TEST=OFF -DBUILD_TESTS=OFF -DBUILD_TESTING=OFF -DWITH_SSL=bundled ) -- Running cmake version 3.8.2 [...] -- Found PkgConfig: /opt/br/abo/cmake-host-find-root-path/host/bin/pkg-config (found version "0.28") [...] -- Found LibXml2: /usr/lib/libxml2.so (found version "2.9.4") [...] 0 [1] http://lists.busybox.net/pipermail/buildroot/2017-August/199776.html Reported-by: "Sigalas, Antonios (Nokia - GR/Athens)" Cc: "Sigalas, Antonios (Nokia - GR/Athens)" Cc: Thomas Petazzoni Signed-off-by: Samuel Martin Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/pkg-cmake.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk index 914bda7482..db78d897d8 100644 --- a/package/pkg-cmake.mk +++ b/package/pkg-cmake.mk @@ -109,6 +109,11 @@ define $(2)_CONFIGURE_CMDS cd $$($$(PKG)_BUILDDIR) && \ rm -f CMakeCache.txt && \ PATH=$$(BR_PATH) \ + PKG_CONFIG="$$(PKG_CONFIG_HOST_BINARY)" \ + PKG_CONFIG_SYSROOT_DIR="/" \ + PKG_CONFIG_LIBDIR="$$(HOST_DIR)/lib/pkgconfig:$$(HOST_DIR)/share/pkgconfig" \ + PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ + PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \ $$($$(PKG)_CONF_ENV) $$(BR2_CMAKE) $$($$(PKG)_SRCDIR) \ -DCMAKE_INSTALL_SO_NO_EXE=0 \ -DCMAKE_FIND_ROOT_PATH="$$(HOST_DIR)" \ From c21fca53db7885ba05c6aca73350477ff15dcfd2 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 5 Aug 2017 12:49:00 +0200 Subject: [PATCH 24/27] uclibc: allow thread_db to be built with C++ gdb 7.12+ is compiled and linked with C++, therefore the thread_db headers need to use extern "C", to be usable for C++ code. Fixes: Issue when building gdbserver for m68k-coldfire: thread-db.o: In function `thread_db_init()': thread-db.c:(.text+0x5b6): undefined reference to `td_ta_new(ps_prochandle*, td_thragent**)' thread-db.c:(.text+0x61e): undefined reference to `td_thr_get_info(td_thrhandle const*, td_thrinfo*)' thread-db.c:(.text+0x632): undefined reference to `td_symbol_list()' ... Signed-off-by: Waldemar Brodkorb Tested-by: Romain Naour Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- .../uclibc/0001-fix-issues-with-gdb-8.0.patch | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 package/uclibc/0001-fix-issues-with-gdb-8.0.patch diff --git a/package/uclibc/0001-fix-issues-with-gdb-8.0.patch b/package/uclibc/0001-fix-issues-with-gdb-8.0.patch new file mode 100644 index 0000000000..20567e682f --- /dev/null +++ b/package/uclibc/0001-fix-issues-with-gdb-8.0.patch @@ -0,0 +1,72 @@ +From 111f01d432d542a153c1cad83def3a6ab57df7af Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Sat, 5 Aug 2017 11:28:07 +0200 +Subject: [PATCH] fix issues with gdb 8.0 + +GDB 8.0 is compiled and linked with g++, but the +linking of static targets (f.e. coldfire) fails, +without declaring the functions in thread_db.h +extern C. + +The compilation of gdb errors out with: +thread-db.o: In function `thread_db_init()': +thread-db.c:(.text+0x5b6): undefined reference to `td_ta_new(ps_prochandle*, td_thragent**)' +thread-db.c:(.text+0x61e): undefined reference to `td_thr_get_info(td_thrhandle const*, td_thrinfo*)' +thread-db.c:(.text+0x632): undefined reference to `td_symbol_list()' +.. + +Signed-off-by: Waldemar Brodkorb +--- + libpthread/linuxthreads_db/thread_db.h | 7 +++++++ + libpthread/nptl_db/thread_db.h | 7 +++++++ + 2 files changed, 14 insertions(+) + +diff --git a/libpthread/linuxthreads_db/thread_db.h b/libpthread/linuxthreads_db/thread_db.h +index 13c30af..ec79f60 100644 +--- a/libpthread/linuxthreads_db/thread_db.h ++++ b/libpthread/linuxthreads_db/thread_db.h +@@ -27,6 +27,9 @@ + #include + #include + ++#ifdef __cplusplus ++extern "C" { ++#endif + + /* Error codes of the library. */ + typedef enum +@@ -455,4 +458,8 @@ extern td_err_e td_thr_dbsuspend (const td_thrhandle_t *__th); + /* Resume execution of thread TH. */ + extern td_err_e td_thr_dbresume (const td_thrhandle_t *__th); + ++#ifdef __cplusplus ++} ++#endif ++ + #endif /* thread_db.h */ +diff --git a/libpthread/nptl_db/thread_db.h b/libpthread/nptl_db/thread_db.h +index 27ea69a..993842f 100644 +--- a/libpthread/nptl_db/thread_db.h ++++ b/libpthread/nptl_db/thread_db.h +@@ -27,6 +27,9 @@ + #include + #include + ++#ifdef __cplusplus ++extern "C" { ++#endif + + /* Error codes of the library. */ + typedef enum +@@ -455,4 +458,8 @@ extern td_err_e td_thr_dbsuspend (const td_thrhandle_t *__th); + /* Resume execution of thread TH. */ + extern td_err_e td_thr_dbresume (const td_thrhandle_t *__th); + ++#ifdef __cplusplus ++} ++#endif ++ + #endif /* thread_db.h */ +-- +2.1.4 + From aff2f7395843b338f3492b915e8e5cd8b25a43b3 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Wed, 9 Aug 2017 18:10:05 +0200 Subject: [PATCH 25/27] Revert "package/skeleton-custom: also check for missing directories" This partially reverts commit cf6d321e9d5c9dec63e42466fec4bf5de5853bd3. The underlying reason for doing the checks is to ensure that a merged-usr setting is properly enforced, even for custom skeletons. Before that patch, a custom skeleton where both /bin and /usr/bin were missing was accepted; but then the first package that intalled something in /bin would create it as a directory, thus breaking the merged-usr situation. Ditto sbin and lib, of course. cf6d321 was created to detect that situation, and the fix was to require that both directories do exist in the custom skeleton, so that we new the check for consistency were OK, in all cases. However, that broke existing skeletons which where missing both directories, and some people are shinning about it... The crux of the problem is that Buildroot should be responsible for creating the directories or the symliks when they are missing, and only fail if the existing ones are incorrect, but not impose the burden on the user. A situation where the problem arises is when a skeleton is shared between various builds, some using a merged-usr while other do not. We fix that by reverting the offending changes change, back to the previous behaviour. We keep the stderr redirection in stat calls, and the variable renaming. A proper fix to create the missing directories can be added later. Signed-off-by: "Yann E. MORIN" Cc: Arnout Vandecappelle Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/skeleton-custom/skeleton-custom.mk | 26 ---------------------- 1 file changed, 26 deletions(-) diff --git a/package/skeleton-custom/skeleton-custom.mk b/package/skeleton-custom/skeleton-custom.mk index d3c6b48211..8c57531782 100644 --- a/package/skeleton-custom/skeleton-custom.mk +++ b/package/skeleton-custom/skeleton-custom.mk @@ -36,27 +36,6 @@ SKELETON_CUSTOM_USR_LIB_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/usr SKELETON_CUSTOM_USR_BIN_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/usr/bin/. 2>/dev/null) SKELETON_CUSTOM_USR_SBIN_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/usr/sbin/. 2>/dev/null) -# Ensure that the custom skeleton has /lib, /bin and /sbin, and their -# /usr counterparts -ifeq ($(SKELETON_CUSTOM_LIB_INODE),) -SKELETON_CUSTOM_MISSING_DIRS += /lib -endif -ifeq ($(SKELETON_CUSTOM_USR_LIB_INODE),) -SKELETON_CUSTOM_MISSING_DIRS += /usr/lib -endif -ifeq ($(SKELETON_CUSTOM_BIN_INODE),) -SKELETON_CUSTOM_MISSING_DIRS += /bin -endif -ifeq ($(SKELETON_CUSTOM_USR_BIN_INODE),) -SKELETON_CUSTOM_MISSING_DIRS += /usr/bin -endif -ifeq ($(SKELETON_CUSTOM_SBIN_INODE),) -SKELETON_CUSTOM_MISSING_DIRS += /sbin -endif -ifeq ($(SKELETON_CUSTOM_USR_SBIN_INODE),) -SKELETON_CUSTOM_MISSING_DIRS += /usr/sbin -endif - # For a merged /usr, ensure that /lib, /bin and /sbin and their /usr # counterparts are appropriately setup as symlinks ones to the others. ifeq ($(BR2_ROOTFS_MERGED_USR),y) @@ -74,11 +53,6 @@ endif endif # merged /usr ifeq ($(BR2_PACKAGE_SKELETON_CUSTOM)$(BR_BUILDING),yy) -ifneq ($(SKELETON_CUSTOM_MISSING_DIRS),) -$(error The custom skeleton in $(SKELETON_CUSTOM_PATH) is \ - missing those directories or symlinks: \ - $(SKELETON_CUSTOM_MISSING_DIRS)) -endif ifneq ($(SKELETON_CUSTOM_NOT_MERGED_USR_DIRS),) $(error The custom skeleton in $(SKELETON_CUSTOM_PATH) is not \ using a merged /usr for the following directories: \ From d2f0f5df468209e0bd97b54e713e80e92188ef4f Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 6 Aug 2017 11:55:27 +0200 Subject: [PATCH 26/27] package/stella: fix gcc7 support Fixes http://autobuild.buildroot.net/results/6ed/6edd7950c402dbf433f3904193c645ebc8531c7e/ Signed-off-by: Bernd Kuhls Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/stella/0004-gcc7.patch | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 package/stella/0004-gcc7.patch diff --git a/package/stella/0004-gcc7.patch b/package/stella/0004-gcc7.patch new file mode 100644 index 0000000000..979682d276 --- /dev/null +++ b/package/stella/0004-gcc7.patch @@ -0,0 +1,23 @@ +From fb6e573263b7fb80a12d0eb74d22e13899f745ee Mon Sep 17 00:00:00 2001 +From: Stephen Anthony +Date: Mon, 17 Apr 2017 18:52:04 -0230 +Subject: [PATCH] Update UNIX configure script for gcc7 and above. + +Backported from upstream commit: +https://github.com/stella-emu/stella/commit/fb6e573263b7fb80a12d0eb74d22e13899f745ee + +Signed-off-by: Bernd Kuhls + +diff --git a/configure b/configure +index 94b91ef9..b1218e9f 100755 +--- a/configure ++++ b/configure +@@ -417,7 +417,7 @@ elif test "$have_gcc" = yes; then + fi + + case $cxx_version in +- 4.[7-9]|4.[7-9].[0-9]|4.[7-9].[0-9][-.]*|[5-6].[0-9]|[5-6].[0-9].[0-9]|[5-6].[0-9].[0-9][-.]*) ++ 4.[7-9]|4.[7-9].[0-9]|4.[7-9].[0-9][-.]*|[5-9]|[5-9].[0-9]|[5-9].[0-9].[0-9]|[5-9].[0-9].[0-9][-.]*) + _cxx_major=`echo $cxx_version | cut -d '.' -f 1` + _cxx_minor=`echo $cxx_version | cut -d '.' -f 2` + cxx_version="$cxx_version, ok" From 128a16aceeb43d7d22b10c6845f7c4d09439e031 Mon Sep 17 00:00:00 2001 From: Francois Perrad Date: Sun, 6 Aug 2017 12:56:08 +0200 Subject: [PATCH 27/27] ficl: fix build with gcc 7 gcc 7 with -Os (optimize for size) takes the liberty to remove the code of inline functions entirely - which is indeed allowed according to the C99 standard, cfr. this [1] very complete StackOverflow answer. This leads to undefined function references at link time. The proper approach is to patch the code to use 'static inline' instead. However, for various reasons such a patch is not entirely trivial, and upstream has not moved since 7 years, so instead take the simpler approach of restoring the gcc original inline behaviour with -fgnu89-inline to fix this issue. Fixes http://autobuild.buildroot.org/results/d72/d72a7e9775a10bc884b9953dd2eba3ad32100cca [1] https://stackoverflow.com/questions/6312597/is-inline-without-static-or-extern-ever-useful-in-c99 Signed-off-by: Francois Perrad Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/ficl/ficl.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/ficl/ficl.mk b/package/ficl/ficl.mk index 5d2d600a81..af900fa2cf 100644 --- a/package/ficl/ficl.mk +++ b/package/ficl/ficl.mk @@ -39,7 +39,7 @@ endif define FICL_BUILD_CMDS $(MAKE) -C $(@D) -f Makefile.linux $(TARGET_CONFIGURE_OPTS) \ - CFLAGS="$(TARGET_CFLAGS) -fPIC -I. -Dlinux" CPPFLAGS="" $(FICL_BUILD_TARGETS) + CFLAGS="$(TARGET_CFLAGS) -fgnu89-inline -fPIC -I. -Dlinux" CPPFLAGS="" $(FICL_BUILD_TARGETS) endef define FICL_INSTALL_STAGING_CMDS