summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml5
-rw-r--r--.gitlab-ci.yml.in4
-rw-r--r--CHANGES73
-rw-r--r--Config.in.legacy13
-rw-r--r--DEVELOPERS5
-rw-r--r--Makefile4
-rw-r--r--board/armadeus/readme.txt9
-rw-r--r--board/beaglebone/genimage_linux41.cfg32
-rwxr-xr-xboard/beaglebone/post-image.sh10
-rw-r--r--board/boundarydevices/common/6x_bootscript.txt1
-rw-r--r--boot/grub2/grub2.mk2
-rw-r--r--boot/syslinux/0003-memdisk-Force-ld-output-format-to-32-bits.patch (renamed from boot/syslinux/0004-memdisk-Force-ld-output-format-to-32-bits.patch)0
-rw-r--r--boot/syslinux/0004-utils-Use-the-host-toolchain-to-build.patch (renamed from boot/syslinux/0005-utils-Use-the-host-toolchain-to-build.patch)0
-rw-r--r--boot/syslinux/0005-lzo-Use-the-host-toolchain-for-prepcore.patch (renamed from boot/syslinux/0006-lzo-Use-the-host-toolchain-for-prepcore.patch)0
-rw-r--r--boot/syslinux/0006-The-VPrint-definition-is-now-part-of-the-exports-of-.patch (renamed from boot/syslinux/0007-The-VPrint-definition-is-now-part-of-the-exports-of-.patch)0
-rw-r--r--boot/syslinux/0007-Update-the-longjump-calls-to-fit-the-new-declaration.patch (renamed from boot/syslinux/0009-Update-the-longjump-calls-to-fit-the-new-declaration.patch)12
-rw-r--r--boot/syslinux/0008-efi-wrapper-build-it-with-the-host-toolchain.patch (renamed from boot/syslinux/0010-efi-wrapper-build-it-with-the-host-toolchain.patch)8
-rw-r--r--boot/syslinux/0009-bios-Don-t-try-to-guess-the-sections-alignment.patch295
-rw-r--r--boot/syslinux/0010-core-Clean-up-the-i386-bios-build.patch622
-rw-r--r--configs/armadeus_apf9328_defconfig29
-rw-r--r--configs/beaglebone_qt5_defconfig1
-rw-r--r--configs/ci20_defconfig5
-rw-r--r--configs/minnowboard_max_defconfig3
-rw-r--r--configs/nanopi_m1_defconfig1
-rw-r--r--configs/nanopi_m1_plus_defconfig1
-rw-r--r--configs/olimex_a20_olinuxino_lime_defconfig5
-rw-r--r--configs/olimex_a20_olinuxino_lime_mali_defconfig3
-rw-r--r--configs/socrates_cyclone5_defconfig1
-rw-r--r--configs/toradex_apalis_imx6_defconfig11
-rw-r--r--docs/website/download.html40
-rw-r--r--docs/website/news.html68
-rw-r--r--fs/iso9660/iso9660.mk1
-rw-r--r--linux/Config.in4
-rw-r--r--linux/linux.mk8
-rw-r--r--package/Config.in9
-rw-r--r--package/alsa-lib/0005-src-rawmidi-rawmidi_symbols.c-use-rawmidi_virt-only-.patch52
-rw-r--r--package/alsa-utils/Config.in1
-rw-r--r--package/bcusdk/0002-eibd-fix-endless-recursion-when-using-USB-backends.patch35
-rw-r--r--package/cc-tool/0003-Makefile.am-do-not-overwrite-LIBS.patch50
-rw-r--r--package/cc-tool/0004-m4-boost.m4-fix-rpath-option-check-for-static-linkin.patch44
-rw-r--r--package/cc-tool/cc-tool.mk5
-rw-r--r--package/connman/connman.hash2
-rw-r--r--package/connman/connman.mk2
-rw-r--r--package/dbus-cpp/0003-src-pipe.c-fix-build-error-with-gcc-7.x.patch36
-rw-r--r--package/dialog/dialog.mk2
-rw-r--r--package/dnsmasq/dnsmasq.mk2
-rw-r--r--package/e2fsprogs/0002-include-sys-sysmacros.h-as-needed.patch129
-rw-r--r--package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch79
-rw-r--r--package/erlang-p1-xml/erlang-p1-xml.mk2
-rw-r--r--package/faad2/0001-getopt-fix-strncmp-declaration.patch40
-rw-r--r--package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch46
-rw-r--r--package/gcc/7.2.0/0100-uclibc-conf.patch (renamed from package/gcc/7.1.0/0100-uclibc-conf.patch)0
-rw-r--r--package/gcc/7.2.0/0810-arm-softfloat-libgcc.patch (renamed from package/gcc/7.1.0/0810-arm-softfloat-libgcc.patch)0
-rw-r--r--package/gcc/7.2.0/0860-cilk-fix-build-without-wchar.patch (renamed from package/gcc/7.1.0/0860-cilk-fix-build-without-wchar.patch)0
-rw-r--r--package/gcc/7.2.0/0891-fix-m68k-uclinux.patch (renamed from package/gcc/7.1.0/0891-fix-m68k-uclinux.patch)0
-rw-r--r--package/gcc/7.2.0/0892-microblaze-Revert.patch (renamed from package/gcc/7.1.0/0892-microblaze-Revert.patch)0
-rw-r--r--package/gcc/7.2.0/0900-remove-selftests.patch (renamed from package/gcc/7.1.0/0900-remove-selftests.patch)0
-rw-r--r--package/gcc/Config.in.host10
-rw-r--r--package/gcc/gcc-final/gcc-final.mk5
-rw-r--r--package/gcc/gcc.hash4
-rw-r--r--package/gcc/gcc.mk6
-rw-r--r--package/gdb/7.12.1/0006-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch41
-rw-r--r--package/gdb/8.0/0004-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch41
-rw-r--r--package/git/git.hash2
-rw-r--r--package/git/git.mk2
-rw-r--r--package/glibc/0006-sh4-trap.patch318
-rw-r--r--package/gnupg/gnupg.hash7
-rw-r--r--package/gnupg/gnupg.mk4
-rw-r--r--package/gpsd/0002-SConstruct-do-not-force-O2-by-default.patch29
-rw-r--r--package/gpsd/gpsd.mk2
-rw-r--r--package/gstreamer1/gst1-validate/gst1-validate.mk2
-rw-r--r--package/iostat/iostat.mk2
-rw-r--r--package/iucode-tool/iucode-tool.mk2
-rw-r--r--package/kvmtool/0001-avoid-redefining-PAGE_SIZE.patch42
-rw-r--r--package/kvmtool/0002-x86-kvm-cpu.c-don-t-include-asm-msr-index.h.patch58
-rw-r--r--package/kvmtool/0003-use-poll.h-instead-of-sys-poll.h.patch33
-rw-r--r--package/kvmtool/0004-check-for-and-use-C-library-provided-strlcpy-and-str.patch90
-rw-r--r--package/kvmtool/0005-Fix-call-to-connect.patch34
-rw-r--r--package/libconfuse/Config.in2
-rw-r--r--package/libconfuse/libconfuse.hash7
-rw-r--r--package/libconfuse/libconfuse.mk2
-rw-r--r--package/libcurl/0001-curl-system.h-support-more-architectures.patch47
-rw-r--r--package/libcurl/libcurl.hash3
-rw-r--r--package/libcurl/libcurl.mk4
-rw-r--r--package/libepoxy/0003-epoxy_internal_has_gl_extension-epoxy_egl_version-ad.patch62
-rw-r--r--package/libgcrypt/libgcrypt.hash6
-rw-r--r--package/libgcrypt/libgcrypt.mk2
-rw-r--r--package/libkcapi/0001-Have-sufficient-memory-size-for-message.patch31
-rw-r--r--package/libphidget/libphidget.mk2
-rw-r--r--package/librsync/0001-fix-build-with-clang.patch37
-rw-r--r--package/libspatialindex/0001-configure.ac-do-not-force-O2.patch30
-rw-r--r--package/libspatialindex/libspatialindex.mk12
-rw-r--r--package/libunwind/Config.in7
-rw-r--r--package/libv4l/0011-configure.ac-drop-disable-libv4l-disable-plugin-supp.patch217
-rw-r--r--package/libv4l/libv4l.mk2
-rw-r--r--package/linux-headers/Config.in.host10
-rw-r--r--package/linux-tools/linux-tool-gpio.mk.in4
-rw-r--r--package/lua/5.2.4/0004-lua-pc.patch4
-rw-r--r--package/lua/5.3.4/0004-lua-pc.patch4
-rw-r--r--package/lua/lua.mk10
-rw-r--r--package/mariadb/mariadb.hash4
-rw-r--r--package/mariadb/mariadb.mk2
-rw-r--r--package/mediastreamer/mediastreamer.mk3
-rw-r--r--package/mesa3d/Config.in1
-rw-r--r--package/minidlna/minidlna.mk2
-rw-r--r--package/mtd/Config.in6
-rw-r--r--package/norm/0003-fix-const-qualifier-gcc7.patch46
-rw-r--r--package/nss-pam-ldapd/nss-pam-ldapd.mk2
-rw-r--r--package/nvidia-driver/egl.pc10
-rw-r--r--package/nvidia-driver/nvidia-driver.mk1
-rw-r--r--package/openocd/0002-configure-enable-build-on-uclinux.patch26
-rw-r--r--package/openocd/openocd.hash1
-rw-r--r--package/openocd/openocd.mk5
-rw-r--r--package/python3/python3.mk2
-rw-r--r--package/qt-webkit-kiosk/qt-webkit-kiosk.hash2
-rw-r--r--package/qt-webkit-kiosk/qt-webkit-kiosk.mk2
-rw-r--r--package/qt5/qt5base/qt5base.mk10
-rw-r--r--package/rpcbind/rpcbind.mk4
-rw-r--r--package/simicsfs/Config.in11
-rw-r--r--package/simicsfs/simicsfs.hash2
-rw-r--r--package/simicsfs/simicsfs.mk13
-rw-r--r--package/skeleton-common/Config.in2
-rw-r--r--package/skeleton-common/skeleton-common.mk90
-rw-r--r--package/skeleton-init-common/Config.in2
-rw-r--r--package/skeleton-init-common/skeleton-init-common.mk90
-rw-r--r--package/skeleton-init-none/Config.in7
-rw-r--r--package/skeleton-init-none/skeleton-init-none.mk (renamed from package/skeleton-none/skeleton-none.mk)10
-rw-r--r--package/skeleton-init-systemd/Config.in7
-rw-r--r--package/skeleton-init-systemd/skeleton-init-systemd.mk (renamed from package/skeleton-systemd/skeleton-systemd.mk)26
-rw-r--r--package/skeleton-init-sysv/Config.in7
-rw-r--r--package/skeleton-init-sysv/skeleton-init-sysv.mk (renamed from package/skeleton-sysv/skeleton-sysv.mk)14
l---------package/skeleton-init-sysv/skeleton/dev/log (renamed from package/skeleton-sysv/skeleton/dev/log)0
-rw-r--r--package/skeleton-init-sysv/skeleton/dev/pts/.empty (renamed from package/skeleton-sysv/skeleton/dev/pts/.empty)0
-rw-r--r--package/skeleton-init-sysv/skeleton/dev/shm/.empty (renamed from package/skeleton-sysv/skeleton/dev/shm/.empty)0
-rw-r--r--package/skeleton-init-sysv/skeleton/etc/fstab (renamed from package/skeleton-sysv/skeleton/etc/fstab)0
l---------package/skeleton-init-sysv/skeleton/var/cache (renamed from package/skeleton-sysv/skeleton/var/cache)0
l---------package/skeleton-init-sysv/skeleton/var/lib/misc (renamed from package/skeleton-sysv/skeleton/var/lib/misc)0
l---------package/skeleton-init-sysv/skeleton/var/lock (renamed from package/skeleton-sysv/skeleton/var/lock)0
l---------package/skeleton-init-sysv/skeleton/var/log (renamed from package/skeleton-sysv/skeleton/var/log)0
l---------package/skeleton-init-sysv/skeleton/var/run (renamed from package/skeleton-sysv/skeleton/var/run)0
l---------package/skeleton-init-sysv/skeleton/var/spool (renamed from package/skeleton-sysv/skeleton/var/spool)0
l---------package/skeleton-init-sysv/skeleton/var/tmp (renamed from package/skeleton-sysv/skeleton/var/tmp)0
-rw-r--r--package/skeleton-none/Config.in7
-rw-r--r--package/skeleton-systemd/Config.in7
-rw-r--r--package/skeleton-sysv/Config.in7
-rw-r--r--package/squid/squid.mk2
-rw-r--r--package/swupdate/Config.in7
-rw-r--r--package/swupdate/swupdate.mk4
-rw-r--r--package/sysvinit/0002-musl-fix-compilation-errors.patch38
-rw-r--r--package/transmission/Config.in6
-rw-r--r--package/transmission/transmission.mk8
-rw-r--r--package/valgrind/Config.in15
-rw-r--r--package/vde2/0002-fstp-Add-static-to-inline-functions.patch44
-rw-r--r--package/vim/vim.mk3
-rw-r--r--package/webkitgtk/0004-GTK-WPE-CFLAGS-from-pkg-config-for-E-GL-are-not-pass.patch64
-rw-r--r--package/whois/Config.in2
-rw-r--r--package/whois/whois.hash4
-rw-r--r--package/whois/whois.mk17
-rw-r--r--package/xen/0003-tools-libxc-xc_dom_arm-add-missing-variable-initiali.patch41
-rw-r--r--package/zmqpp/zmqpp.mk4
-rw-r--r--support/misc/Vagrantfile2
-rw-r--r--support/testing/infra/basetest.py4
-rw-r--r--support/testing/infra/emulator.py13
-rwxr-xr-xsupport/testing/run-tests9
-rw-r--r--system/Config.in8
-rw-r--r--toolchain/Config.in2
-rw-r--r--toolchain/toolchain-external/pkg-toolchain-external.mk2
167 files changed, 3410 insertions, 371 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fb50692976..b44c935f2a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -49,7 +49,9 @@ check-DEVELOPERS:
.runtime_test: &runtime_test
# Keep build directories so the rootfs can be an artifact of the job. The
# runner will clean up those files for us.
- script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k ${CI_BUILD_NAME}
+ # Multiply every emulator timeout by 10 to avoid sporadic failures in
+ # elastic runners.
+ script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_BUILD_NAME}
artifacts:
when: always
expire_in: 2 weeks
@@ -66,7 +68,6 @@ arm_juno_defconfig: *defconfig
armadeus_apf27_defconfig: *defconfig
armadeus_apf28_defconfig: *defconfig
armadeus_apf51_defconfig: *defconfig
-armadeus_apf9328_defconfig: *defconfig
at91sam9260eknf_defconfig: *defconfig
at91sam9g20dfc_defconfig: *defconfig
at91sam9g45m10ek_defconfig: *defconfig
diff --git a/.gitlab-ci.yml.in b/.gitlab-ci.yml.in
index b8fce9ef96..3abf7d5313 100644
--- a/.gitlab-ci.yml.in
+++ b/.gitlab-ci.yml.in
@@ -49,7 +49,9 @@ check-DEVELOPERS:
.runtime_test: &runtime_test
# Keep build directories so the rootfs can be an artifact of the job. The
# runner will clean up those files for us.
- script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k ${CI_BUILD_NAME}
+ # Multiply every emulator timeout by 10 to avoid sporadic failures in
+ # elastic runners.
+ script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_BUILD_NAME}
artifacts:
when: always
expire_in: 2 weeks
diff --git a/CHANGES b/CHANGES
index 8669485ff4..c042bf5e3e 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,74 @@
+2017.08, Released September 1st, 2017
+
+ Minor fixes.
+
+ Toolchain: Don't allow internal toolchain builds for MIPS
+ M6201/P6600, as support for these are not yet in mainline GCC.
+
+ Updated/fixed packages: bcusdk, connman, dialog, dnsmasq,
+ gnupg, grub2, iostat, iucode-tool, libgcrypt, libkcapi,
+ libphidget, libv4l, linux-tools, mediastreamer, minidlna,
+ nss-pam-ldapd, nvidia-driver, qt-webkit-kiosk, rpcbind, squid,
+ transmission, vde2, vim
+
+ Updated/fixed defconfigs:
+
+ Removed packages: simicfs.
+
+ Issues resolved (http://bugs.buildroot.org):
+
+ #10261: Grub2 fails to build for x86_64
+
+2017.08-rc3, Released August 23rd, 2017
+
+ Fixes all over the tree.
+
+ Updated/fixed packages: alsa-lib, alsa-utils, cc-tool,
+ dbus-cpp, e2fsprogs, elf2flt, faad2, fakeroot, gcc, git, gpsd,
+ gst1-validate, kvmtool, libconfuse, libepoxy, librsync,
+ libspatialindex, libunwind, linux, linux-headers, lua,
+ mariadb, mesa3d, mtd, openocd, python3, syslinux, sysvinit,
+ whois, xen, zmqpp.
+
+ Updated/fixed defconfigs: ci20, socrates_cyclone5,
+ toradex_apalis_imx6.
+
+ Removed defconfig: Armadeus APF9328.
+
+ skeleton-* packages introduced in -rc1 have been renamed to
+ skeleton-init-* instead.
+
+ Issues resolved (http://bugs.buildroot.org):
+
+ #10141: Squashfs extended attribute failures
+
+2017.08-rc2, Released August 11th, 2017
+
+ Fixes all over the tree.
+
+ Updated/fixed packages: bind, dbus, erlang-p1-xml, faad2,
+ ficl, gcc, gdb, glibc, jack2, libcurl, linux, linux-headers,
+ lua, mutt, nvme, qt5base, skeleton-common, snappy, stella,
+ swupdate, uclibc, valgrind, webkitgtk.
+
+ Updated/fixed defconfigs: beaglebone_qt5, minnowboard_max,
+ nanopi_m1{, _plus}, olimex_a20_olinuxino_lime, qemu_sparc,
+ qemu_sparc64.
+
+ The cmake-package infrastructure for host packages has been
+ fixed to not incorrectly detect target packages through
+ pkg-config.
+
+ Issues resolved (http://bugs.buildroot.org):
+
+ #9926: systemd-resolved.service: Failed at step NAMESPACE (systemd 233)
+ #10021: libqeglfs-viv-integration.so file is missing for qt5 on armv7
+ #10026: lua-5.3.4: fix lua linker error in swupdate
+ #10146: package/skeleton-common fix recursive variable
+ #10156: glibc compilation fails for X86 32bits (i386)
+ #10201: toolchain-wrapper.c:192: (error) Memory leak:
+ #10221: Buildroot Support
+
2017.08-rc1, Released August 2nd, 2017
Infrastructure:
@@ -35,7 +106,7 @@
- The host directory no longer has a usr/ component. This
makes it much more natural to use that directory as an
externally used toolchain. For compatibility with existing
- scripts, a link usr -> . is still added.
+ scripts, a usr -> . link is still added.
- Hashes are now checked on tarballs by Buildroot when a
package is sourced from a Git repository.
diff --git a/Config.in.legacy b/Config.in.legacy
index 693dc95d74..d35b409423 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -145,6 +145,19 @@ endif
###############################################################################
comment "Legacy options removed in 2017.08"
+config BR2_PACKAGE_SIMICSFS
+ bool "simicsfs support removed"
+ select BR2_LEGACY
+ help
+ Support for simicsfs kernel driver that provides access to a
+ host computer's local filesystem when the target is
+ executing within a SIMICS simulation has been removed.
+
+ Simics is now moving away from the simicsfs kernel module,
+ as the kernel module has required too much maintenance
+ work. Users should move to the user mode Simics agent
+ instead.
+
config BR2_BINUTILS_VERSION_2_26_X
bool "binutils version 2.26 support removed"
select BR2_LEGACY
diff --git a/DEVELOPERS b/DEVELOPERS
index 5cfcc36597..ff9d17d571 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1034,6 +1034,10 @@ F: package/libgphoto2/
N: Koen Martens <gmc@sonologic.nl>
F: package/linuxconsoletools/
+N: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be>
+F: package/bcusdk/
+F: package/libpthsem/
+
N: Laurent Cans <laurent.cans@gmail.com>
F: package/aircrack-ng/
@@ -1166,7 +1170,6 @@ F: package/python-pyrex/
F: package/raptor/
F: package/sepolgen/
F: package/setools/
-F: package/simicsfs/
F: package/smcroute/
F: package/tclap/
F: package/valijson/
diff --git a/Makefile b/Makefile
index 6d4aeca39a..6dd9c6fd70 100644
--- a/Makefile
+++ b/Makefile
@@ -87,9 +87,9 @@ all:
.PHONY: all
# Set and export the version string
-export BR2_VERSION := 2017.08-rc1
+export BR2_VERSION := 2017.08
# Actual time the release is cut (for reproducible builds)
-BR2_VERSION_EPOCH = 150170700
+BR2_VERSION_EPOCH = 1504300000
# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
diff --git a/board/armadeus/readme.txt b/board/armadeus/readme.txt
index a1f1325291..98c7b08249 100644
--- a/board/armadeus/readme.txt
+++ b/board/armadeus/readme.txt
@@ -13,7 +13,6 @@ Supported platforms
Buildroot currently supports the following Armadeus platforms with the
associated defconfigs:
- * APF9328 SOM + devt boards -> armadeus_apf9328_defconfig
* APF27 SOM + devt board -> armadeus_apf27_defconfig
* APF51 SOM + devt board -> armadeus_apf51_defconfig
* APF28 SOM + devt board -> armadeus_apf28_defconfig
@@ -46,15 +45,12 @@ When the build is finished, you will end up with:
output/images/
├── imx**-apfxxdev.dtb [1]
- ├── rootfs.jffs2 [2]
├── rootfs.tar
- ├── rootfs.ubi [2]
- ├── rootfs.ubifs [2]
+ ├── rootfs.ubi
+ ├── rootfs.ubifs
└── uImage
[1] Only if the kernel version used uses a Device Tree.
-[2] .ubi/.ubifs images are not available on APF9328 and replaced by a
- .jffs2 one in this case.
Building U-Boot is currently not supported in these configurations.
@@ -69,7 +65,6 @@ it:
$ cp output/images/uImage /tftpboot/apfxx-linux.bin
$ cp output/images/*.dtb /tftpboot/
$ cp output/images/rootfs.ubi /tftpboot/apfxx-rootfs.ubi
- $ cp output/images/rootfs.jffs2 /tftpboot/apfxx-rootfs.jffs2
where "apfxx" is the version of your SOM, as used with _defconfigs.
diff --git a/board/beaglebone/genimage_linux41.cfg b/board/beaglebone/genimage_linux41.cfg
new file mode 100644
index 0000000000..ba60297dde
--- /dev/null
+++ b/board/beaglebone/genimage_linux41.cfg
@@ -0,0 +1,32 @@
+image boot.vfat {
+ vfat {
+ files = {
+ "MLO",
+ "u-boot.img",
+ "zImage",
+ "uEnv.txt",
+ "am335x-evm.dtb",
+ "am335x-evmsk.dtb",
+ "am335x-bone.dtb",
+ "am335x-boneblack.dtb",
+ }
+ }
+ size = 16M
+}
+
+image sdcard.img {
+ hdimage {
+ }
+
+ partition u-boot {
+ partition-type = 0xC
+ bootable = "true"
+ image = "boot.vfat"
+ }
+
+ partition rootfs {
+ partition-type = 0x83
+ image = "rootfs.ext4"
+ size = 512M
+ }
+}
diff --git a/board/beaglebone/post-image.sh b/board/beaglebone/post-image.sh
index f0c2bc7ff4..68fe0896c6 100755
--- a/board/beaglebone/post-image.sh
+++ b/board/beaglebone/post-image.sh
@@ -8,7 +8,15 @@ BOARD_DIR="$(dirname $0)"
# copy the uEnv.txt to the output/images directory
cp board/beaglebone/uEnv.txt $BINARIES_DIR/uEnv.txt
-GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
+# the 4.1 kernel does not provide a dtb for beaglebone green, so we
+# use a different genimage config if am335x-bonegreen.dtb is not
+# built:
+if [ -e ${BINARIES_DIR}/am335x-bonegreen.dtb ] ; then
+ GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
+else
+ GENIMAGE_CFG="${BOARD_DIR}/genimage_linux41.cfg"
+fi
+
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
rm -rf "${GENIMAGE_TMP}"
diff --git a/board/boundarydevices/common/6x_bootscript.txt b/board/boundarydevices/common/6x_bootscript.txt
index 2fc687aff4..af5822a88b 100644
--- a/board/boundarydevices/common/6x_bootscript.txt
+++ b/board/boundarydevices/common/6x_bootscript.txt
@@ -106,6 +106,7 @@ fi
if itest.s "x" != "x${wlmac}" ; then
setenv bootargs ${bootargs} wlcore.mac=${wlmac}
+ setenv bootargs ${bootargs} wlan.mac=${wlmac}
fi
if itest.s "x" != "x${gpumem}" ; then
diff --git a/boot/grub2/grub2.mk b/boot/grub2/grub2.mk
index 36f27d14ea..492cddf1a5 100644
--- a/boot/grub2/grub2.mk
+++ b/boot/grub2/grub2.mk
@@ -53,7 +53,7 @@ GRUB2_CONF_ENV = \
$(HOST_CONFIGURE_OPTS) \
CPP="$(HOSTCC) -E" \
TARGET_CC="$(TARGET_CC)" \
- TARGET_CFLAGS="$(TARGET_CFLAGS)" \
+ TARGET_CFLAGS="$(TARGET_CFLAGS) -fno-stack-protector" \
TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \
TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
NM="$(TARGET_NM)" \
diff --git a/boot/syslinux/0004-memdisk-Force-ld-output-format-to-32-bits.patch b/boot/syslinux/0003-memdisk-Force-ld-output-format-to-32-bits.patch
index 4eedf4973e..4eedf4973e 100644
--- a/boot/syslinux/0004-memdisk-Force-ld-output-format-to-32-bits.patch
+++ b/boot/syslinux/0003-memdisk-Force-ld-output-format-to-32-bits.patch
diff --git a/boot/syslinux/0005-utils-Use-the-host-toolchain-to-build.patch b/boot/syslinux/0004-utils-Use-the-host-toolchain-to-build.patch
index e091a3a89d..e091a3a89d 100644
--- a/boot/syslinux/0005-utils-Use-the-host-toolchain-to-build.patch
+++ b/boot/syslinux/0004-utils-Use-the-host-toolchain-to-build.patch
diff --git a/boot/syslinux/0006-lzo-Use-the-host-toolchain-for-prepcore.patch b/boot/syslinux/0005-lzo-Use-the-host-toolchain-for-prepcore.patch
index c6fa7febf7..c6fa7febf7 100644
--- a/boot/syslinux/0006-lzo-Use-the-host-toolchain-for-prepcore.patch
+++ b/boot/syslinux/0005-lzo-Use-the-host-toolchain-for-prepcore.patch
diff --git a/boot/syslinux/0007-The-VPrint-definition-is-now-part-of-the-exports-of-.patch b/boot/syslinux/0006-The-VPrint-definition-is-now-part-of-the-exports-of-.patch
index c376010232..c376010232 100644
--- a/boot/syslinux/0007-The-VPrint-definition-is-now-part-of-the-exports-of-.patch
+++ b/boot/syslinux/0006-The-VPrint-definition-is-now-part-of-the-exports-of-.patch
diff --git a/boot/syslinux/0009-Update-the-longjump-calls-to-fit-the-new-declaration.patch b/boot/syslinux/0007-Update-the-longjump-calls-to-fit-the-new-declaration.patch
index cb369981a9..90d0b81f06 100644
--- a/boot/syslinux/0009-Update-the-longjump-calls-to-fit-the-new-declaration.patch
+++ b/boot/syslinux/0007-Update-the-longjump-calls-to-fit-the-new-declaration.patch
@@ -1,4 +1,4 @@
-From db49dbac8a0c563fb6d07c348873e8ae50fee2a6 Mon Sep 17 00:00:00 2001
+From 3bd5c2d951421a89f76b2423e5810862f53486c1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Beno=C3=AEt=20Allard?= <benoit.allard@greenbone.net>
Date: Fri, 9 Jun 2017 11:59:43 +0200
Subject: [PATCH] Update the longjump calls to fit the new declaration
@@ -12,7 +12,7 @@ Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/efi/main.c b/efi/main.c
-index fd95f5c..b5383cd 100644
+index 208fee4f..71d31a5c 100644
--- a/efi/main.c
+++ b/efi/main.c
@@ -10,7 +10,6 @@
@@ -23,15 +23,15 @@ index fd95f5c..b5383cd 100644
#include "efi.h"
#include "fio.h"
-@@ -31,7 +30,7 @@ uint32_t timer_irq;
+@@ -30,7 +29,7 @@ uint32_t timer_irq;
__export uint8_t KbdMap[256];
char aux_seg[256];
-static jmp_buf load_error_buf;
+static jmp_buf *load_error_buf;
- EFI_HANDLE image_handle, image_device_handle, mnpsb_handle;
-
+ static inline EFI_STATUS
+ efi_close_protocol(EFI_HANDLE handle, EFI_GUID *guid, EFI_HANDLE agent,
--
-2.1.4
+2.13.3
diff --git a/boot/syslinux/0010-efi-wrapper-build-it-with-the-host-toolchain.patch b/boot/syslinux/0008-efi-wrapper-build-it-with-the-host-toolchain.patch
index c8ff9ebe34..9ec12a1791 100644
--- a/boot/syslinux/0010-efi-wrapper-build-it-with-the-host-toolchain.patch
+++ b/boot/syslinux/0008-efi-wrapper-build-it-with-the-host-toolchain.patch
@@ -1,4 +1,4 @@
-From 755c947e9166366bd1a78efb1e0c7d6e6e2daa07 Mon Sep 17 00:00:00 2001
+From ca8aaded0c7c3900397029bd9520132b62629308 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Beno=C3=AEt=20Allard?= <benoit.allard@greenbone.net>
Date: Mon, 12 Jun 2017 14:59:16 +0200
Subject: [PATCH] efi/wrapper: build it with the host toolchain.
@@ -15,10 +15,10 @@ Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/efi/Makefile b/efi/Makefile
-index d3788d9..a17258a 100644
+index d5443bd5..d24d16db 100644
--- a/efi/Makefile
+++ b/efi/Makefile
-@@ -78,7 +78,7 @@ syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS)
+@@ -79,7 +79,7 @@ syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS)
# cp $^ $@
wrapper: wrapper.c
@@ -28,5 +28,5 @@ index d3788d9..a17258a 100644
#
# Build the wrapper app and wrap our .so to produce a .efi
--
-2.1.4
+2.13.3
diff --git a/boot/syslinux/0009-bios-Don-t-try-to-guess-the-sections-alignment.patch b/boot/syslinux/0009-bios-Don-t-try-to-guess-the-sections-alignment.patch
new file mode 100644
index 0000000000..916012f619
--- /dev/null
+++ b/boot/syslinux/0009-bios-Don-t-try-to-guess-the-sections-alignment.patch
@@ -0,0 +1,295 @@
+From 76946dd67bc856eaf4fe69d0826547a794176f78 Mon Sep 17 00:00:00 2001
+From: Sylvain Gault <sylvain.gault@gmail.com>
+Date: Tue, 29 Sep 2015 04:45:09 +0200
+Subject: [PATCH] bios: Don't try to guess the sections alignment
+
+For the compression / decompression to succeed, the sections layout must
+be the same between the virtual memory and load memory. The section
+alignment was kept in sync by introducing aligment that should be
+greater or equal to the actual section alignment.
+
+This patch compute the load memory addresses of the sections so that
+the layout is the same as the virtual memory addresses.
+
+Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
+Tested-by: poma <pomidorabelisima@gmail.com>
+Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
+
+Upstream: 0cc9a99e560a2f52bcf052fd85b1efae35ee812f
+Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
+---
+ core/i386/syslinux.ld | 63 ++++++++++---------------------------------------
+ core/x86_64/syslinux.ld | 63 ++++++++++---------------------------------------
+ 2 files changed, 24 insertions(+), 102 deletions(-)
+
+diff --git a/core/i386/syslinux.ld b/core/i386/syslinux.ld
+index 73904510..92b75b11 100644
+--- a/core/i386/syslinux.ld
++++ b/core/i386/syslinux.ld
+@@ -255,10 +255,9 @@ SECTIONS
+ . = 0x100000;
+
+ __pm_code_start = .;
++ __vma_to_lma = __pm_code_lma - __pm_code_start;
+
+- __text_vma = .;
+- __text_lma = __pm_code_lma;
+- .text : AT(__text_lma) {
++ .text : AT(ADDR(.text) + __vma_to_lma) {
+ FILL(0x90909090)
+ __text_start = .;
+ *(.text)
+@@ -266,106 +265,68 @@ SECTIONS
+ __text_end = .;
+ }
+
+- . = ALIGN(32);
+-
+- __rodata_vma = .;
+- __rodata_lma = __rodata_vma + __text_lma - __text_vma;
+- .rodata : AT(__rodata_lma) {
++ .rodata : AT(ADDR(.rodata) + __vma_to_lma) {
+ __rodata_start = .;
+ *(.rodata)
+ *(.rodata.*)
+ __rodata_end = .;
+ }
+
+- . = ALIGN(4);
+-
+- __ctors_vma = .;
+- __ctors_lma = __ctors_vma + __text_lma - __text_vma;
+- .ctors : AT(__ctors_lma) {
++ .ctors : AT(ADDR(.ctors) + __vma_to_lma) {
+ __ctors_start = .;
+ KEEP (*(SORT(.ctors.*)))
+ KEEP (*(.ctors))
+ __ctors_end = .;
+ }
+
+- __dtors_vma = .;
+- __dtors_lma = __dtors_vma + __text_lma - __text_vma;
+- .dtors : AT(__dtors_lma) {
++ .dtors : AT(ADDR(.dtors) + __vma_to_lma) {
+ __dtors_start = .;
+ KEEP (*(SORT(.dtors.*)))
+ KEEP (*(.dtors))
+ __dtors_end = .;
+ }
+
+- . = ALIGN(4);
+-
+- __dynsym_vma = .;
+- __dynsym_lma = __dynsym_vma + __text_lma - __text_vma;
+- .dynsym : AT(__dynsym_lma) {
++ .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) {
+ __dynsym_start = .;
+ *(.dynsym)
+ __dynsym_end = .;
+ }
+ __dynsym_len = __dynsym_end - __dynsym_start;
+
+- . = ALIGN(4);
+-
+- __dynstr_vma = .;
+- __dynstr_lma = __dynstr_vma + __text_lma - __text_vma;
+- .dynstr : AT(__dynstr_lma) {
++ .dynstr : AT(ADDR(.dynstr) + __vma_to_lma) {
+ __dynstr_start = .;
+ *(.dynstr)
+ __dynstr_end = .;
+ }
+ __dynstr_len = __dynstr_end - __dynstr_start;
+
+- . = ALIGN(4);
+-
+- __gnu_hash_vma = .;
+- __gnu_hash_lma = __gnu_hash_vma + __text_lma - __text_vma;
+- .gnu.hash : AT(__gnu_hash_lma) {
++ .gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) {
+ __gnu_hash_start = .;
+ *(.gnu.hash)
+ __gnu_hash_end = .;
+ }
+
+
+- . = ALIGN(4);
+-
+- __dynlink_vma = .;
+- __dynlink_lma = __dynlink_vma + __text_lma - __text_vma;
+- .dynlink : AT(__dynlink_lma) {
++ .dynlink : AT(ADDR(.dynlink) + __vma_to_lma) {
+ __dynlink_start = .;
+ *(.dynlink)
+ __dynlink_end = .;
+ }
+
+- . = ALIGN(4);
+-
+- __got_vma = .;
+- __got_lma = __got_vma + __text_lma - __text_vma;
+- .got : AT(__got_lma) {
++ .got : AT(ADDR(.got) + __vma_to_lma) {
+ __got_start = .;
+ KEEP (*(.got.plt))
+ KEEP (*(.got))
+ __got_end = .;
+ }
+
+- . = ALIGN(4);
+-
+- __dynamic_vma = .;
+- __dynamic_lma = __dynamic_vma + __text_lma - __text_vma;
+- .dynamic : AT(__dynamic_lma) {
++ .dynamic : AT(ADDR(.dynamic) + __vma_to_lma) {
+ __dynamic_start = .;
+ *(.dynamic)
+ __dynamic_end = .;
+ }
+
+- . = ALIGN(32);
+-
+- __data_vma = .;
+- __data_lma = __data_vma + __text_lma - __text_vma;
+- .data : AT(__data_lma) {
++ .data : AT(ADDR(.data) + __vma_to_lma) {
+ __data_start = .;
+ *(.data)
+ *(.data.*)
+diff --git a/core/x86_64/syslinux.ld b/core/x86_64/syslinux.ld
+index bf815c46..70c6e00a 100644
+--- a/core/x86_64/syslinux.ld
++++ b/core/x86_64/syslinux.ld
+@@ -255,10 +255,9 @@ SECTIONS
+ . = 0x100000;
+
+ __pm_code_start = .;
++ __vma_to_lma = __pm_code_lma - __pm_code_start;
+
+- __text_vma = .;
+- __text_lma = __pm_code_lma;
+- .text : AT(__text_lma) {
++ .text : AT(ADDR(.text) + __vma_to_lma) {
+ FILL(0x90909090)
+ __text_start = .;
+ *(.text)
+@@ -266,106 +265,68 @@ SECTIONS
+ __text_end = .;
+ }
+
+- . = ALIGN(32);
+-
+- __rodata_vma = .;
+- __rodata_lma = __rodata_vma + __text_lma - __text_vma;
+- .rodata : AT(__rodata_lma) {
++ .rodata : AT(ADDR(.rodata) + __vma_to_lma) {
+ __rodata_start = .;
+ *(.rodata)
+ *(.rodata.*)
+ __rodata_end = .;
+ }
+
+- . = ALIGN(4);
+-
+- __ctors_vma = .;
+- __ctors_lma = __ctors_vma + __text_lma - __text_vma;
+- .ctors : AT(__ctors_lma) {
++ .ctors : AT(ADDR(.ctors) + __vma_to_lma) {
+ __ctors_start = .;
+ KEEP (*(SORT(.ctors.*)))
+ KEEP (*(.ctors))
+ __ctors_end = .;
+ }
+
+- __dtors_vma = .;
+- __dtors_lma = __dtors_vma + __text_lma - __text_vma;
+- .dtors : AT(__dtors_lma) {
++ .dtors : AT(ADDR(.dtors) + __vma_to_lma) {
+ __dtors_start = .;
+ KEEP (*(SORT(.dtors.*)))
+ KEEP (*(.dtors))
+ __dtors_end = .;
+ }
+
+- . = ALIGN(4);
+-
+- __dynsym_vma = .;
+- __dynsym_lma = __dynsym_vma + __text_lma - __text_vma;
+- .dynsym : AT(__dynsym_lma) {
++ .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) {
+ __dynsym_start = .;
+ *(.dynsym)
+ __dynsym_end = .;
+ }
+ __dynsym_len = __dynsym_end - __dynsym_start;
+
+- . = ALIGN(4);
+-
+- __dynstr_vma = .;
+- __dynstr_lma = __dynstr_vma + __text_lma - __text_vma;
+- .dynstr : AT(__dynstr_lma) {
++ .dynstr : AT(ADDR(.dynstr) + __vma_to_lma) {
+ __dynstr_start = .;
+ *(.dynstr)
+ __dynstr_end = .;
+ }
+ __dynstr_len = __dynstr_end - __dynstr_start;
+
+- . = ALIGN(4);
+-
+- __gnu_hash_vma = .;
+- __gnu_hash_lma = __gnu_hash_vma + __text_lma - __text_vma;
+- .gnu.hash : AT(__gnu_hash_lma) {
++ .gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) {
+ __gnu_hash_start = .;
+ *(.gnu.hash)
+ __gnu_hash_end = .;
+ }
+
+
+- . = ALIGN(4);
+-
+- __dynlink_vma = .;
+- __dynlink_lma = __dynlink_vma + __text_lma - __text_vma;
+- .dynlink : AT(__dynlink_lma) {
++ .dynlink : AT(ADDR(.dynlink) + __vma_to_lma) {
+ __dynlink_start = .;
+ *(.dynlink)
+ __dynlink_end = .;
+ }
+
+- . = ALIGN(4);
+-
+- __got_vma = .;
+- __got_lma = __got_vma + __text_lma - __text_vma;
+- .got : AT(__got_lma) {
++ .got : AT(ADDR(.got) + __vma_to_lma) {
+ __got_start = .;
+ KEEP (*(.got.plt))
+ KEEP (*(.got))
+ __got_end = .;
+ }
+
+- . = ALIGN(4);
+-
+- __dynamic_vma = .;
+- __dynamic_lma = __dynamic_vma + __text_lma - __text_vma;
+- .dynamic : AT(__dynamic_lma) {
++ .dynamic : AT(ADDR(.dynamic) + __vma_to_lma) {
+ __dynamic_start = .;
+ *(.dynamic)
+ __dynamic_end = .;
+ }
+
+- . = ALIGN(32);
+-
+- __data_vma = .;
+- __data_lma = __data_vma + __text_lma - __text_vma;
+- .data : AT(__data_lma) {
++ .data : AT(ADDR(.data) + __vma_to_lma) {
+ __data_start = .;
+ *(.data)
+ *(.data.*)
+--
+2.13.3
+
diff --git a/boot/syslinux/0010-core-Clean-up-the-i386-bios-build.patch b/boot/syslinux/0010-core-Clean-up-the-i386-bios-build.patch
new file mode 100644
index 0000000000..8b6d52544b
--- /dev/null
+++ b/boot/syslinux/0010-core-Clean-up-the-i386-bios-build.patch
@@ -0,0 +1,622 @@
+From a14b1b3d3e375d2e8af8804171ef5e52574dbb2a Mon Sep 17 00:00:00 2001
+From: "H. Peter Anvin" <hpa@zytor.com>
+Date: Tue, 9 Feb 2016 18:15:50 -0800
+Subject: [PATCH] core: Clean up the i386-bios build
+
+Remove symbols and data structures not used in the i386-bios build,
+and clean up the linker script so that most internal symbols are
+HIDDEN.
+
+Signed-off-by: H. Peter Anvin <hpa@zytor.com>
+
+Upstream: ff859050fa4e6535cae098dc35d88a265466448d
+
+This patch fixes the following build failure with i386 binutils 2.28.1:
+
+/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld -Bsymbolic -pie -E --hash-style=gnu -T
+/builds/arnout/buildroot/output/build/syslinux-6.03/core/i386/syslinux.ld -M -o ldlinux.elf ldlinux.o \
+ --start-group libcom32.a --whole-archive /builds/arnout/buildroot/output/build/syslinux-6.03/bios/com32/lib/libcom32core.a libldlinux.a --end-group -N
+--no-omagic \
+ > ldlinux.map
+/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld: ldlinux.elf: Not enough room for program headers, try linking with -N
+/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld: final link failed: Bad value
+/builds/arnout/buildroot/output/build/syslinux-6.03/core/Makefile:167: recipe for target 'ldlinux.elf' failed
+
+Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
+---
+ core/extern.inc | 17 +--
+ core/i386/syslinux.ld | 287 +++++++++++++++++++++++++-------------------------
+ core/layout.inc | 11 --
+ 3 files changed, 143 insertions(+), 172 deletions(-)
+
+diff --git a/core/extern.inc b/core/extern.inc
+index af8eb04c..ce4abfab 100644
+--- a/core/extern.inc
++++ b/core/extern.inc
+@@ -12,27 +12,17 @@
+ ; hello.c
+ extern hello
+
+- ;abort.c
+- extern abort_load_new
+-
+ ; elflink/load_env32.c
+ extern load_env32, pm_env32_run
+
+- ; memscan.c
+- extern highmem_init
+-
+- extern linux_kernel
+-
+ extern mp1, mp2, mp3, mp4, mp5
+
+- extern hexdump, mydump
++ extern hexdump
+
+ extern mem_init
+
+ ; fs.c
+- extern pm_fs_init, pm_searchdir, getfssec, getfsbytes
+- extern pm_mangle_name, pm_load_config
+- extern pm_open_file, pm_close_file
++ extern pm_fs_init
+ extern SectorSize, SectorShift
+
+ ; chdir.c
+@@ -41,9 +31,6 @@
+ ; readdir.c
+ extern opendir, readdir, closedir
+
+- ; newconfig.c
+- extern pm_is_config_file
+-
+ ; idle.c
+ extern __idle
+
+diff --git a/core/i386/syslinux.ld b/core/i386/syslinux.ld
+index 92b75b11..39198d75 100644
+--- a/core/i386/syslinux.ld
++++ b/core/i386/syslinux.ld
+@@ -1,7 +1,7 @@
+ /* -----------------------------------------------------------------------
+ *
+ * Copyright 2008-2009 H. Peter Anvin - All Rights Reserved
+- * Copyright 2009 Intel Corporation; author: H. Peter Anvin
++ * Copyright 2009-2016 Intel Corporation; author: H. Peter Anvin
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+@@ -12,7 +12,7 @@
+ * ----------------------------------------------------------------------- */
+
+ /*
+- * Linker script for the SYSLINUX core
++ * Linker script for the SYSLINUX core when built for i386-bios
+ */
+
+ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
+@@ -26,7 +26,7 @@ SECTIONS
+ {
+ /* Prefix structure for the compression program */
+ . = 0;
+- __module_start = .;
++ HIDDEN(__module_start = ABSOLUTE(.));
+ .prefix : {
+ *(.prefix)
+ }
+@@ -35,81 +35,82 @@ SECTIONS
+ . = 0x1000;
+
+ .earlybss (NOLOAD) : {
+- __earlybss_start = .;
++ HIDDEN(__earlybss_start = .);
+ *(.earlybss)
+- __earlybss_end = .;
++ HIDDEN(__earlybss_end = .);
+ }
+- __earlybss_len = ABSOLUTE(__earlybss_end) - ABSOLUTE(__earlybss_start);
+- __earlybss_dwords = (__earlybss_len + 3) >> 2;
++ HIDDEN(__earlybss_len = ABSOLUTE(__earlybss_end) - ABSOLUTE(__earlybss_start));
++ HIDDEN(__earlybss_dwords = (__earlybss_len + 3) >> 2);
+
+ . = ALIGN(4);
+ .bss16 (NOLOAD) : {
+- __bss16_start = .;
++ HIDDEN(__bss16_start = .);
+ *(.bss16)
+- __bss16_end = .;
++ HIDDEN(__bss16_end = .);
+ }
+- __bss16_len = ABSOLUTE(__bss16_end) - ABSOLUTE(__bss16_start);
+- __bss16_dwords = (__bss16_len + 3) >> 2;
++ HIDDEN(__bss16_len = ABSOLUTE(__bss16_end) - ABSOLUTE(__bss16_start));
++ HIDDEN(__bss16_dwords = (__bss16_len + 3) >> 2);
+
+ . = ALIGN(4);
+ .config : AT (__config_lma) {
+- __config_start = .;
++ HIDDEN(__config_start = .);
+ *(.config)
+- __config_end = .;
++ HIDDEN(__config_end = .);
+ }
+- __config_len = ABSOLUTE(__config_end) - ABSOLUTE(__config_start);
+- __config_dwords = (__config_len + 3) >> 2;
++ HIDDEN(__config_len = ABSOLUTE(__config_end) - ABSOLUTE(__config_start));
++ HIDDEN(__config_dwords = (__config_len + 3) >> 2);
+
+ /* Generated and/or copied code */
+
+ . = ALIGN(128); /* Minimum separation from mutable data */
+ .replacestub : AT (__replacestub_lma) {
+- __replacestub_start = .;
++ HIDDEN(__replacestub_start = .);
+ *(.replacestub)
+- __replacestub_end = .;
++ HIDDEN(__replacestub_end = .);
+ }
+- __replacestub_len = ABSOLUTE(__replacestub_end) - ABSOLUTE(__replacestub_start);
+- __replacestub_dwords = (__replacestub_len + 3) >> 2;
++ HIDDEN(__replacestub_len = ABSOLUTE(__replacestub_end) - ABSOLUTE(__replacestub_start));
++ HIDDEN(__replacestub_dwords = (__replacestub_len + 3) >> 2);
+
+ . = ALIGN(16);
+- __gentextnr_lma = .;
++ HIDDEN(__gentextnr_lma = .);
+ .gentextnr : AT(__gentextnr_lma) {
+- __gentextnr_start = .;
++ HIDDEN(__gentextnr_start = .);
+ *(.gentextnr)
+- __gentextnr_end = .;
++ HIDDEN(__gentextnr_end = .);
+ }
+- __gentextnr_len = ABSOLUTE(__gentextnr_end) - ABSOLUTE(__gentextnr_start);
+- __gentextnr_dwords = (__gentextnr_len + 3) >> 2;
++ HIDDEN(__gentextnr_len = ABSOLUTE(__gentextnr_end) - ABSOLUTE(__gentextnr_start));
++ HIDDEN(__gentextnr_dwords = (__gentextnr_len + 3) >> 2);
+
+ . = STACK_BASE;
+ .stack16 : AT(STACK_BASE) {
+- __stack16_start = .;
++ HIDDEN(__stack16_start = .);
+ . += STACK_LEN;
+- __stack16_end = .;
++ HIDDEN(__stack16_end = .);
+ }
+- __stack16_len = ABSOLUTE(__stack16_end) - ABSOLUTE(__stack16_start);
+- __stack16_dwords = (__stack16_len + 3) >> 2;
++ HIDDEN(__stack16_len = ABSOLUTE(__stack16_end) - ABSOLUTE(__stack16_start));
++ HIDDEN(__stack16_dwords = (__stack16_len + 3) >> 2);
+
+ /* Initialized sections */
+
+ . = 0x7c00;
+ .init : {
+ FILL(0x90909090)
+- __init_start = .;
++ HIDDEN(__init_start = .);
+ *(.init)
+- __init_end = .;
++ HIDDEN(__init_end = .);
+ }
+- __init_len = ABSOLUTE(__init_end) - ABSOLUTE(__init_start);
+- __init_dwords = (__init_len + 3) >> 2;
++ HIDDEN(__init_len = ABSOLUTE(__init_end) - ABSOLUTE(__init_start));
++ HIDDEN(__init_dwords = (__init_len + 3) >> 2);
+
++ . = ALIGN(4);
+ .text16 : {
+ FILL(0x90909090)
+- __text16_start = .;
++ HIDDEN(__text16_start = .);
+ *(.text16)
+- __text16_end = .;
++ HIDDEN(__text16_end = .);
+ }
+- __text16_len = ABSOLUTE(__text16_end) - ABSOLUTE(__text16_start);
+- __text16_dwords = (__text16_len + 3) >> 2;
++ HIDDEN(__text16_len = ABSOLUTE(__text16_end) - ABSOLUTE(__text16_start));
++ HIDDEN(__text16_dwords = (__text16_len + 3) >> 2);
+
+ /*
+ * .textnr is used for 32-bit code that is used on the code
+@@ -118,99 +119,92 @@ SECTIONS
+ . = ALIGN(16);
+ .textnr : {
+ FILL(0x90909090)
+- __textnr_start = .;
++ HIDDEN(__textnr_start = .);
+ *(.textnr)
+- __textnr_end = .;
++ HIDDEN(__textnr_end = .);
+ }
+- __textnr_len = ABSOLUTE(__textnr_end) - ABSOLUTE(__textnr_start);
+- __textnr_dwords = (__textnr_len + 3) >> 2;
++ HIDDEN(__textnr_len = ABSOLUTE(__textnr_end) - ABSOLUTE(__textnr_start));
++ HIDDEN(__textnr_dwords = (__textnr_len + 3) >> 2);
+
+ . = ALIGN(16);
+- __bcopyxx_start = .;
++ HIDDEN(__bcopyxx_start = .);
+
+ .bcopyxx.text : {
+ FILL(0x90909090)
+- __bcopyxx_text_start = .;
++ HIDDEN(__bcopyxx_text_start = .);
+ *(.bcopyxx.text)
+- __bcopyxx_text_end = .;
++ HIDDEN(__bcopyxx_text_end = .);
+ }
+- __bcopyxx_text_len = ABSOLUTE(__bcopyxx_text_end) - ABSOLUTE(__bcopyxx_text_start);
+- __bcopyxx_text_dwords = (__bcopyxx_text_len + 3) >> 2;
++ HIDDEN(__bcopyxx_text_len = ABSOLUTE(__bcopyxx_text_end) - ABSOLUTE(__bcopyxx_text_start));
++ HIDDEN(__bcopyxx_text_dwords = (__bcopyxx_text_len + 3) >> 2);
+
+ .bcopyxx.data : {
+- __bcopyxx_data_start = .;
++ HIDDEN(__bcopyxx_data_start = .);
+ *(.bcopyxx.text)
+- __bcopyxx_data_end = .;
++ HIDDEN(__bcopyxx_data_end = .);
+ }
+- __bcopyxx_data_len = ABSOLUTE(__bcopyxx_data_end) - ABSOLUTE(__bcopyxx_data_start);
+- __bcopyxx_data_dwords = (__bcopyxx_data_len + 3) >> 2;
++ HIDDEN(__bcopyxx_data_len = ABSOLUTE(__bcopyxx_data_end) - ABSOLUTE(__bcopyxx_data_start));
++ HIDDEN(__bcopyxx_data_dwords = (__bcopyxx_data_len + 3) >> 2);
+
+- __bcopyxx_end = .;
+- __bcopyxx_len = ABSOLUTE(__bcopyxx_end) - ABSOLUTE(__bcopyxx_start);
+- __bcopyxx_dwords = (__bcopyxx_len + 3) >> 2;
++ HIDDEN(__bcopyxx_end = .);
++ HIDDEN(__bcopyxx_len = ABSOLUTE(__bcopyxx_end) - ABSOLUTE(__bcopyxx_start));
++ HIDDEN(__bcopyxx_dwords = (__bcopyxx_len + 3) >> 2);
+
+ . = ALIGN(4);
+ .data16 : {
+- __data16_start = .;
++ HIDDEN(__data16_start = .);
+ *(.data16)
+- __data16_end = .;
++ HIDDEN(__data16_end = .);
+ }
+- __data16_len = ABSOLUTE(__data16_end) - ABSOLUTE(__data16_start);
+- __data16_dwords = (__data16_len + 3) >> 2;
++ HIDDEN(__data16_len = ABSOLUTE(__data16_end) - ABSOLUTE(__data16_start));
++ HIDDEN(__data16_dwords = (__data16_len + 3) >> 2);
+
+ . = ALIGN(4);
+- __config_lma = .;
++ HIDDEN(__config_lma = ABSOLUTE(.));
+ . += SIZEOF(.config);
+
+ . = ALIGN(4);
+- __replacestub_lma = .;
++ HIDDEN(__replacestub_lma = ABSOLUTE(.));
+ . += SIZEOF(.replacestub);
+
+ /* The 32-bit code loads above the non-progbits sections */
+
+ . = ALIGN(16);
+- __pm_code_lma = .;
++ HIDDEN(__pm_code_lma = ABSOLUTE(.));
+
+- __high_clear_start = .;
++ HIDDEN(__high_clear_start = .);
+
+ . = ALIGN(512);
+ .adv (NOLOAD) : {
+- __adv_start = .;
++ HIDDEN(__adv_start = .);
+ *(.adv)
+- __adv_end = .;
++ HIDDEN(__adv_end = .);
+ }
+- __adv_len = ABSOLUTE(__adv_end) - ABSOLUTE(__adv_start);
+- __adv_dwords = (__adv_len + 3) >> 2;
++ HIDDEN(__adv_len = ABSOLUTE(__adv_end) - ABSOLUTE(__adv_start));
++ HIDDEN(__adv_dwords = (__adv_len + 3) >> 2);
+
+ /* Late uninitialized sections */
+
+ . = ALIGN(4);
+ .uibss (NOLOAD) : {
+- __uibss_start = .;
++ HIDDEN(__uibss_start = .);
+ *(.uibss)
+- __uibss_end = .;
++ HIDDEN(__uibss_end = .);
+ }
+- __uibss_len = ABSOLUTE(__uibss_end) - ABSOLUTE(__uibss_start);
+- __uibss_dwords = (__uibss_len + 3) >> 2;
++ HIDDEN(__uibss_len = ABSOLUTE(__uibss_end) - ABSOLUTE(__uibss_start));
++ HIDDEN(__uibss_dwords = (__uibss_len + 3) >> 2);
+
+- _end16 = .;
+- __assert_end16 = ASSERT(_end16 <= 0x10000, "64K overflow");
++ HIDDEN(_end16 = .);
++ HIDDEN(__assert_end16 = ASSERT(_end16 <= 0x10000, "64K overflow"));
+
+ /*
+ * Special 16-bit segments
+ */
+-
+- . = ALIGN(65536);
+- .real_mode (NOLOAD) : {
+- *(.real_mode)
+- }
+- real_mode_seg = core_real_mode >> 4;
+-
+ . = ALIGN(65536);
+ .xfer_buf (NOLOAD) : {
+ *(.xfer_buf)
+ }
+- xfer_buf_seg = core_xfer_buf >> 4;
++ HIDDEN(xfer_buf_seg = core_xfer_buf >> 4);
+
+ /*
+ * The auxilliary data segment is used by the 16-bit code
+@@ -219,33 +213,33 @@ SECTIONS
+
+ . = ALIGN(16);
+ .auxseg (NOLOAD) : {
+- __auxseg_start = .;
++ HIDDEN(__auxseg_start = .);
+ *(.auxseg)
+- __auxseg_end = .;
++ HIDDEN(__auxseg_end = .);
+ }
+- __auxseg_len = ABSOLUTE(__auxseg_end) - ABSOLUTE(__auxseg_start);
+- __auxseg_dwords = (__auxseg_len + 3) >> 2;
+- aux_seg = __auxseg_start >> 4;
++ HIDDEN(__auxseg_len = ABSOLUTE(__auxseg_end) - ABSOLUTE(__auxseg_start));
++ HIDDEN(__auxseg_dwords = (__auxseg_len + 3) >> 2);
++ HIDDEN(aux_seg = __auxseg_start >> 4);
+
+ /*
+ * Used to allocate lowmem buffers from 32-bit code
+ */
+ .lowmem (NOLOAD) : {
+- __lowmem_start = .;
++ HIDDEN(__lowmem_start = .);
+ *(.lowmem)
+- __lowmem_end = .;
++ HIDDEN(__lowmem_end = .);
+ }
+- __lowmem_len = ABSOLUTE(__lowmem_end) - ABSOLUTE(__lowmem_start);
+- __lowmem_dwords = (__lowmem_len + 3) >> 2;
++ HIDDEN(__lowmem_len = ABSOLUTE(__lowmem_end) - ABSOLUTE(__lowmem_start));
++ HIDDEN(__lowmem_dwords = (__lowmem_len + 3) >> 2);
+
+- __high_clear_end = .;
++ HIDDEN(__high_clear_end = .);
+
+- __high_clear_len = ABSOLUTE(__high_clear_end) - ABSOLUTE(__high_clear_start);
+- __high_clear_dwords = (__high_clear_len + 3) >> 2;
++ HIDDEN(__high_clear_len = ABSOLUTE(__high_clear_end) - ABSOLUTE(__high_clear_start));
++ HIDDEN(__high_clear_dwords = (__high_clear_len + 3) >> 2);
+
+ /* Start of the lowmem heap */
+ . = ALIGN(16);
+- __lowmem_heap = .;
++ HIDDEN(__lowmem_heap = .);
+
+ /*
+ * 32-bit code. This is a hack for the moment due to the
+@@ -254,136 +248,137 @@ SECTIONS
+
+ . = 0x100000;
+
+- __pm_code_start = .;
+- __vma_to_lma = __pm_code_lma - __pm_code_start;
++ HIDDEN(__pm_code_start = .);
++ HIDDEN(__vma_to_lma = ABSOLUTE(__pm_code_lma - __pm_code_start));
+
+ .text : AT(ADDR(.text) + __vma_to_lma) {
+ FILL(0x90909090)
+- __text_start = .;
++ HIDDEN(__text_start = .);
+ *(.text)
+ *(.text.*)
+- __text_end = .;
++ HIDDEN(__text_end = .);
+ }
+
+ .rodata : AT(ADDR(.rodata) + __vma_to_lma) {
+- __rodata_start = .;
++ HIDDEN(__rodata_start = .);
+ *(.rodata)
+ *(.rodata.*)
+- __rodata_end = .;
++ HIDDEN(__rodata_end = .);
+ }
+
+ .ctors : AT(ADDR(.ctors) + __vma_to_lma) {
+- __ctors_start = .;
++ HIDDEN(__ctors_start = .);
+ KEEP (*(SORT(.ctors.*)))
+ KEEP (*(.ctors))
+- __ctors_end = .;
++ HIDDEN(__ctors_end = .);
+ }
+
+ .dtors : AT(ADDR(.dtors) + __vma_to_lma) {
+- __dtors_start = .;
++ HIDDEN(__dtors_start = .);
+ KEEP (*(SORT(.dtors.*)))
+ KEEP (*(.dtors))
+- __dtors_end = .;
++ HIDDEN(__dtors_end = .);
+ }
+
+ .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) {
+- __dynsym_start = .;
+- *(.dynsym)
+- __dynsym_end = .;
++ HIDDEN(__dynsym_start = .);
++ KEEP (*(.dynsym))
++ HIDDEN(__dynsym_end = .);
+ }
+- __dynsym_len = __dynsym_end - __dynsym_start;
++ HIDDEN(__dynsym_len = __dynsym_end - __dynsym_start);
+
+ .dynstr : AT(ADDR(.dynstr) + __vma_to_lma) {
+- __dynstr_start = .;
+- *(.dynstr)
+- __dynstr_end = .;
++ HIDDEN(__dynstr_start = .);
++ KEEP (*(.dynstr))
++ HIDDEN(__dynstr_end = .);
+ }
+- __dynstr_len = __dynstr_end - __dynstr_start;
++ HIDDEN(__dynstr_len = __dynstr_end - __dynstr_start);
+
+ .gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) {
+- __gnu_hash_start = .;
+- *(.gnu.hash)
+- __gnu_hash_end = .;
++ HIDDEN(__gnu_hash_start = .);
++ KEEP (*(.gnu.hash))
++ HIDDEN(__gnu_hash_end = .);
+ }
+
+
+ .dynlink : AT(ADDR(.dynlink) + __vma_to_lma) {
+- __dynlink_start = .;
+- *(.dynlink)
+- __dynlink_end = .;
++ HIDDEN(__dynlink_start = .);
++ KEEP (*(.dynlink))
++ HIDDEN(__dynlink_end = .);
+ }
+
+ .got : AT(ADDR(.got) + __vma_to_lma) {
+- __got_start = .;
+- KEEP (*(.got.plt))
++ HIDDEN(__got_start = .);
+ KEEP (*(.got))
+- __got_end = .;
++ KEEP (*(.got.plt))
++ HIDDEN(__got_end = .);
+ }
+
+ .dynamic : AT(ADDR(.dynamic) + __vma_to_lma) {
+- __dynamic_start = .;
+- *(.dynamic)
+- __dynamic_end = .;
++ HIDDEN(__dynamic_start = .);
++ KEEP (*(.dynamic))
++ HIDDEN(__dynamic_end = .);
+ }
+
+ .data : AT(ADDR(.data) + __vma_to_lma) {
+- __data_start = .;
++ HIDDEN(__data_start = .);
+ *(.data)
+ *(.data.*)
+- __data_end = .;
++ HIDDEN(__data_end = .);
+ }
+
+- __pm_code_end = .;
+- __pm_code_len = ABSOLUTE(__pm_code_end) - ABSOLUTE(__pm_code_start);
+- __pm_code_dwords = (__pm_code_len + 3) >> 2;
++ HIDDEN(__pm_code_end = .);
++ HIDDEN(__pm_code_len = ABSOLUTE(__pm_code_end) - ABSOLUTE(__pm_code_start));
++ HIDDEN(__pm_code_dwords = (__pm_code_len + 3) >> 2);
+
+ . = ALIGN(128);
+
+- __bss_vma = .;
+- __bss_lma = .; /* Dummy */
++ HIDDEN(__bss_vma = .);
++ HIDDEN(__bss_lma = ABSOLUTE(.)); /* Dummy */
+ .bss (NOLOAD) : AT (__bss_lma) {
+- __bss_start = .;
++ HIDDEN(__bss_start = .);
+ *(.bss)
+ *(.bss.*)
+ *(COMMON)
+- __bss_end = .;
++ HIDDEN(__bss_end = .);
+ }
+- __bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start);
+- __bss_dwords = (__bss_len + 3) >> 2;
++ HIDDEN(__bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start));
++ HIDDEN(__bss_dwords = (__bss_len + 3) >> 2);
+
+ /* Very large objects which don't need to be zeroed */
+
+- __hugebss_vma = .;
+- __hugebss_lma = .; /* Dummy */
++ HIDDEN(__hugebss_vma = .);
++ HIDDEN(__hugebss_lma = ABSOLUTE(.)); /* Dummy */
+ .hugebss (NOLOAD) : AT (__hugebss_lma) {
+- __hugebss_start = .;
++ HIDDEN(__hugebss_start = .);
+ *(.hugebss)
+ *(.hugebss.*)
+- __hugebss_end = .;
++ HIDDEN(__hugebss_end = .);
+ }
+- __hugebss_len = ABSOLUTE(__hugebss_end) - ABSOLUTE(__hugebss_start);
+- __hugebss_dwords = (__hugebss_len + 3) >> 2;
++ HIDDEN(__hugebss_len = ABSOLUTE(__hugebss_end) - ABSOLUTE(__hugebss_start));
++ HIDDEN(__hugebss_dwords = (__hugebss_len + 3) >> 2);
+
+
+ /* XXX: This stack should be unified with the COM32 stack */
+- __stack_vma = .;
+- __stack_lma = .; /* Dummy */
++ HIDDEN(__stack_vma = .);
++ HIDDEN(__stack_lma = ABSOLUTE(.)); /* Dummy */
+ .stack (NOLOAD) : AT(__stack_lma) {
+- __stack_start = .;
++ HIDDEN(__stack_start = .);
+ *(.stack)
+- __stack_end = .;
++ HIDDEN(__stack_end = .);
+ }
+- __stack_len = ABSOLUTE(__stack_end) - ABSOLUTE(__stack_start);
+- __stack_dwords = (__stack_len + 3) >> 2;
++ HIDDEN(__stack_len = ABSOLUTE(__stack_end) - ABSOLUTE(__stack_start));
++ HIDDEN(__stack_dwords = (__stack_len + 3) >> 2);
+
+- _end = .;
++ HIDDEN(_end = .);
+
+ /* COM32R and kernels are loaded after our own PM code */
+ . = ALIGN(65536);
+- free_high_memory = .;
++ HIDDEN(free_high_memory = .);
+
+ /* Stuff we don't need... */
+ /DISCARD/ : {
+ *(.eh_frame)
++ *(.interp)
+ }
+ }
+diff --git a/core/layout.inc b/core/layout.inc
+index 53ca783d..635df537 100644
+--- a/core/layout.inc
++++ b/core/layout.inc
+@@ -139,17 +139,6 @@ serial_buf_size equ 4096 ; Should be a power of 2
+ core_xfer_buf resb 65536
+
+ ;
+-; Segment for the real mode code (needed as long as we have a in-kernel
+-; loader and/or COM16 support.
+-; One symbol for the segment number, one for the absolute address
+-;
+- extern real_mode_seg
+- section .real_mode write nobits align=65536
+- global core_real_mode:data hidden
+-core_real_mode resb 65536
+-comboot_seg equ real_mode_seg ; COMBOOT image loading zone
+-
+-;
+ ; At the very end, the lowmem heap
+ ;
+ extern __lowmem_heap
+--
+2.13.3
+
diff --git a/configs/armadeus_apf9328_defconfig b/configs/armadeus_apf9328_defconfig
deleted file mode 100644
index 8abfcfd452..0000000000
--- a/configs/armadeus_apf9328_defconfig
+++ /dev/null
@@ -1,29 +0,0 @@
-# Architecture
-BR2_arm=y
-BR2_arm920t=y
-
-# Toolchain
-BR2_PACKAGE_GDB=y
-BR2_PACKAGE_HOST_GDB=y
-BR2_ENABLE_LOCALE_PURGE=y
-BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
-BR2_TOOLCHAIN_BUILDROOT_CXX=y
-
-# Linux headers same as kernel, a 3.18 series
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y
-
-# System
-BR2_TARGET_GENERIC_HOSTNAME="apf9328"
-BR2_TARGET_GENERIC_ISSUE="Welcome to Armadeus development platform !"
-BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
-
-# Filesystem
-BR2_TARGET_ROOTFS_JFFS2=y
-
-# Kernel
-BR2_LINUX_KERNEL=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.18.29"
-BR2_LINUX_KERNEL_DEFCONFIG="imx_v4_v5"
-BR2_LINUX_KERNEL_UIMAGE=y
-BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x08008000"
diff --git a/configs/beaglebone_qt5_defconfig b/configs/beaglebone_qt5_defconfig
index 4135f718ed..fb61bf54df 100644
--- a/configs/beaglebone_qt5_defconfig
+++ b/configs/beaglebone_qt5_defconfig
@@ -3,6 +3,7 @@ BR2_cortex_a8=y
BR2_GLOBAL_PATCH_DIR="board/beaglebone/patches"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
+BR2_GCC_VERSION_5_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_TARGET_GENERIC_GETTY_PORT="ttyO0"
diff --git a/configs/ci20_defconfig b/configs/ci20_defconfig
index ecf3007a37..6de6394f8c 100644
--- a/configs/ci20_defconfig
+++ b/configs/ci20_defconfig
@@ -13,7 +13,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyS4"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/MIPS/CI20_linux.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="fbf929bc733b82b15f6996d4262a45870f19d214"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="7dff33297116643485ca37141d804eddd793e834"
BR2_LINUX_KERNEL_DEFCONFIG="ci20"
# u-boot
@@ -22,8 +22,7 @@ BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY=y
BR2_TARGET_UBOOT_BOARDNAME="ci20_mmc"
BR2_TARGET_UBOOT_CUSTOM_GIT=y
BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/MIPS/CI20_u-boot"
-BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="a4f583551d0025eb957ee5c9cb68657a429e4914"
-BR2_TARGET_UBOOT_VERSION="a4f583551d0025eb957ee5c9cb68657a429e4914"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="dd3c1b95dac7d10b2ca5806f65e5c1050d7dd0fa"
BR2_TARGET_UBOOT_FORMAT_IMG=y
BR2_TARGET_UBOOT_SPL=y
BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.bin"
diff --git a/configs/minnowboard_max_defconfig b/configs/minnowboard_max_defconfig
index 674b144de8..db6e595779 100644
--- a/configs/minnowboard_max_defconfig
+++ b/configs/minnowboard_max_defconfig
@@ -9,6 +9,9 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/minnowboard/post-image.sh"
# Linux headers same as kernel, a 4.12 series
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12=y
+# Needed for grub2
+BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
+
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
diff --git a/configs/nanopi_m1_defconfig b/configs/nanopi_m1_defconfig
index 23a5e60207..323015ee68 100644
--- a/configs/nanopi_m1_defconfig
+++ b/configs/nanopi_m1_defconfig
@@ -17,6 +17,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nanopi_m1"
BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin"
diff --git a/configs/nanopi_m1_plus_defconfig b/configs/nanopi_m1_plus_defconfig
index a1ae00e445..da707fd5fa 100644
--- a/configs/nanopi_m1_plus_defconfig
+++ b/configs/nanopi_m1_plus_defconfig
@@ -17,6 +17,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nanopi_m1_plus"
BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin"
diff --git a/configs/olimex_a20_olinuxino_lime_defconfig b/configs/olimex_a20_olinuxino_lime_defconfig
index 1c9f261d82..526ed375b5 100644
--- a/configs/olimex_a20_olinuxino_lime_defconfig
+++ b/configs/olimex_a20_olinuxino_lime_defconfig
@@ -18,7 +18,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg"
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.14"
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.36"
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
@@ -34,9 +34,10 @@ BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.03"
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime"
BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
BR2_TARGET_UBOOT_FORMAT_BIN=y
BR2_TARGET_UBOOT_SPL=y
BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
diff --git a/configs/olimex_a20_olinuxino_lime_mali_defconfig b/configs/olimex_a20_olinuxino_lime_mali_defconfig
index 8042dfec4a..dde1791ec5 100644
--- a/configs/olimex_a20_olinuxino_lime_mali_defconfig
+++ b/configs/olimex_a20_olinuxino_lime_mali_defconfig
@@ -41,9 +41,10 @@ BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.03"
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime"
BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
BR2_TARGET_UBOOT_FORMAT_BIN=y
BR2_TARGET_UBOOT_SPL=y
BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
diff --git a/configs/socrates_cyclone5_defconfig b/configs/socrates_cyclone5_defconfig
index 5793458b74..45355c1b85 100644
--- a/configs/socrates_cyclone5_defconfig
+++ b/configs/socrates_cyclone5_defconfig
@@ -21,6 +21,7 @@ BR2_TARGET_UBOOT_CUSTOM_GIT=y
BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/altera-opensource/u-boot-socfpga.git"
BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="v2017.07"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="socfpga_socrates"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_FORMAT_IMG=y
BR2_TARGET_UBOOT_SPL=y
BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC=y
diff --git a/configs/toradex_apalis_imx6_defconfig b/configs/toradex_apalis_imx6_defconfig
index 74d1fb3b9c..607faaeb8f 100644
--- a/configs/toradex_apalis_imx6_defconfig
+++ b/configs/toradex_apalis_imx6_defconfig
@@ -1,12 +1,12 @@
BR2_arm=y
BR2_cortex_a9=y
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y
BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/toradex/apalis-imx6/post-image.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.toradex.com/linux-toradex.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="8f237ebe42f2cb911245369276a6b3043c2815f2"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="3f68dc7c600c0354f5df7f06b931661319addafb"
BR2_LINUX_KERNEL_DEFCONFIG="apalis_imx6"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-apalis-eval imx6q-apalis-ixora imx6q-apalis_v1_0-eval imx6q-apalis_v1_0-ixora"
@@ -17,8 +17,9 @@ BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_GIT=y
BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://git.toradex.com/u-boot-toradex.git"
-BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="1ef4a29e8cea0239411dde64f9617ad76248fd02"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="f0e414972b5b225e33ebe75574562266116746f9"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="apalis_imx6"
-BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
-BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.imx"
+BR2_TARGET_UBOOT_FORMAT_IMG=y
+BR2_TARGET_UBOOT_SPL=y
+BR2_TARGET_UBOOT_SPL_NAME="SPL"
BR2_PACKAGE_HOST_GENIMAGE=y
diff --git a/docs/website/download.html b/docs/website/download.html
index f7aec42e9c..74c6e9dbae 100644
--- a/docs/website/download.html
+++ b/docs/website/download.html
@@ -42,74 +42,74 @@
</div>
</div>
- <h3 style="text-align: center;">Latest stable release: <b>2017.05.2</b></h3>
+ <h3 style="text-align: center;">Latest stable release: <b>2017.08</b></h3>
<div class="row mt centered">
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2017.05.2.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2017.08.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2017.05.2.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2017.08.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2017.05.2.tar.gz">buildroot-2017.05.2.tar.gz</a></h3>
- <p><a href="/downloads/buildroot-2017.05.2.tar.gz.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2017.08.tar.gz">buildroot-2017.08.tar.gz</a></h3>
+ <p><a href="/downloads/buildroot-2017.08.tar.gz.sign">PGP signature</a></p>
</div>
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2017.05.2.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2017.08.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2017.05.2.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2017.08.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2017.05.2.tar.bz2">buildroot-2017.05.2.tar.bz2</a></h3>
- <p><a href="/downloads/buildroot-2017.05.2.tar.bz2.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2017.08.tar.bz2">buildroot-2017.08.tar.bz2</a></h3>
+ <p><a href="/downloads/buildroot-2017.08.tar.bz2.sign">PGP signature</a></p>
</div>
</div>
-
- <h3 style="text-align: center;">Latest release candidate: <b>2017.08-rc1</b></h3>
+<!--
+ <h3 style="text-align: center;">Latest release candidate: <b>2017.08-rc3</b></h3>
<div class="row mt centered">
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2017.08-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2017.08-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2017.08-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2017.08-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2017.08-rc1.tar.gz">buildroot-2017.08-rc1.tar.gz</a></h3>
- <p><a href="/downloads/buildroot-2017.08-rc1.tar.gz.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2017.08-rc3.tar.gz">buildroot-2017.08-rc3.tar.gz</a></h3>
+ <p><a href="/downloads/buildroot-2017.08-rc3.tar.gz.sign">PGP signature</a></p>
</div>
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2017.08-rc1.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2017.08-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2017.08-rc1.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2017.08-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2017.08-rc1.tar.bz2">buildroot-2017.08-rc1.tar.bz2</a></h3>
- <p><a href="/downloads/buildroot-2017.08-rc1.tar.bz2.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2017.08-rc3.tar.bz2">buildroot-2017.08-rc3.tar.bz2</a></h3>
+ <p><a href="/downloads/buildroot-2017.08-rc3.tar.bz2.sign">PGP signature</a></p>
</div>
</div>
-
+-->
This and earlier releases (and their PGP signatures) can always be downloaded from
<a href="/downloads/">http://buildroot.net/downloads/</a>.
</div>
diff --git a/docs/website/news.html b/docs/website/news.html
index 09b4021a1b..ad02b76336 100644
--- a/docs/website/news.html
+++ b/docs/website/news.html
@@ -9,6 +9,74 @@
<h2>News</h2>
<ul class="timeline">
+ <li>
+ <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
+ <div class="timeline-panel">
+ <div class="timeline-heading">
+ <h4 class="timeline-title">2017.08 released</h4>
+ <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>1 September 2017</small></p>
+ </div>
+ <div class="timeline-body">
+ <p>The stable 2017.08 release is out - Thanks to everyone
+ contributing and testing the release candidates. See the
+ <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2017.08">CHANGES</a>
+ file for more details
+ and go to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2017.08.tar.bz2">2017.08 release</a>.</p>
+ </div>
+ </div>
+ </li>
+
+ <li class="timeline-inverted">
+ <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
+ <div class="timeline-panel">
+ <div class="timeline-heading">
+ <h4 class="timeline-title">2017.08-rc3 released</h4>
+ <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>23 August 2017</small></p>
+ </div>
+ <div class="timeline-body">
+ <p>Another release candidate, on the road to the final 2017.08
+ release. A number of fixes and cleanups in various packages
+ and defconfigs. See
+ the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2017.08-rc3">CHANGES</a>
+ file for details.
+ </p>
+
+ <p>Head to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2017.08-rc3.tar.bz2">2017.08-rc3
+ release candidate</a>, and report any
+ problems found to the
+ <a href="support.html">mailing list</a> or
+ <a href="https://bugs.buildroot.org">bug tracker</a>.</p>
+ </div>
+ </div>
+ </li>
+
+ <li>
+ <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
+ <div class="timeline-panel">
+ <div class="timeline-heading">
+ <h4 class="timeline-title">2017.08-rc2 released</h4>
+ <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>11 August 2017</small></p>
+ </div>
+ <div class="timeline-body">
+ <p>Another release candidate, on the road to the final 2017.08
+ release. A number of fixes and cleanups in various packages
+ and defconfigs. See
+ the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2017.08-rc2">CHANGES</a>
+ file for details.
+ </p>
+
+ <p>Head to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2017.08-rc2.tar.bz2">2017.08-rc2
+ release candidate</a>, and report any
+ problems found to the
+ <a href="support.html">mailing list</a> or
+ <a href="https://bugs.buildroot.org">bug tracker</a>.</p>
+ </div>
+ </div>
+ </li>
+
<li class="timeline-inverted">
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
diff --git a/fs/iso9660/iso9660.mk b/fs/iso9660/iso9660.mk
index fafe5b0e84..478cb0239b 100644
--- a/fs/iso9660/iso9660.mk
+++ b/fs/iso9660/iso9660.mk
@@ -40,6 +40,7 @@ define ROOTFS_ISO9660_CREATE_TEMPDIR
$(RM) -rf $(ROOTFS_ISO9660_TARGET_DIR)
mkdir -p $(ROOTFS_ISO9660_TARGET_DIR)
endef
+ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_CREATE_TEMPDIR
else
ROOTFS_ISO9660_TARGET_DIR = $(TARGET_DIR)
endif
diff --git a/linux/Config.in b/linux/Config.in
index 00613b21a4..036799fc4e 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.5)"
+ bool "Latest version (4.12.10)"
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.5" if BR2_LINUX_KERNEL_LATEST_VERSION
+ default "4.12.10" 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
diff --git a/linux/linux.mk b/linux/linux.mk
index 032d64fc22..c7bf83a66a 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -31,6 +31,10 @@ LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL))
LINUX_SITE_METHOD = svn
else ifeq ($(BR2_LINUX_KERNEL_LATEST_CIP_VERSION),y)
LINUX_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/bwh/linux-cip.git
+else ifneq ($(findstring -rc,$(LINUX_VERSION)),)
+# Since 4.12-rc1, -rc kernels are generated from cgit. This also works for
+# older -rc kernels.
+LINUX_SITE = https://git.kernel.org/torvalds/t
else
LINUX_SOURCE = linux-$(LINUX_VERSION).tar.xz
# In X.Y.Z, get X and Y. We replace dots and dashes by spaces in order
@@ -43,10 +47,6 @@ LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v3.x
else ifeq ($(findstring x4.,x$(LINUX_VERSION)),x4.)
LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v4.x
endif
-# release candidates are in testing/ subdir
-ifneq ($(findstring -rc,$(LINUX_VERSION)),)
-LINUX_SITE := $(LINUX_SITE)/testing
-endif # -rc
endif
ifeq ($(BR2_LINUX_KERNEL)$(BR2_LINUX_KERNEL_LATEST_VERSION),y)
diff --git a/package/Config.in b/package/Config.in
index 7ac29fd079..2f7042a1b4 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2,11 +2,11 @@ menu "Target packages"
source "package/busybox/Config.in"
source "package/skeleton/Config.in"
- source "package/skeleton-common/Config.in"
source "package/skeleton-custom/Config.in"
- source "package/skeleton-none/Config.in"
- source "package/skeleton-systemd/Config.in"
- source "package/skeleton-sysv/Config.in"
+ source "package/skeleton-init-common/Config.in"
+ source "package/skeleton-init-none/Config.in"
+ source "package/skeleton-init-systemd/Config.in"
+ source "package/skeleton-init-sysv/Config.in"
menu "Audio and video applications"
source "package/alsa-utils/Config.in"
@@ -189,7 +189,6 @@ menu "Filesystem and flash utilities"
source "package/mtools/Config.in"
source "package/nfs-utils/Config.in"
source "package/ntfs-3g/Config.in"
- source "package/simicsfs/Config.in"
source "package/sp-oops-extract/Config.in"
source "package/squashfs/Config.in"
source "package/sshfs/Config.in"
diff --git a/package/alsa-lib/0005-src-rawmidi-rawmidi_symbols.c-use-rawmidi_virt-only-.patch b/package/alsa-lib/0005-src-rawmidi-rawmidi_symbols.c-use-rawmidi_virt-only-.patch
new file mode 100644
index 0000000000..72646dda8d
--- /dev/null
+++ b/package/alsa-lib/0005-src-rawmidi-rawmidi_symbols.c-use-rawmidi_virt-only-.patch
@@ -0,0 +1,52 @@
+From da16e18f03fc63e1206b93d6a719b177d4f4bb99 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Fri, 11 Aug 2017 22:33:01 +0200
+Subject: [PATCH] src/rawmidi/rawmidi_symbols.c: use rawmidi_virt only when
+ available
+
+src/rawmidi/Makefile.am only brings rawmidi_virt.c into the build when
+BUILD_SEQ is defined (i.e when --enable-seq is passed). However,
+rawmidi_symbols.c unconditionally refers to _snd_module_rawmidi_virt,
+defined in rawmidi_virt.c.
+
+This causes a link failure when BUILD_SEQ is disabled. For example
+when linking ffmpeg against alsa-lib:
+
+/home/thomas/projets/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libasound.a(pcm_dmix.o): In function `snd_pcm_dmix_sync_ptr':
+pcm_dmix.c:(.text+0x83c): warning:
+/home/thomas/projets/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libasound.a(rawmidi_symbols.o):(.data+0x4): undefined reference to `_snd_module_rawmidi_virt'
+collect2: error: ld returned 1 exit status
+
+To fix this, we make sure that rawmidi_symbols.c only uses
+_snd_module_rawmidi_virt when available.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Patch sent upstream: https://www.spinics.net/lists/alsa-devel/msg65902.html
+---
+ src/rawmidi/rawmidi_symbols.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/rawmidi/rawmidi_symbols.c b/src/rawmidi/rawmidi_symbols.c
+index cdc06d7..6473433 100644
+--- a/src/rawmidi/rawmidi_symbols.c
++++ b/src/rawmidi/rawmidi_symbols.c
+@@ -21,11 +21,15 @@
+ #ifndef PIC
+
+ extern const char *_snd_module_rawmidi_hw;
++#ifdef BUILD_SEQ
+ extern const char *_snd_module_rawmidi_virt;
++#endif
+
+ static const char **snd_rawmidi_open_objects[] = {
+ &_snd_module_rawmidi_hw,
++#ifdef BUILD_SEQ
+ &_snd_module_rawmidi_virt
++#endif
+ };
+
+ void *snd_rawmidi_open_symbols(void)
+--
+2.9.4
+
diff --git a/package/alsa-utils/Config.in b/package/alsa-utils/Config.in
index d3fd18d500..1a48fc0315 100644
--- a/package/alsa-utils/Config.in
+++ b/package/alsa-utils/Config.in
@@ -49,7 +49,6 @@ config BR2_PACKAGE_ALSA_UTILS_ALSATPLG
config BR2_PACKAGE_ALSA_UTILS_AMIDI
bool "amidi"
select BR2_PACKAGE_ALSA_LIB_RAWMIDI
- select BR2_PACKAGE_ALSA_LIB_SEQ
config BR2_PACKAGE_ALSA_UTILS_AMIXER
bool "amixer"
diff --git a/package/bcusdk/0002-eibd-fix-endless-recursion-when-using-USB-backends.patch b/package/bcusdk/0002-eibd-fix-endless-recursion-when-using-USB-backends.patch
new file mode 100644
index 0000000000..3b90289c88
--- /dev/null
+++ b/package/bcusdk/0002-eibd-fix-endless-recursion-when-using-USB-backends.patch
@@ -0,0 +1,35 @@
+From 6bd1b4958e949d83468e053c34bf6c89d14d687a Mon Sep 17 00:00:00 2001
+From: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be>
+Date: Fri, 25 Aug 2017 23:01:14 +0200
+Subject: [PATCH] eibd: drop local clock_gettime in USB backends
+
+clock_gettime is defined locally, and calls pth_int_time, which
+in turn calls clock_gettime.
+The USB backend shouldn't overrule clock_gettime in the first place.
+This patch fixes this endless recursion by removing the local defition.
+
+Signed-off-by: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be>
+---
+ eibd/usb/linux_usbfs.c | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/eibd/usb/linux_usbfs.c b/eibd/usb/linux_usbfs.c
+index c3ec410..957b908 100644
+--- a/eibd/usb/linux_usbfs.c
++++ b/eibd/usb/linux_usbfs.c
+@@ -52,12 +52,6 @@ int pthread_mutex_trylock(pthread_mutex_t *mutex)
+ return 0;
+ }
+
+-int clock_gettime(clockid_t clk_id, struct timespec *tp)
+-{
+- pth_int_time (tp);
+- return 0;
+-}
+-
+ /* sysfs vs usbfs:
+ * opening a usbfs node causes the device to be resumed, so we attempt to
+ * avoid this during enumeration.
+--
+1.8.5.rc3
+
diff --git a/package/cc-tool/0003-Makefile.am-do-not-overwrite-LIBS.patch b/package/cc-tool/0003-Makefile.am-do-not-overwrite-LIBS.patch
new file mode 100644
index 0000000000..31a64caec9
--- /dev/null
+++ b/package/cc-tool/0003-Makefile.am-do-not-overwrite-LIBS.patch
@@ -0,0 +1,50 @@
+From af3098e05535ddb93bb065770d87738e46089efc Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sun, 20 Aug 2017 15:06:01 +0200
+Subject: [PATCH] Makefile.am: do not overwrite LIBS
+
+LIBS is meant to be passed on the command line with additional
+libraries, it should not be overwritten by Makefile.am.
+
+Instead:
+
+ - Use LDADD to link with external libraries
+
+ - Use <target>_LDFLAGS for additional, non-libraries, linker flags
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Upstream: https://github.com/dashesy/cc-tool/commit/553f9c601646af0c6e3f6150d0fa3bc63ff56416
+---
+ Makefile.am | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index e79e47b..ed83d91 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -10,14 +10,12 @@ AM_LDFLAGS = \
+
+ # $(BOOST_THREADS_LDFLAGS)
+
+-LDADD = $(LIBUSB_LIBS)
+-
+-LIBS = -s \
++LDADD = $(LIBUSB_LIBS) \
+ $(BOOST_FILESYSTEM_LIBS) \
+ $(BOOST_REGEX_LIBS) \
+ $(BOOST_SYSTEM_LIBS) \
+ $(BOOST_PROGRAM_OPTIONS_LIBS)
+-
++
+ # $(BOOST_THREADS_LIBS)
+
+ bin_PROGRAMS=cc-tool
+@@ -30,4 +28,4 @@ cc_tool_SOURCES=src/main.cpp src/application/cc_flasher.cpp src/application/cc_b
+ src/programmer/cc_253x_254x.cpp src/programmer/cc_251x_111x.cpp \
+ src/programmer/cc_243x.cpp src/programmer/cc_programmer.cpp \
+ src/programmer/cc_unit_driver.cpp src/programmer/cc_unit_info.cpp
+-
++cc_tool_LDFLAGS=-s
+--
+2.9.4
+
diff --git a/package/cc-tool/0004-m4-boost.m4-fix-rpath-option-check-for-static-linkin.patch b/package/cc-tool/0004-m4-boost.m4-fix-rpath-option-check-for-static-linkin.patch
new file mode 100644
index 0000000000..acff107438
--- /dev/null
+++ b/package/cc-tool/0004-m4-boost.m4-fix-rpath-option-check-for-static-linkin.patch
@@ -0,0 +1,44 @@
+From 5e74a15ce1e093b4d8e83cdade60a43b09d698de Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sun, 20 Aug 2017 15:25:06 +0200
+Subject: [PATCH] m4/boost.m4: fix rpath option check for static linking
+
+When statically linking, the order in which -l options are passed is
+important. The contents of the LIBS option passed to the configure
+environment should be passed *after* other -l options used internally
+by the package.
+
+For example, libboost_program_options may used symbols from the
+libatomic library, and in this case, one need to pass LIBS="-latomic"
+to cc-tool's configure script. When using dynamic linking, this works
+fine, because the rpath test does "-latomic
+-lboost_program_options". However, when statically linking, this
+doesn't work because libboost_program_options uses symbols from
+libatomic, so -latomic must be passed *after* -lboost_program_options.
+
+Therefore, this commit inverts the list of variables used to construct
+LIBS before doing the _BOOST_AC_LINK_IFELSE() test detecting the rpath
+option to be used. Indeed, $boost_save_LIBS contains the previously
+saved LIBS variable, and should be passed after $Boost_lib_LIBS.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ m4/boost.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/m4/boost.m4 b/m4/boost.m4
+index be470a7..f1825ba 100644
+--- a/m4/boost.m4
++++ b/m4/boost.m4
+@@ -479,7 +479,7 @@ dnl generated only once above (before we start the for loops).
+ *)
+ for boost_cv_rpath_link_ldflag in -Wl,-R, -Wl,-rpath,; do
+ LDFLAGS="$boost_save_LDFLAGS -L$boost_ldpath $boost_cv_rpath_link_ldflag$boost_ldpath"
+- LIBS="$boost_save_LIBS $Boost_lib_LIBS"
++ LIBS="$Boost_lib_LIBS $boost_save_LIBS"
+ _BOOST_AC_LINK_IFELSE([],
+ [boost_rpath_link_ldflag_found=yes
+ break],
+--
+2.9.4
+
diff --git a/package/cc-tool/cc-tool.mk b/package/cc-tool/cc-tool.mk
index 37ac57e497..e170e06a21 100644
--- a/package/cc-tool/cc-tool.mk
+++ b/package/cc-tool/cc-tool.mk
@@ -16,15 +16,16 @@ CC_TOOL_AUTORECONF = YES
# Configure script "discovers" boost in /usr/local if not given explicitly
CC_TOOL_CONF_OPTS = --with-boost=$(STAGING_DIR)/usr
+CC_TOOL_CONF_ENV = LIBS="$(CC_TOOL_LIBS)"
# Help boost.m4 find the Boost Regex library, which needs the pthread
# library, but isn't detected using a modern (pkg-config) mechanism.
ifeq ($(BR2_STATIC_LIBS),y)
-CC_TOOL_CONF_ENV += LIBS="-lpthread"
+CC_TOOL_LIBS += -lpthread
endif
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
-CC_TOOL_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -latomic"
+CC_TOOL_LIBS += -latomic
endif
$(eval $(autotools-package))
diff --git a/package/connman/connman.hash b/package/connman/connman.hash
index e6485b93a6..c822bb1fe4 100644
--- a/package/connman/connman.hash
+++ b/package/connman/connman.hash
@@ -1,2 +1,2 @@
# From https://www.kernel.org/pub/linux/network/connman/sha256sums.asc
-sha256 a9a0808c729c1f348fc36d8cecb52d19b72bc34cb411c502608cb0e0190fc71e connman-1.34.tar.xz
+sha256 66d7deb98371545c6e417239a9b3b3e3201c1529d08eedf40afbc859842cf2aa connman-1.35.tar.xz
diff --git a/package/connman/connman.mk b/package/connman/connman.mk
index 4c19b4b98a..52c45451d9 100644
--- a/package/connman/connman.mk
+++ b/package/connman/connman.mk
@@ -4,7 +4,7 @@
#
################################################################################
-CONNMAN_VERSION = 1.34
+CONNMAN_VERSION = 1.35
CONNMAN_SOURCE = connman-$(CONNMAN_VERSION).tar.xz
CONNMAN_SITE = $(BR2_KERNEL_MIRROR)/linux/network/connman
CONNMAN_DEPENDENCIES = libglib2 dbus iptables
diff --git a/package/dbus-cpp/0003-src-pipe.c-fix-build-error-with-gcc-7.x.patch b/package/dbus-cpp/0003-src-pipe.c-fix-build-error-with-gcc-7.x.patch
new file mode 100644
index 0000000000..6f3e6242c7
--- /dev/null
+++ b/package/dbus-cpp/0003-src-pipe.c-fix-build-error-with-gcc-7.x.patch
@@ -0,0 +1,36 @@
+From 167042116f523f90911f3a28c4ec065918d56cc9 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 22 Aug 2017 00:02:52 +0200
+Subject: [PATCH] src/pipe.c: fix build error with gcc 7.x
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The write function takes a char* as argument, not a char.
+
+Fixes:
+
+pipe.cpp: In member function ‘void DBus::Pipe::signal()’:
+pipe.cpp:86:29: error: invalid conversion from ‘char’ to ‘const void*’ [-fpermissive]
+ ::write(_fd_write, '\0', 1);
+ ^
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ src/pipe.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/pipe.cpp b/src/pipe.cpp
+index 01211b3..d0572c7 100644
+--- a/src/pipe.cpp
++++ b/src/pipe.cpp
+@@ -83,5 +83,5 @@ ssize_t Pipe::read(void *buffer, unsigned int &nbytes)
+ void Pipe::signal()
+ {
+ // TODO: ignoring return of read/write generates warning; maybe relevant for eventloop work...
+- ::write(_fd_write, '\0', 1);
++ ::write(_fd_write, "\0", 1);
+ }
+--
+2.9.4
+
diff --git a/package/dialog/dialog.mk b/package/dialog/dialog.mk
index 61ec2659a2..73fabe07cf 100644
--- a/package/dialog/dialog.mk
+++ b/package/dialog/dialog.mk
@@ -6,7 +6,7 @@
DIALOG_VERSION = 1.3-20170509
DIALOG_SOURCE = dialog-$(DIALOG_VERSION).tgz
-DIALOG_SITE = ftp://invisible-island.net/dialog
+DIALOG_SITE = ftp://ftp.invisible-island.net/dialog
DIALOG_CONF_OPTS = --with-ncurses --with-curses-dir=$(STAGING_DIR)/usr \
--disable-rpath-hack
DIALOG_DEPENDENCIES = host-pkgconf ncurses
diff --git a/package/dnsmasq/dnsmasq.mk b/package/dnsmasq/dnsmasq.mk
index 00a59dac01..63295ce410 100644
--- a/package/dnsmasq/dnsmasq.mk
+++ b/package/dnsmasq/dnsmasq.mk
@@ -35,7 +35,7 @@ ifeq ($(BR2_PACKAGE_DNSMASQ_IDN),y)
DNSMASQ_DEPENDENCIES += libidn $(TARGET_NLS_DEPENDENCIES)
DNSMASQ_MAKE_OPTS += LIBS+=$(TARGET_NLS_LIBS)
DNSMASQ_COPTS += -DHAVE_IDN
-DNSMASQ_I18N = $(if $(BR2_ENABLE_LOCALE),-i18n)
+DNSMASQ_I18N = $(if $(BR2_SYSTEM_ENABLE_NLS),-i18n)
endif
ifeq ($(BR2_PACKAGE_DNSMASQ_CONNTRACK),y)
diff --git a/package/e2fsprogs/0002-include-sys-sysmacros.h-as-needed.patch b/package/e2fsprogs/0002-include-sys-sysmacros.h-as-needed.patch
new file mode 100644
index 0000000000..c58fcb3217
--- /dev/null
+++ b/package/e2fsprogs/0002-include-sys-sysmacros.h-as-needed.patch
@@ -0,0 +1,129 @@
+From 3fb715b55426875902dfef3056b2cf7335953178 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 19 May 2017 13:25:59 -0400
+Subject: [PATCH] include sys/sysmacros.h as needed
+
+The minor/major/makedev macros are not entirely standard. glibc has had
+the definitions in sys/sysmacros.h since the start, and wants to move away
+from always defining them implicitly via sys/types.h (as this pollutes the
+namespace in violation of POSIX). Other C libraries have already dropped
+them. Since the configure script already checks for this header, use that
+to pull in the header in files that use these macros.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+Signed-off-by: Theodore Ts'o <tytso@mit.edu>
+
+Upstream commit 3fb715b55426875902dfef3056b2cf7335953178
+Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
+---
+ debugfs/debugfs.c | 3 +++
+ lib/blkid/devname.c | 3 +++
+ lib/blkid/devno.c | 3 +++
+ lib/ext2fs/finddev.c | 3 +++
+ lib/ext2fs/ismounted.c | 3 +++
+ misc/create_inode.c | 4 ++++
+ misc/mk_hugefiles.c | 3 +++
+ 7 files changed, 22 insertions(+)
+
+diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c
+index 059ddc39..453f5b52 100644
+--- a/debugfs/debugfs.c
++++ b/debugfs/debugfs.c
+@@ -26,6 +26,9 @@ extern char *optarg;
+ #include <errno.h>
+ #endif
+ #include <fcntl.h>
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h>
++#endif
+
+ #include "debugfs.h"
+ #include "uuid/uuid.h"
+diff --git a/lib/blkid/devname.c b/lib/blkid/devname.c
+index 3e2efa9d..671e781f 100644
+--- a/lib/blkid/devname.c
++++ b/lib/blkid/devname.c
+@@ -36,6 +36,9 @@
+ #if HAVE_SYS_MKDEV_H
+ #include <sys/mkdev.h>
+ #endif
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h>
++#endif
+ #include <time.h>
+
+ #include "blkidP.h"
+diff --git a/lib/blkid/devno.c b/lib/blkid/devno.c
+index aa6eb907..480030f2 100644
+--- a/lib/blkid/devno.c
++++ b/lib/blkid/devno.c
+@@ -31,6 +31,9 @@
+ #if HAVE_SYS_MKDEV_H
+ #include <sys/mkdev.h>
+ #endif
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h>
++#endif
+
+ #include "blkidP.h"
+
+diff --git a/lib/ext2fs/finddev.c b/lib/ext2fs/finddev.c
+index 311608de..62fa0dbe 100644
+--- a/lib/ext2fs/finddev.c
++++ b/lib/ext2fs/finddev.c
+@@ -31,6 +31,9 @@
+ #if HAVE_SYS_MKDEV_H
+ #include <sys/mkdev.h>
+ #endif
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h>
++#endif
+
+ #include "ext2_fs.h"
+ #include "ext2fs.h"
+diff --git a/lib/ext2fs/ismounted.c b/lib/ext2fs/ismounted.c
+index bcac0f15..7d524715 100644
+--- a/lib/ext2fs/ismounted.c
++++ b/lib/ext2fs/ismounted.c
+@@ -49,6 +49,9 @@
+ #if HAVE_SYS_TYPES_H
+ #include <sys/types.h>
+ #endif
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h>
++#endif
+
+ #include "ext2_fs.h"
+ #include "ext2fs.h"
+diff --git a/misc/create_inode.c b/misc/create_inode.c
+index ae22ff6f..8ce3fafa 100644
+--- a/misc/create_inode.c
++++ b/misc/create_inode.c
+@@ -22,6 +22,10 @@
+ #include <attr/xattr.h>
+ #endif
+ #include <sys/ioctl.h>
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h>
++#endif
++
+ #include <ext2fs/ext2fs.h>
+ #include <ext2fs/ext2_types.h>
+ #include <ext2fs/fiemap.h>
+diff --git a/misc/mk_hugefiles.c b/misc/mk_hugefiles.c
+index 049c6f41..5882394d 100644
+--- a/misc/mk_hugefiles.c
++++ b/misc/mk_hugefiles.c
+@@ -35,6 +35,9 @@ extern int optind;
+ #include <sys/ioctl.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h>
++#endif
+ #include <libgen.h>
+ #include <limits.h>
+ #include <blkid/blkid.h>
+--
+2.13.3
+
diff --git a/package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch b/package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch
new file mode 100644
index 0000000000..a27c4913fb
--- /dev/null
+++ b/package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch
@@ -0,0 +1,79 @@
+From b31e9b1bff6832063816b972395179859d1d4619 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sun, 13 Aug 2017 16:03:20 +0200
+Subject: [PATCH] ld-elf2flt: behave properly when called with a name different
+ from TARGET_ALIAS
+
+ld-elf2flt currently handles two cases:
+
+ 1 It is called as the wrapper for <TARGET_ALIAS>-ld, generally
+ installed in the bin/ directory of a toolchain.
+
+ 2 It is called as the wrapper for "ld", generally installed in the
+ TARGET_ALIAS/bin/ directory of a toolchain.
+
+Unfortunately, if for some reason it gets called using a FOOBAR-ld
+name that is different from <TARGET_ALIAS>-ld, it assumes it is in
+case (2), while it really is in case (1). Due to this, the path
+mangling logic doesn't work, and it doesn't find ld.real.
+
+This happens for example when the binary program in bin/ is named
+arm-buildroot-uclinux-uclibcgnueabi-ld, but also has a simpler symlink
+named arm-linux-ld. In this case,
+arm-buildroot-uclinux-uclibcgnueabi-ld is recognized by ld-elf2flt as
+containing TARGET_ALIAS, and therefore the proper logic to find
+ld.real is applied. However, when arm-linux-ld is used, ld-elf2flt
+doesn't find TARGET_ALIAS, and therefore assumes we're being called as
+TARGET_ALIAS/bin/ld.. and searches for a program called ld.real in
+bin/, which doesn't exist.
+
+See:
+
+$ ./output/host/bin/arm-buildroot-uclinux-uclibcgnueabi-ld
+/home/thomas/buildroot/buildroot/output/host/bin/../arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: no input files
+
+$ ./output/host/bin/arm-linux-ld
+arm-linux-ld (ld-elf2flt): error trying to exec '/home/thomas/buildroot/buildroot/output/host/bin/ld.real': execvp: No such file or directory
+
+$ ./output/host/arm-buildroot-uclinux-uclibcgnueabi/bin/ld
+/home/thomas/buildroot/buildroot/output/host/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: no input files
+
+This commit fixes that by inverting the logic: if we're being called
+as just "ld", then we assume it's the program in
+TARGET_ALIAS/bin/. Otherwise, we're called through some variant of
+TARGET-ld.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Submitted-upstream: https://github.com/uclinux-dev/elf2flt/pull/8
+---
+ ld-elf2flt.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/ld-elf2flt.c b/ld-elf2flt.c
+index de39fe0..c187c2e 100644
+--- a/ld-elf2flt.c
++++ b/ld-elf2flt.c
+@@ -506,15 +506,15 @@ int main(int argc, char *argv[])
+ the host while those in <TARGET_ALIAS>/lib are for the target.
+ Make bindir point to the bin dir for bin/<TARGET_ALIAS>-foo.
+ Make tooldir point to the bin dir for <TARGET_ALIAS>/bin/foo. */
+- if (streqn(elf2flt_progname, TARGET_ALIAS)) {
+- tmp = concat(argv0_dir, "../" TARGET_ALIAS "/bin", NULL);
++ if (streqn(elf2flt_progname, "ld")) {
++ tmp = concat(argv0_dir, "../../bin", NULL);
+ if (stat(tmp, &buf) == 0 && S_ISDIR(buf.st_mode)) {
+- tooldir = concat(tmp, "/", NULL);
++ bindir = concat(tmp, "/", NULL);
+ }
+ } else {
+- tmp = concat(argv0_dir, "../../bin", NULL);
++ tmp = concat(argv0_dir, "../" TARGET_ALIAS "/bin", NULL);
+ if (stat(tmp, &buf) == 0 && S_ISDIR(buf.st_mode)) {
+- bindir = concat(tmp, "/", NULL);
++ tooldir = concat(tmp, "/", NULL);
+ }
+ }
+
+--
+2.9.4
+
diff --git a/package/erlang-p1-xml/erlang-p1-xml.mk b/package/erlang-p1-xml/erlang-p1-xml.mk
index 0b0b1caaee..58ba3cbdeb 100644
--- a/package/erlang-p1-xml/erlang-p1-xml.mk
+++ b/package/erlang-p1-xml/erlang-p1-xml.mk
@@ -9,7 +9,7 @@ ERLANG_P1_XML_SITE = $(call github,processone,fast_xml,$(ERLANG_P1_XML_VERSION))
ERLANG_P1_XML_LICENSE = Apache-2.0
ERLANG_P1_XML_LICENSE_FILES = LICENSE.txt
ERLANG_P1_XML_DEPENDENCIES = expat erlang-p1-utils
-ERLANG_P1_XML_HOST_DEPENDENCIES = host-expat host-erlang-p1-utils
+HOST_ERLANG_P1_XML_DEPENDENCIES = host-expat host-erlang-p1-utils
ERLANG_P1_XML_INSTALL_STAGING = YES
ERLANG_P1_XML_USE_AUTOCONF = YES
diff --git a/package/faad2/0001-getopt-fix-strncmp-declaration.patch b/package/faad2/0001-getopt-fix-strncmp-declaration.patch
new file mode 100644
index 0000000000..0e5f27e52a
--- /dev/null
+++ b/package/faad2/0001-getopt-fix-strncmp-declaration.patch
@@ -0,0 +1,40 @@
+From 6787914efad562e4097a153988109c5c7158abf7 Mon Sep 17 00:00:00 2001
+From: Baruch Siach <baruch@tkos.co.il>
+Date: Wed, 16 Aug 2017 13:35:57 +0300
+Subject: [PATCH] getopt: fix strncmp() declaration
+
+The strncmp() declaration does not conform with the standard as to the
+type of the 'n' parameter. Fix this to avoid the following build failure
+with musl libc:
+
+n file included from main.c:61:0:
+getopt.c:175:13: error: conflicting types for 'strncmp'
+ extern int strncmp(const char *s1, const char *s2, unsigned int n);
+ ^~~~~~~
+In file included from main.c:49:0:
+.../host/x86_64-buildroot-linux-musl/sysroot/usr/include/string.h:38:5: note: previous declaration of 'strncmp' was here
+ int strncmp (const char *, const char *, size_t);
+ ^~~~~~~
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+Upstream status: https://sourceforge.net/p/faac/bugs/217/
+
+ frontend/getopt.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/frontend/getopt.c b/frontend/getopt.c
+index 185d49b804dd..40c7a2242551 100644
+--- a/frontend/getopt.c
++++ b/frontend/getopt.c
+@@ -172,7 +172,7 @@ static enum
+ #if __STDC__ || defined(PROTO)
+ extern char *getenv(const char *name);
+ extern int strcmp (const char *s1, const char *s2);
+-extern int strncmp(const char *s1, const char *s2, unsigned int n);
++extern int strncmp(const char *s1, const char *s2, size_t n);
+
+ static int my_strlen(const char *s);
+ static char *my_index (const char *str, int chr);
+--
+2.14.1
+
diff --git a/package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch b/package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch
new file mode 100644
index 0000000000..3bb4f9701f
--- /dev/null
+++ b/package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch
@@ -0,0 +1,46 @@
+From a853f21633693f9eefc4949660253a5328d2d2f3 Mon Sep 17 00:00:00 2001
+From: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Date: Sun, 13 Aug 2017 23:21:54 +0200
+Subject: [PATCH 1/1] communicate: check return status of msgrcv()
+
+msgrcv can return with -1 to indicate an error condition.
+One such error is to have been interrupted by a signal.
+
+Being interrupted by a signal is very rare in this code, except in a
+very special condition: a highly-parallel (1000 jobs!) mksquashfs on
+a filesystem with extended attributes, where we see errors like (those
+are mksquashfs errors):
+ llistxattr for titi/603/883 failed in read_attrs, because Unknown
+ error 1716527536
+
+See: https://bugs.busybox.net/show_bug.cgi?id=10141
+
+In this case, we just have to retry the call to msgrcv().
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+---
+ communicate.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/communicate.c b/communicate.c
+index 293f404..787bb63 100644
+--- a/communicate.c
++++ b/communicate.c
+@@ -553,10 +553,13 @@ void send_get_fakem(struct fake_msg *buf)
+ l=msgrcv(msg_get,
+ (struct my_msgbuf*)buf,
+ sizeof(*buf)-sizeof(buf->mtype),0,0);
+- while((buf->serial!=serial)||buf->pid!=pid);
++ while(((l==-1)&&(errno==EINTR))||(buf->serial!=serial)||buf->pid!=pid);
+
+ semaphore_down();
+
++ if(l==-1)
++ buf->xattr.flags_rc=errno;
++
+ /*
+ (nah, may be wrong, due to allignment)
+
+--
+2.11.0
+
diff --git a/package/gcc/7.1.0/0100-uclibc-conf.patch b/package/gcc/7.2.0/0100-uclibc-conf.patch
index d354baf81f..d354baf81f 100644
--- a/package/gcc/7.1.0/0100-uclibc-conf.patch
+++ b/package/gcc/7.2.0/0100-uclibc-conf.patch
diff --git a/package/gcc/7.1.0/0810-arm-softfloat-libgcc.patch b/package/gcc/7.2.0/0810-arm-softfloat-libgcc.patch
index 63880dd091..63880dd091 100644
--- a/package/gcc/7.1.0/0810-arm-softfloat-libgcc.patch
+++ b/package/gcc/7.2.0/0810-arm-softfloat-libgcc.patch
diff --git a/package/gcc/7.1.0/0860-cilk-fix-build-without-wchar.patch b/package/gcc/7.2.0/0860-cilk-fix-build-without-wchar.patch
index 61ab01c713..61ab01c713 100644
--- a/package/gcc/7.1.0/0860-cilk-fix-build-without-wchar.patch
+++ b/package/gcc/7.2.0/0860-cilk-fix-build-without-wchar.patch
diff --git a/package/gcc/7.1.0/0891-fix-m68k-uclinux.patch b/package/gcc/7.2.0/0891-fix-m68k-uclinux.patch
index e84fd92453..e84fd92453 100644
--- a/package/gcc/7.1.0/0891-fix-m68k-uclinux.patch
+++ b/package/gcc/7.2.0/0891-fix-m68k-uclinux.patch
diff --git a/package/gcc/7.1.0/0892-microblaze-Revert.patch b/package/gcc/7.2.0/0892-microblaze-Revert.patch
index 7026d0efe1..7026d0efe1 100644
--- a/package/gcc/7.1.0/0892-microblaze-Revert.patch
+++ b/package/gcc/7.2.0/0892-microblaze-Revert.patch
diff --git a/package/gcc/7.1.0/0900-remove-selftests.patch b/package/gcc/7.2.0/0900-remove-selftests.patch
index a3bc7a5730..a3bc7a5730 100644
--- a/package/gcc/7.1.0/0900-remove-selftests.patch
+++ b/package/gcc/7.2.0/0900-remove-selftests.patch
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index a2e02d7aed..ec7b6924ee 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -39,7 +39,6 @@ config BR2_GCC_VERSION_4_9_X
depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le))
# musl mips64 unsupported
depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el))
- # PR60102 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60102
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
config BR2_GCC_VERSION_5_X
@@ -51,8 +50,7 @@ config BR2_GCC_VERSION_5_X
# musl ppc64 unsupported
depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le))
# Unsupported MIPS cores
- depends on !BR2_mips_interaptiv && !BR2_mips_m5150 && \
- !BR2_mips_m6250 && !BR2_mips_i6400 && !BR2_mips_p6600
+ depends on !BR2_mips_interaptiv && !BR2_mips_m5150 && !BR2_mips_i6400
# musl mips64 unsupported
depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el))
select BR2_TOOLCHAIN_GCC_AT_LEAST_5
@@ -62,8 +60,6 @@ config BR2_GCC_VERSION_6_X
# Broken or unsupported architectures
depends on !BR2_arc
depends on !BR2_or1k
- # Unsupported MIPS cores
- depends on !BR2_mips_m6250 && !BR2_mips_p6600
select BR2_TOOLCHAIN_GCC_AT_LEAST_6
config BR2_GCC_VERSION_7_X
@@ -71,8 +67,6 @@ config BR2_GCC_VERSION_7_X
# Broken or unsupported architectures
depends on !BR2_arc
depends on !BR2_or1k
- # Unsupported MIPS cores
- depends on !BR2_mips_m6250 && !BR2_mips_p6600
select BR2_TOOLCHAIN_GCC_AT_LEAST_7
endchoice
@@ -93,7 +87,7 @@ config BR2_GCC_VERSION
default "4.9.4" if BR2_GCC_VERSION_4_9_X
default "5.4.0" if BR2_GCC_VERSION_5_X
default "6.4.0" if BR2_GCC_VERSION_6_X
- default "7.1.0" if BR2_GCC_VERSION_7_X
+ default "7.2.0" if BR2_GCC_VERSION_7_X
default "arc-2017.03" if BR2_GCC_VERSION_ARC
default "musl-5.4.0" if BR2_GCC_VERSION_OR1K
diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk
index 8ca9847ed9..213f3d7b66 100644
--- a/package/gcc/gcc-final/gcc-final.mk
+++ b/package/gcc/gcc-final/gcc-final.mk
@@ -78,6 +78,11 @@ ifeq ($(BR2_bfin),y)
HOST_GCC_FINAL_CONF_OPTS += --disable-symvers
endif
+# libcilkrts does not support v8
+ifeq ($(BR2_sparc),y)
+HOST_GCC_FINAL_CONF_OPTS += --disable-libcilkrts
+endif
+
# Disable shared libs like libstdc++ if we do static since it confuses linking
# In that case also disable libcilkrts as there is no static version
ifeq ($(BR2_STATIC_LIBS),y)
diff --git a/package/gcc/gcc.hash b/package/gcc/gcc.hash
index c3e5ffb4b1..f35a2e2b55 100644
--- a/package/gcc/gcc.hash
+++ b/package/gcc/gcc.hash
@@ -4,8 +4,8 @@ sha512 93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683
sha512 2941cc950c8f2409a314df497631f9b0266211aa74746c1839c46e04f1c7c299afe2528d1ef16ea39def408a644ba48f97519ec7a7dd37d260c3e9423514265b gcc-5.4.0.tar.bz2
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-6.4.0/sha512.sum
sha512 02c60e54527c7adf584798d5251f8a0b80c93d5deafce82501b2c28e6692e0bd783927bbfc4bc527a863c0cccc025150a34740a9e29badb02d4b48e56a8aba90 gcc-6.4.0.tar.xz
-# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.1.0/sha512.sum
-sha512 b5d952be9a10f0e0926bb2868877d10544039d6d2f35ba0a08f51231dd622a007650764a03e173194701467547789ad7d2d9cbc10adcdf118d619cdedbd14aec gcc-7.1.0.tar.bz2
+# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.2.0/sha512.sum
+sha512 f853cd6530b4055d8d8289da74687cb4c6d5f363598d386332d31852b581bac76c3adb7d61889edec3b779f63d8646f0122840f12965ce4a4389ba535dbbb6e1 gcc-7.2.0.tar.xz
# Locally calculated (fetched from Github)
sha512 282f76b8b63372f5b4426092b80d36da96cd0bda2a8588405b9ec22806c69fafb696b0e0df65bc36c3c3aa8ce5befc24246fd5c6ddb21dcde01f45f7b11ff7c4 gcc-arc-2017.03.tar.gz
diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk
index 6ee840e3b9..49ccccf56f 100644
--- a/package/gcc/gcc.mk
+++ b/package/gcc/gcc.mk
@@ -18,9 +18,9 @@ GCC_SITE = $(call github,openrisc,or1k-gcc,$(GCC_VERSION))
GCC_SOURCE = gcc-$(GCC_VERSION).tar.gz
else
GCC_SITE = $(BR2_GNU_MIRROR:/=)/gcc/gcc-$(GCC_VERSION)
-# From version 6.4.0 a bz2 release tarball is not provided anymore. Use the xz
-# tarball instead.
-ifeq ($(BR2_GCC_VERSION_6_X),y)
+# From version 6.4.0 and 7.2.0 a bz2 release tarball is not provided
+# anymore. Use the xz tarball instead.
+ifeq ($(BR2_GCC_VERSION_6_X)$(BR2_GCC_VERSION_7_X),y)
GCC_SOURCE = gcc-$(GCC_VERSION).tar.xz
else
GCC_SOURCE = gcc-$(GCC_VERSION).tar.bz2
diff --git a/package/gdb/7.12.1/0006-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch b/package/gdb/7.12.1/0006-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch
new file mode 100644
index 0000000000..4eb72e4084
--- /dev/null
+++ b/package/gdb/7.12.1/0006-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch
@@ -0,0 +1,41 @@
+From 09a2c3e0164545324a1ddee70f5c9fdee71e2079 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sun, 18 Jun 2017 23:09:43 +0200
+Subject: [PATCH] nat/linux-ptrace.c: add missing gdb_byte* cast
+
+On noMMU platforms, the following code gets compiled:
+
+ child_stack = xmalloc (STACK_SIZE * 4);
+
+Where child_stack is a gdb_byte*, and xmalloc() returns a void*. While
+the lack of cast is valid in C, it is not in C++, causing the
+following build failure:
+
+../nat/linux-ptrace.c: In function 'int linux_fork_to_function(gdb_byte*, int (*)(void*))':
+../nat/linux-ptrace.c:273:29: error: invalid conversion from 'void*' to 'gdb_byte* {aka unsigned char*}' [-fpermissive]
+ child_stack = xmalloc (STACK_SIZE * 4);
+
+Therefore, this commit adds the appropriate cast.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+[Upstream commit: ffce45d2243e5f52f411e314fc4e1a69f431a81f]
+---
+ gdb/nat/linux-ptrace.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c
+index 3447e07..33833e2 100644
+--- a/gdb/nat/linux-ptrace.c
++++ b/gdb/nat/linux-ptrace.c
+@@ -270,7 +270,7 @@ linux_fork_to_function (gdb_byte *child_stack, int (*function) (void *))
+ #define STACK_SIZE 4096
+
+ if (child_stack == NULL)
+- child_stack = xmalloc (STACK_SIZE * 4);
++ child_stack = (gdb_byte*) xmalloc (STACK_SIZE * 4);
+
+ /* Use CLONE_VM instead of fork, to support uClinux (no MMU). */
+ #ifdef __ia64__
+--
+2.9.4
+
diff --git a/package/gdb/8.0/0004-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch b/package/gdb/8.0/0004-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch
new file mode 100644
index 0000000000..4eb72e4084
--- /dev/null
+++ b/package/gdb/8.0/0004-nat-linux-ptrace.c-add-missing-gdb_byte-cast.patch
@@ -0,0 +1,41 @@
+From 09a2c3e0164545324a1ddee70f5c9fdee71e2079 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sun, 18 Jun 2017 23:09:43 +0200
+Subject: [PATCH] nat/linux-ptrace.c: add missing gdb_byte* cast
+
+On noMMU platforms, the following code gets compiled:
+
+ child_stack = xmalloc (STACK_SIZE * 4);
+
+Where child_stack is a gdb_byte*, and xmalloc() returns a void*. While
+the lack of cast is valid in C, it is not in C++, causing the
+following build failure:
+
+../nat/linux-ptrace.c: In function 'int linux_fork_to_function(gdb_byte*, int (*)(void*))':
+../nat/linux-ptrace.c:273:29: error: invalid conversion from 'void*' to 'gdb_byte* {aka unsigned char*}' [-fpermissive]
+ child_stack = xmalloc (STACK_SIZE * 4);
+
+Therefore, this commit adds the appropriate cast.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+[Upstream commit: ffce45d2243e5f52f411e314fc4e1a69f431a81f]
+---
+ gdb/nat/linux-ptrace.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c
+index 3447e07..33833e2 100644
+--- a/gdb/nat/linux-ptrace.c
++++ b/gdb/nat/linux-ptrace.c
+@@ -270,7 +270,7 @@ linux_fork_to_function (gdb_byte *child_stack, int (*function) (void *))
+ #define STACK_SIZE 4096
+
+ if (child_stack == NULL)
+- child_stack = xmalloc (STACK_SIZE * 4);
++ child_stack = (gdb_byte*) xmalloc (STACK_SIZE * 4);
+
+ /* Use CLONE_VM instead of fork, to support uClinux (no MMU). */
+ #ifdef __ia64__
+--
+2.9.4
+
diff --git a/package/git/git.hash b/package/git/git.hash
index 66bb1367d5..8aa0503db1 100644
--- a/package/git/git.hash
+++ b/package/git/git.hash
@@ -1,4 +1,4 @@
# From: https://www.kernel.org/pub/software/scm/git/sha256sums.asc
-sha256 91aa23be428f67eb19616f43fa0229d567e9acf4f08fba33eb0b627e4d323e62 git-2.13.3.tar.xz
+sha256 21c9e29caac86d244ac7af78bc3422746dabb903cb3952a1ceefd801020ad1a1 git-2.13.5.tar.xz
sha256 5b2198d1645f767585e8a88ac0499b04472164c0d2da22e75ecf97ef443ab32e COPYING
sha256 1922f45d2c49e390032c9c0ba6d7cac904087f7cec51af30c2b2ad022ce0e76a LGPL-2.1
diff --git a/package/git/git.mk b/package/git/git.mk
index d95c2fec36..fe4d553760 100644
--- a/package/git/git.mk
+++ b/package/git/git.mk
@@ -4,7 +4,7 @@
#
################################################################################
-GIT_VERSION = 2.13.3
+GIT_VERSION = 2.13.5
GIT_SOURCE = git-$(GIT_VERSION).tar.xz
GIT_SITE = $(BR2_KERNEL_MIRROR)/software/scm/git
GIT_LICENSE = GPL-2.0, LGPL-2.1+
diff --git a/package/glibc/0006-sh4-trap.patch b/package/glibc/0006-sh4-trap.patch
new file mode 100644
index 0000000000..c986ac3192
--- /dev/null
+++ b/package/glibc/0006-sh4-trap.patch
@@ -0,0 +1,318 @@
+commit db3d848e154b00071f4a5e729d5884efad410109
+Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
+Date: Wed Mar 15 15:44:59 2017 -0300
+
+ Build divdi3 only for architecture that required it
+
+ As noted in [1], divdi3 object is only exported in a handful ABIs
+ (i386, m68k, powerpc32, s390-32, and ia64), however it is built
+ for all current architectures regardless.
+
+ This patch refact the make rules for this object to so only the
+ aforementioned architectures that actually require it builds it.
+
+ Also, to avoid internal PLT calls to the exported symbol from the
+ module, glibc uses an internal header (symbol-hacks.h) which is
+ unrequired (and in fact breaks the build for architectures that
+ intend to get symbol definitions from libgcc.a). The patch also
+ changes it to create its own header (divdi3-symbol-hacks.h) and
+ adjust the architectures that require it accordingly.
+
+ I checked the build/check (with run-built-tests=no) on the
+ following architectures (which I think must cover all supported
+ ABI/builds) using GCC 6.3:
+
+ aarch64-linux-gnu
+ alpha-linux-gnu
+ arm-linux-gnueabihf
+ hppa-linux-gnu
+ ia64-linux-gnu
+ m68k-linux-gnu
+ microblaze-linux-gnu
+ mips64-n32-linux-gnu
+ mips-linux-gnu
+ mips64-linux-gnu
+ nios2-linux-gnu
+ powerpc-linux-gnu
+ powerpc-linux-gnu-power4
+ powerpc64-linux-gnu
+ powerpc64le-linux-gnu
+ s390x-linux-gnu
+ s390-linux-gnu
+ sh4-linux-gnu
+ sh4-linux-gnu-soft
+ sparc64-linux-gnu
+ sparcv9-linux-gnu
+ tilegx-linux-gnu
+ tilegx-linux-gnu-32
+ tilepro-linux-gnu
+ x86_64-linux-gnu
+ x86_64-linux-gnu-x32
+ i686-linux-gnu
+
+ I only saw one regression on sparcv9-linux-gnu (extra PLT call to
+ .udiv) which I address in next patch in the set. It also correctly
+ build SH with GCC 7.0.1 (without any regression from c89721e25d).
+
+ [1] https://sourceware.org/ml/libc-alpha/2017-03/msg00243.html
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+
+diff --git a/sysdeps/i386/symbol-hacks.h b/sysdeps/i386/symbol-hacks.h
+new file mode 100644
+index 0000000000..36a13c83f7
+--- /dev/null
++++ b/sysdeps/i386/symbol-hacks.h
+@@ -0,0 +1,21 @@
++/* Hacks needed for symbol manipulation. i386 version.
++ Copyright (C) 2017 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h>
++
++#include_next "symbol-hacks.h"
+diff --git a/sysdeps/m68k/symbol-hacks.h b/sysdeps/m68k/symbol-hacks.h
+new file mode 100644
+index 0000000000..e449d29810
+--- /dev/null
++++ b/sysdeps/m68k/symbol-hacks.h
+@@ -0,0 +1,21 @@
++/* Hacks needed for symbol manipulation. m68k version.
++ Copyright (C) 2017 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h>
++
++#include_next "symbol-hacks.h"
+diff --git a/sysdeps/powerpc/powerpc32/symbol-hacks.h b/sysdeps/powerpc/powerpc32/symbol-hacks.h
+new file mode 100644
+index 0000000000..dbb3141621
+--- /dev/null
++++ b/sysdeps/powerpc/powerpc32/symbol-hacks.h
+@@ -0,0 +1,21 @@
++/* Hacks needed for symbol manipulation. powerpc version.
++ Copyright (C) 2017 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h>
++
++#include_next "symbol-hacks.h"
+diff --git a/sysdeps/s390/s390-32/symbol-hacks.h b/sysdeps/s390/s390-32/symbol-hacks.h
+new file mode 100644
+index 0000000000..585c42365a
+--- /dev/null
++++ b/sysdeps/s390/s390-32/symbol-hacks.h
+@@ -0,0 +1,21 @@
++/* Hacks needed for symbol manipulation. s390 version.
++ Copyright (C) 2017 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#include <sysdeps/wordsize-32/divdi3-symbol-hacks.h>
++
++#include_next "symbol-hacks.h"
+diff --git a/sysdeps/unix/sysv/linux/i386/Makefile b/sysdeps/unix/sysv/linux/i386/Makefile
+index 6aac0dfe15..4080b8c966 100644
+--- a/sysdeps/unix/sysv/linux/i386/Makefile
++++ b/sysdeps/unix/sysv/linux/i386/Makefile
+@@ -26,6 +26,11 @@ endif
+
+ ifeq ($(subdir),csu)
+ sysdep-dl-routines += sysdep
++ifeq (yes,$(build-shared))
++sysdep_routines += divdi3
++shared-only-routines += divdi3
++CPPFLAGS-divdi3.c = -Din_divdi3_c
++endif
+ endif
+
+ ifeq ($(subdir),nptl)
+diff --git a/sysdeps/unix/sysv/linux/m68k/Makefile b/sysdeps/unix/sysv/linux/m68k/Makefile
+index 5c50ce6927..ce1f696a6f 100644
+--- a/sysdeps/unix/sysv/linux/m68k/Makefile
++++ b/sysdeps/unix/sysv/linux/m68k/Makefile
+@@ -4,6 +4,11 @@ m68k-syntax-flag = -DMOTOROLA_SYNTAX
+
+ ifeq ($(subdir),csu)
+ sysdep_routines += m68k-helpers
++ifeq (yes,$(build-shared))
++sysdep_routines += divdi3
++shared-only-routines += divdi3
++CPPFLAGS-divdi3.c = -Din_divdi3_c
++endif
+ endif
+
+ ifeq ($(subdir),misc)
+diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile b/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
+index 3d6c150582..1f45659ed1 100644
+--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile
+@@ -1,2 +1,10 @@
+ # See Makeconfig regarding the use of default-abi.
+ default-abi := 32
++
++ifeq ($(subdir),csu)
++ifeq (yes,$(build-shared))
++sysdep_routines += divdi3
++shared-only-routines += divdi3
++CPPFLAGS-divdi3.c = -Din_divdi3_c
++endif
++endif
+diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/Makefile b/sysdeps/unix/sysv/linux/s390/s390-32/Makefile
+index da3b3c76b4..fd8cf92633 100644
+--- a/sysdeps/unix/sysv/linux/s390/s390-32/Makefile
++++ b/sysdeps/unix/sysv/linux/s390/s390-32/Makefile
+@@ -21,3 +21,11 @@ endif
+ ifeq ($(subdir),stdlib)
+ sysdep_routines += __makecontext_ret
+ endif
++
++ifeq ($(subdir),csu)
++ifeq (yes,$(build-shared))
++sysdep_routines += divdi3
++shared-only-routines += divdi3
++CPPFLAGS-divdi3.c = -Din_divdi3_c
++endif
++endif
+diff --git a/sysdeps/wordsize-32/Makefile b/sysdeps/wordsize-32/Makefile
+deleted file mode 100644
+index 82beac44ed..0000000000
+--- a/sysdeps/wordsize-32/Makefile
++++ /dev/null
+@@ -1,7 +0,0 @@
+-ifeq ($(subdir),csu)
+-ifeq (yes,$(build-shared))
+-sysdep_routines += divdi3
+-shared-only-routines += divdi3
+-CPPFLAGS-divdi3.c = -Din_divdi3_c
+-endif
+-endif
+diff --git a/sysdeps/wordsize-32/divdi3-symbol-hacks.h b/sysdeps/wordsize-32/divdi3-symbol-hacks.h
+new file mode 100644
+index 0000000000..6c90cb796d
+--- /dev/null
++++ b/sysdeps/wordsize-32/divdi3-symbol-hacks.h
+@@ -0,0 +1,31 @@
++/* Hacks needed for divdi3 symbol manipulation.
++ Copyright (C) 2004-2017 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++/* A very dirty trick: gcc emits references to __divdi3, __udivdi3,
++ __moddi3, and __umoddi3. These functions are exported and
++ therefore we get PLTs. Unnecessarily so. Changing gcc is a big
++ task which might not be worth it so we play tricks with the
++ assembler.
++ Note: in_divdi3_c is only used to avoid symbol alias on divdi3
++ build itself. */
++#if !defined __ASSEMBLER__ && !defined in_divdi3_c && IS_IN (libc) && defined SHARED
++asm ("__divdi3 = __divdi3_internal");
++asm ("__udivdi3 = __udivdi3_internal");
++asm ("__moddi3 = __moddi3_internal");
++asm ("__umoddi3 = __umoddi3_internal");
++#endif
+diff --git a/sysdeps/wordsize-32/symbol-hacks.h b/sysdeps/wordsize-32/symbol-hacks.h
+deleted file mode 100644
+index 0aec1e0b97..0000000000
+--- a/sysdeps/wordsize-32/symbol-hacks.h
++++ /dev/null
+@@ -1,31 +0,0 @@
+-/* Hacks needed for symbol manipulation.
+- Copyright (C) 2004-2017 Free Software Foundation, Inc.
+- This file is part of the GNU C Library.
+-
+- The GNU C Library is free software; you can redistribute it and/or
+- modify it under the terms of the GNU Lesser General Public
+- License as published by the Free Software Foundation; either
+- version 2.1 of the License, or (at your option) any later version.
+-
+- The GNU C Library is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- Lesser General Public License for more details.
+-
+- You should have received a copy of the GNU Lesser General Public
+- License along with the GNU C Library; if not, see
+- <http://www.gnu.org/licenses/>. */
+-
+-#include_next "symbol-hacks.h"
+-
+-/* A very dirty trick: gcc emits references to __divdi3, __udivdi3,
+- __moddi3, and __umoddi3. These functions are exported and
+- therefore we get PLTs. Unnecessarily so. Changing gcc is a big
+- task which might not be worth it so we play tricks with the
+- assembler. */
+-#if !defined __ASSEMBLER__ && !defined in_divdi3_c && IS_IN (libc) && defined SHARED
+-asm ("__divdi3 = __divdi3_internal");
+-asm ("__udivdi3 = __udivdi3_internal");
+-asm ("__moddi3 = __moddi3_internal");
+-asm ("__umoddi3 = __umoddi3_internal");
+-#endif
diff --git a/package/gnupg/gnupg.hash b/package/gnupg/gnupg.hash
index 8968b00d2b..abd76cde9c 100644
--- a/package/gnupg/gnupg.hash
+++ b/package/gnupg/gnupg.hash
@@ -1,4 +1,3 @@
-# From https://lists.gnu.org/archive/html/info-gnu/2016-08/msg00008.html
-sha1 e3bdb585026f752ae91360f45c28e76e4a15d338 gnupg-1.4.21.tar.bz2
-# Locally computed
-sha256 6b47a3100c857dcab3c60e6152e56a997f2c7862c1b8b2b25adf3884a1ae2276 gnupg-1.4.21.tar.bz2
+# Locally computed based on signature
+# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-1.4.22.tar.bz2.sig
+sha256 9594a24bec63a21568424242e3f198b9d9828dea5ff0c335e47b06f835f930b4 gnupg-1.4.22.tar.bz2
diff --git a/package/gnupg/gnupg.mk b/package/gnupg/gnupg.mk
index b3578b87df..0ed3e1e063 100644
--- a/package/gnupg/gnupg.mk
+++ b/package/gnupg/gnupg.mk
@@ -4,9 +4,9 @@
#
################################################################################
-GNUPG_VERSION = 1.4.21
+GNUPG_VERSION = 1.4.22
GNUPG_SOURCE = gnupg-$(GNUPG_VERSION).tar.bz2
-GNUPG_SITE = ftp://ftp.gnupg.org/gcrypt/gnupg
+GNUPG_SITE = https://gnupg.org/ftp/gcrypt/gnupg
GNUPG_LICENSE = GPL-3.0+
GNUPG_LICENSE_FILES = COPYING
GNUPG_DEPENDENCIES = zlib ncurses $(if $(BR2_PACKAGE_LIBICONV),libiconv)
diff --git a/package/gpsd/0002-SConstruct-do-not-force-O2-by-default.patch b/package/gpsd/0002-SConstruct-do-not-force-O2-by-default.patch
new file mode 100644
index 0000000000..641afa30af
--- /dev/null
+++ b/package/gpsd/0002-SConstruct-do-not-force-O2-by-default.patch
@@ -0,0 +1,29 @@
+From eb7cce5dbb53a64cf55ac0d9a7fa4dcbebd4b173 Mon Sep 17 00:00:00 2001
+From: Waldemar Brodkorb <wbx@openadk.org>
+Date: Mon, 14 Aug 2017 23:24:38 +0200
+Subject: [PATCH] SConstruct: do not force -O2 by default
+
+-O2 can cause problems on some architectures, so do not force it by
+ default.
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+---
+ SConstruct | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index fe444a2..93d91a4 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -330,8 +330,6 @@ if not 'CCFLAGS' in os.environ:
+ # Should we build with optimisation?
+ if env['debug'] or env['coveraging']:
+ env.Append(CCFLAGS=['-O0'])
+- else:
+- env.Append(CCFLAGS=['-O2'])
+
+ # Get a slight speedup by not doing automatic RCS and SCCS fetches.
+ env.SourceCode('.', None)
+--
+2.9.4
+
diff --git a/package/gpsd/gpsd.mk b/package/gpsd/gpsd.mk
index 552d6d9367..2b9c38a42b 100644
--- a/package/gpsd/gpsd.mk
+++ b/package/gpsd/gpsd.mk
@@ -44,7 +44,7 @@ endif
# A bug was reported to the gcc bug tracker:
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485
ifeq ($(BR2_microblaze),y)
-GPSD_CFLAGS += -fno-expensive-optimizations -fno-schedule-insns
+GPSD_CFLAGS += -O0
endif
# Enable or disable Qt binding
diff --git a/package/gstreamer1/gst1-validate/gst1-validate.mk b/package/gstreamer1/gst1-validate/gst1-validate.mk
index c5e3ec6fc9..31b01ef5fa 100644
--- a/package/gstreamer1/gst1-validate/gst1-validate.mk
+++ b/package/gstreamer1/gst1-validate/gst1-validate.mk
@@ -18,4 +18,6 @@ GST1_VALIDATE_DEPENDENCIES = \
python \
$(if $(BR2_PACKAGE_CAIRO),cairo)
+GST1_VALIDATE_CONF_OPTS += --disable-sphinx-doc
+
$(eval $(autotools-package))
diff --git a/package/iostat/iostat.mk b/package/iostat/iostat.mk
index d591c67dcb..4953c73ec4 100644
--- a/package/iostat/iostat.mk
+++ b/package/iostat/iostat.mk
@@ -5,7 +5,7 @@
################################################################################
IOSTAT_VERSION = 2.2
-IOSTAT_SITE = http://www.linuxinsight.com/files
+IOSTAT_SITE = http://linuxinsight.com/sites/default/files
IOSTAT_LICENSE = GPL
IOSTAT_LICENSE_FILES = LICENSE
diff --git a/package/iucode-tool/iucode-tool.mk b/package/iucode-tool/iucode-tool.mk
index f28698bfd1..e8ae36cede 100644
--- a/package/iucode-tool/iucode-tool.mk
+++ b/package/iucode-tool/iucode-tool.mk
@@ -6,7 +6,7 @@
IUCODE_TOOL_VERSION = 1.5
IUCODE_TOOL_SOURCE = iucode-tool_$(IUCODE_TOOL_VERSION).tar.xz
-IUCODE_TOOL_SITE = https://gitlab.com/iucode-tool/releases/raw/latest
+IUCODE_TOOL_SITE = https://gitlab.com/iucode-tool/releases/raw/master
ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y)
IUCODE_TOOL_CONF_ENV = LIBS="-largp"
IUCODE_TOOL_DEPENDENCIES = argp-standalone
diff --git a/package/kvmtool/0001-avoid-redefining-PAGE_SIZE.patch b/package/kvmtool/0001-avoid-redefining-PAGE_SIZE.patch
new file mode 100644
index 0000000000..ed3370cfc8
--- /dev/null
+++ b/package/kvmtool/0001-avoid-redefining-PAGE_SIZE.patch
@@ -0,0 +1,42 @@
+From bec1b0ced72dc0d49825d6b69d09296d13fd0af3 Mon Sep 17 00:00:00 2001
+From: Andre Przywara <andre.przywara@arm.com>
+Date: Tue, 21 Jul 2015 10:58:46 +0100
+Subject: [PATCH] avoid redefining PAGE_SIZE
+
+PAGE_SIZE may have been defined by the C libary (musl-libc does that).
+So avoid redefining it here unconditionally, instead only use our
+definition if none has been provided by the libc.
+
+Signed-off-by: Andre Przywara <andre.przywara@arm.com>
+Signed-off-by: Will Deacon <will.deacon@arm.com>
+[backport from upstream commit 4095fac878f618ae5e7384a1dc65ee34b6e05217.]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ include/kvm/kvm.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/include/kvm/kvm.h b/include/kvm/kvm.h
+index 754e029..37155db 100644
+--- a/include/kvm/kvm.h
++++ b/include/kvm/kvm.h
+@@ -11,6 +11,7 @@
+ #include <time.h>
+ #include <signal.h>
+ #include <sys/prctl.h>
++#include <limits.h>
+
+ #define SIGKVMEXIT (SIGRTMIN + 0)
+ #define SIGKVMPAUSE (SIGRTMIN + 1)
+@@ -19,7 +20,9 @@
+ #define HOME_DIR getenv("HOME")
+ #define KVM_BINARY_NAME "lkvm"
+
++#ifndef PAGE_SIZE
+ #define PAGE_SIZE (sysconf(_SC_PAGE_SIZE))
++#endif
+
+ #define DEFINE_KVM_EXT(ext) \
+ .name = #ext, \
+--
+2.9.4
+
diff --git a/package/kvmtool/0002-x86-kvm-cpu.c-don-t-include-asm-msr-index.h.patch b/package/kvmtool/0002-x86-kvm-cpu.c-don-t-include-asm-msr-index.h.patch
new file mode 100644
index 0000000000..842c131dc5
--- /dev/null
+++ b/package/kvmtool/0002-x86-kvm-cpu.c-don-t-include-asm-msr-index.h.patch
@@ -0,0 +1,58 @@
+From ce9abb649165aca728e4645ce09e7bb77e684b06 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sat, 19 Aug 2017 16:35:59 +0200
+Subject: [PATCH] x86/kvm-cpu.c: don't include <asm/msr-index.h>
+
+Since kernel commit 25dc1d6cc3082aab293e5dad47623b550f7ddd2a ("x86:
+stop exporting msr-index.h to userland"), <asm/msr-index.h> is no
+longer exported to userspace. Therefore, any toolchain built with
+kernel headers >= 4.12 will no longer have this header file, causing a
+build failure in kvmtool.
+
+As a replacement, this patch includes inside x86/kvm-cpu.c the
+necessary MSR_* definitions.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Submitted-upstream: https://patchwork.kernel.org/patch/9910687/
+---
+ x86/kvm-cpu.c | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/x86/kvm-cpu.c b/x86/kvm-cpu.c
+index 5cc4e1e..b02ff65 100644
+--- a/x86/kvm-cpu.c
++++ b/x86/kvm-cpu.c
+@@ -4,7 +4,6 @@
+ #include "kvm/util.h"
+ #include "kvm/kvm.h"
+
+-#include <asm/msr-index.h>
+ #include <asm/apicdef.h>
+ #include <linux/err.h>
+ #include <sys/ioctl.h>
+@@ -136,6 +135,22 @@ static struct kvm_msrs *kvm_msrs__new(size_t nmsrs)
+ return vcpu;
+ }
+
++#define MSR_IA32_SYSENTER_CS 0x00000174
++#define MSR_IA32_SYSENTER_ESP 0x00000175
++#define MSR_IA32_SYSENTER_EIP 0x00000176
++
++#define MSR_STAR 0xc0000081 /* legacy mode SYSCALL target */
++#define MSR_LSTAR 0xc0000082 /* long mode SYSCALL target */
++#define MSR_CSTAR 0xc0000083 /* compat mode SYSCALL target */
++#define MSR_SYSCALL_MASK 0xc0000084 /* EFLAGS mask for syscall */
++#define MSR_KERNEL_GS_BASE 0xc0000102 /* SwapGS GS shadow */
++
++#define MSR_IA32_TSC 0x00000010
++#define MSR_IA32_MISC_ENABLE 0x000001a0
++
++#define MSR_IA32_MISC_ENABLE_FAST_STRING_BIT 0
++#define MSR_IA32_MISC_ENABLE_FAST_STRING (1ULL << MSR_IA32_MISC_ENABLE_FAST_STRING_BIT)
++
+ #define KVM_MSR_ENTRY(_index, _data) \
+ (struct kvm_msr_entry) { .index = _index, .data = _data }
+
+--
+2.9.4
+
diff --git a/package/kvmtool/0003-use-poll.h-instead-of-sys-poll.h.patch b/package/kvmtool/0003-use-poll.h-instead-of-sys-poll.h.patch
new file mode 100644
index 0000000000..a358569b67
--- /dev/null
+++ b/package/kvmtool/0003-use-poll.h-instead-of-sys-poll.h.patch
@@ -0,0 +1,33 @@
+From 19490e24895df95253e43a7aacf3ef408b830bd5 Mon Sep 17 00:00:00 2001
+From: Andre Przywara <andre.przywara@arm.com>
+Date: Fri, 17 Jul 2015 17:02:15 +0100
+Subject: [PATCH] use <poll.h> instead of <sys/poll.h>
+
+The manpage of poll(2) states that the prototype of poll is defined
+in <poll.h>. Use that header file instead of <sys/poll.h> to allow
+compilation against musl-libc.
+
+Signed-off-by: Andre Przywara <andre.przywara@arm.com>
+Signed-off-by: Will Deacon <will.deacon@arm.com>
+[backport from upstream commit 52c22e6e64a94cc701d86587d32cd3822ac5c293.]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ disk/core.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/disk/core.c b/disk/core.c
+index 309e16c..dd2f258 100644
+--- a/disk/core.c
++++ b/disk/core.c
+@@ -5,7 +5,7 @@
+
+ #include <linux/err.h>
+ #include <sys/eventfd.h>
+-#include <sys/poll.h>
++#include <poll.h>
+
+ #define AIO_MAX 256
+
+--
+2.9.4
+
diff --git a/package/kvmtool/0004-check-for-and-use-C-library-provided-strlcpy-and-str.patch b/package/kvmtool/0004-check-for-and-use-C-library-provided-strlcpy-and-str.patch
new file mode 100644
index 0000000000..d0591b9e4d
--- /dev/null
+++ b/package/kvmtool/0004-check-for-and-use-C-library-provided-strlcpy-and-str.patch
@@ -0,0 +1,90 @@
+From 7a9c16dcf58ff4c8154f3a9dfa1f02ec3daa1662 Mon Sep 17 00:00:00 2001
+From: Andre Przywara <andre.przywara@arm.com>
+Date: Fri, 17 Jul 2015 17:02:16 +0100
+Subject: [PATCH] check for and use C library provided strlcpy and strlcat
+
+The musl-libc library provides implementations of strlcpy and strlcat,
+so introduce a feature check for it and only use the kvmtool
+implementation if there is no library support for it.
+This avoids clashes with the public definition.
+
+Signed-off-by: Andre Przywara <andre.przywara@arm.com>
+Signed-off-by: Will Deacon <will.deacon@arm.com>
+[backport from upstream commit 8f22adc4230f07980a318ad1662fba5af0c131c1.]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ Makefile | 5 +++++
+ config/feature-tests.mak | 10 ++++++++++
+ include/kvm/strbuf.h | 2 ++
+ util/strbuf.c | 2 ++
+ 4 files changed, 19 insertions(+)
+
+diff --git a/Makefile b/Makefile
+index 151fa9d..bf71db4 100644
+--- a/Makefile
++++ b/Makefile
+@@ -199,6 +199,11 @@ endif
+ # On a given system, some libs may link statically, some may not; so, check
+ # both and only build those that link!
+
++ifeq ($(call try-build,$(SOURCE_STRLCPY),$(CFLAGS),),y)
++ CFLAGS_DYNOPT += -DHAVE_STRLCPY
++ CFLAGS_STATOPT += -DHAVE_STRLCPY
++endif
++
+ ifeq ($(call try-build,$(SOURCE_BFD),$(CFLAGS),-lbfd -static),y)
+ CFLAGS_STATOPT += -DCONFIG_HAS_BFD
+ OBJS_STATOPT += symbol.o
+diff --git a/config/feature-tests.mak b/config/feature-tests.mak
+index 6bee6c2..03cdb42 100644
+--- a/config/feature-tests.mak
++++ b/config/feature-tests.mak
+@@ -196,3 +196,13 @@ int main(void)
+ return 0;
+ }
+ endef
++
++define SOURCE_STRLCPY
++#include <string.h>
++
++int main(void)
++{
++ strlcpy(NULL, NULL, 0);
++ return 0;
++}
++endef
+diff --git a/include/kvm/strbuf.h b/include/kvm/strbuf.h
+index 2beefbc..7657339 100644
+--- a/include/kvm/strbuf.h
++++ b/include/kvm/strbuf.h
+@@ -6,8 +6,10 @@
+
+ int prefixcmp(const char *str, const char *prefix);
+
++#ifndef HAVE_STRLCPY
+ extern size_t strlcat(char *dest, const char *src, size_t count);
+ extern size_t strlcpy(char *dest, const char *src, size_t size);
++#endif
+
+ /* some inline functions */
+
+diff --git a/util/strbuf.c b/util/strbuf.c
+index 99d6b0c..2c6e8ad 100644
+--- a/util/strbuf.c
++++ b/util/strbuf.c
+@@ -13,6 +13,7 @@ int prefixcmp(const char *str, const char *prefix)
+ }
+ }
+
++#ifndef HAVE_STRLCPY
+ /**
+ * strlcat - Append a length-limited, %NUL-terminated string to another
+ * @dest: The string to be appended to
+@@ -60,3 +61,4 @@ size_t strlcpy(char *dest, const char *src, size_t size)
+ }
+ return ret;
+ }
++#endif
+--
+2.9.4
+
diff --git a/package/kvmtool/0005-Fix-call-to-connect.patch b/package/kvmtool/0005-Fix-call-to-connect.patch
new file mode 100644
index 0000000000..434ca34b2f
--- /dev/null
+++ b/package/kvmtool/0005-Fix-call-to-connect.patch
@@ -0,0 +1,34 @@
+From d375235f49184371026791ae8f6f9dc307de8a61 Mon Sep 17 00:00:00 2001
+From: Andre Przywara <andre.przywara@arm.com>
+Date: Fri, 17 Jul 2015 17:02:14 +0100
+Subject: [PATCH] Fix call to connect()
+
+According to the manpage and the prototype the second argument to
+connect(2) is a "const struct sockaddr*", so cast our protocol
+specific type back to the super type.
+This fixes compilation on musl-libc.
+
+Signed-off-by: Andre Przywara <andre.przywara@arm.com>
+Signed-off-by: Will Deacon <will.deacon@arm.com>
+[backport from upstream commit d77bd4f466f341d4b35fe8b91176ef8a37160e19.]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ kvm-ipc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kvm-ipc.c b/kvm-ipc.c
+index b1c43dd..5a0b6e0 100644
+--- a/kvm-ipc.c
++++ b/kvm-ipc.c
+@@ -99,7 +99,7 @@ int kvm__get_sock_by_instance(const char *name)
+ strlcpy(local.sun_path, sock_file, sizeof(local.sun_path));
+ len = strlen(local.sun_path) + sizeof(local.sun_family);
+
+- r = connect(s, &local, len);
++ r = connect(s, (struct sockaddr *)&local, len);
+ if (r < 0 && errno == ECONNREFUSED) {
+ /* Tell the user clean ghost socket file */
+ pr_err("\"%s\" could be a ghost socket file, please remove it",
+--
+2.9.4
+
diff --git a/package/libconfuse/Config.in b/package/libconfuse/Config.in
index be18cbb073..b96b8f2811 100644
--- a/package/libconfuse/Config.in
+++ b/package/libconfuse/Config.in
@@ -8,4 +8,4 @@ config BR2_PACKAGE_LIBCONFUSE
environment variable expansion, functions and nested include
statements.
- http://savannah.nongnu.org/download/confuse/
+ https://github.com/martinh/libconfuse/
diff --git a/package/libconfuse/libconfuse.hash b/package/libconfuse/libconfuse.hash
index e57e59c56d..826a9263f5 100644
--- a/package/libconfuse/libconfuse.hash
+++ b/package/libconfuse/libconfuse.hash
@@ -1,3 +1,4 @@
-# From https://github.com/martinh/libconfuse/releases/download/v3.1/confuse-3.1.tar.xz.md5, sha256 locally computed.
-md5 08f1ace0055f92d80a8ad11671346a37 confuse-3.1.tar.xz
-sha256 8171f31e0071d5e4460269fdcc8b4e748cf23b4bf6bbe672f718a136dd63ca66 confuse-3.1.tar.xz
+# From https://github.com/martinh/libconfuse/releases/download/v3.2/confuse-3.2.tar.xz.md5
+md5 84259ac3bd495645ab2fe61654917232 confuse-3.2.tar.xz
+# Locally computed
+sha256 a46abb8696026d314197b6a70ae1a1c296342a9a68aa69b1935709c1477a4e48 confuse-3.1.tar.xz
diff --git a/package/libconfuse/libconfuse.mk b/package/libconfuse/libconfuse.mk
index 07a73c8937..431fefd4c7 100644
--- a/package/libconfuse/libconfuse.mk
+++ b/package/libconfuse/libconfuse.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBCONFUSE_VERSION = 3.1
+LIBCONFUSE_VERSION = 3.2
LIBCONFUSE_SOURCE = confuse-$(LIBCONFUSE_VERSION).tar.xz
LIBCONFUSE_SITE = https://github.com/martinh/libconfuse/releases/download/v$(LIBCONFUSE_VERSION)
LIBCONFUSE_INSTALL_STAGING = YES
diff --git a/package/libcurl/0001-curl-system.h-support-more-architectures.patch b/package/libcurl/0001-curl-system.h-support-more-architectures.patch
new file mode 100644
index 0000000000..94d9a2a11f
--- /dev/null
+++ b/package/libcurl/0001-curl-system.h-support-more-architectures.patch
@@ -0,0 +1,47 @@
+From 7d84bd820ef412d251b643a4faced105668f4ebd Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Fri, 11 Aug 2017 18:52:37 +0200
+Subject: [PATCH] curl/system.h: support more architectures
+
+The long list of architectures in include/curl/system.h is annoying to
+maintain, and needs to be extended for each and every architecture to
+support.
+
+Instead, let's rely on the __SIZEOF_LONG__ define of the gcc compiler
+(we are in the GNUC condition anyway), which tells us if long is 4
+bytes or 8 bytes.
+
+This fixes the build of libcurl 7.55.0 on architectures such as
+OpenRISC or ARC.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ include/curl/system.h | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/include/curl/system.h b/include/curl/system.h
+index 79abf8f..0e13075 100644
+--- a/include/curl/system.h
++++ b/include/curl/system.h
+@@ -403,7 +403,7 @@
+ # if !defined(__LP64__) && (defined(__ILP32__) || \
+ defined(__i386__) || defined(__ppc__) || defined(__arm__) || \
+ defined(__sparc__) || defined(__mips__) || defined(__sh__) || \
+- defined(__XTENSA__))
++ defined(__XTENSA__) || (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 4))
+ # define CURL_SIZEOF_LONG 4
+ # define CURL_TYPEOF_CURL_OFF_T long long
+ # define CURL_FORMAT_CURL_OFF_T "lld"
+@@ -412,7 +412,8 @@
+ # define CURL_SUFFIX_CURL_OFF_T LL
+ # define CURL_SUFFIX_CURL_OFF_TU ULL
+ # elif defined(__LP64__) || \
+- defined(__x86_64__) || defined(__ppc64__) || defined(__sparc64__)
++ defined(__x86_64__) || defined(__ppc64__) || defined(__sparc64__) || \
++ (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 8)
+ # define CURL_SIZEOF_LONG 8
+ # define CURL_TYPEOF_CURL_OFF_T long
+ # define CURL_FORMAT_CURL_OFF_T "ld"
+--
+2.9.4
+
diff --git a/package/libcurl/libcurl.hash b/package/libcurl/libcurl.hash
index 1b8d80fc96..6d49b67428 100644
--- a/package/libcurl/libcurl.hash
+++ b/package/libcurl/libcurl.hash
@@ -1,2 +1,3 @@
# Locally calculated after checking pgp signature
-sha256 fdfc4df2d001ee0c44ec071186e770046249263c491fcae48df0e1a3ca8f25a0 curl-7.54.1.tar.bz2
+# https://curl.haxx.se/download/curl-7.55.0.tar.xz.asc
+sha256 cdd58522f8607fd4e871df79d73acb3155075e2134641e5adab12a0962df059d curl-7.55.0.tar.xz
diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk
index 684844919e..dd0ccbfa46 100644
--- a/package/libcurl/libcurl.mk
+++ b/package/libcurl/libcurl.mk
@@ -4,8 +4,8 @@
#
################################################################################
-LIBCURL_VERSION = 7.54.1
-LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.bz2
+LIBCURL_VERSION = 7.55.0
+LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz
LIBCURL_SITE = https://curl.haxx.se/download
LIBCURL_DEPENDENCIES = host-pkgconf \
$(if $(BR2_PACKAGE_ZLIB),zlib) \
diff --git a/package/libepoxy/0003-epoxy_internal_has_gl_extension-epoxy_egl_version-ad.patch b/package/libepoxy/0003-epoxy_internal_has_gl_extension-epoxy_egl_version-ad.patch
new file mode 100644
index 0000000000..770d210097
--- /dev/null
+++ b/package/libepoxy/0003-epoxy_internal_has_gl_extension-epoxy_egl_version-ad.patch
@@ -0,0 +1,62 @@
+From 0e004b7344ea67fd682f33446d19e3b63a187513 Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Mon, 24 Apr 2017 16:10:28 +0200
+Subject: [PATCH] epoxy_internal_has_gl_extension, epoxy_egl_version: add some
+ missing nullpointer checks from
+ https://bugzilla.redhat.com/show_bug.cgi?id=1395366 Related commit:
+ b3b8bd9af7bf1fcfe544fd131f4d4f0d117ae7bc Fix "epoxy_glx_version" to handle
+ the case when GLX is not active on the display. Patch is tweak from the
+ original version posted by Tom Horsley
+
+Backported from: https://github.com/anholt/libepoxy/pull/118
+
+Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
+---
+ src/dispatch_common.c | 9 ++++++++-
+ src/dispatch_egl.c | 3 +++
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/src/dispatch_common.c b/src/dispatch_common.c
+index b521b1b..a38c0fc 100644
+--- a/src/dispatch_common.c
++++ b/src/dispatch_common.c
+@@ -443,7 +443,12 @@ bool
+ epoxy_extension_in_string(const char *extension_list, const char *ext)
+ {
+ const char *ptr = extension_list;
+- int len = strlen(ext);
++ int len;
++
++ if (!ext)
++ return false;
++
++ len = strlen(ext);
+
+ if (extension_list == NULL || *extension_list == '\0')
+ return false;
+@@ -478,6 +483,8 @@ epoxy_internal_has_gl_extension(const char *ext, bool invalid_op_mode)
+
+ for (i = 0; i < num_extensions; i++) {
+ const char *gl_ext = (const char *)glGetStringi(GL_EXTENSIONS, i);
++ if (!gl_ext)
++ return false;
+ if (strcmp(ext, gl_ext) == 0)
+ return true;
+ }
+diff --git a/src/dispatch_egl.c b/src/dispatch_egl.c
+index 50e66dd..f555a58 100644
+--- a/src/dispatch_egl.c
++++ b/src/dispatch_egl.c
+@@ -65,6 +65,9 @@ epoxy_egl_version(EGLDisplay dpy)
+ int ret;
+
+ version_string = eglQueryString(dpy, EGL_VERSION);
++ if (!version_string)
++ return 0;
++
+ ret = sscanf(version_string, "%d.%d", &major, &minor);
+ assert(ret == 2);
+ return major * 10 + minor;
+--
+2.14.1
+
diff --git a/package/libgcrypt/libgcrypt.hash b/package/libgcrypt/libgcrypt.hash
index 8ac9f0a92b..56a45c5398 100644
--- a/package/libgcrypt/libgcrypt.hash
+++ b/package/libgcrypt/libgcrypt.hash
@@ -1,5 +1,3 @@
-# From https://lists.gnupg.org/pipermail/gnupg-announce/2017q2/000408.html
-sha1 65a4a495aa858483e66868199eaa8238572ca6cd libgcrypt-1.7.8.tar.bz2
# Locally calculated after checking signature
-# https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.7.8.tar.bz2.sig
-sha256 948276ea47e6ba0244f36a17b51dcdd52cfd1e664b0a1ac3bc82134fb6cec199 libgcrypt-1.7.8.tar.bz2
+# https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.7.9.tar.bz2.sig
+sha256 bfe9bb703c1126c3647da2810fd23039c2f09d46969f71612c2065dc3fa9373b libgcrypt-1.7.9.tar.bz2
diff --git a/package/libgcrypt/libgcrypt.mk b/package/libgcrypt/libgcrypt.mk
index bc194addb3..fe3ac5cfff 100644
--- a/package/libgcrypt/libgcrypt.mk
+++ b/package/libgcrypt/libgcrypt.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBGCRYPT_VERSION = 1.7.8
+LIBGCRYPT_VERSION = 1.7.9
LIBGCRYPT_SOURCE = libgcrypt-$(LIBGCRYPT_VERSION).tar.bz2
LIBGCRYPT_LICENSE = LGPL-2.1+
LIBGCRYPT_LICENSE_FILES = COPYING.LIB
diff --git a/package/libkcapi/0001-Have-sufficient-memory-size-for-message.patch b/package/libkcapi/0001-Have-sufficient-memory-size-for-message.patch
new file mode 100644
index 0000000000..39e683f58a
--- /dev/null
+++ b/package/libkcapi/0001-Have-sufficient-memory-size-for-message.patch
@@ -0,0 +1,31 @@
+From b56deda7c13c257050fdbdd71c1a5a47b78aa63e Mon Sep 17 00:00:00 2001
+From: Stephan Mueller <smueller@chronox.de>
+Date: Thu, 3 Aug 2017 17:50:51 +0200
+Subject: [PATCH] Have sufficient memory size for message
+
+With GCC 7, the size of the buffer in snprintf is checked. The
+occurrence here is found to be too small.
+
+Signed-off-by: Stephan Mueller <smueller@chronox.de>
+[Upstream commit: https://github.com/smuellerDD/libkcapi/commit/b56deda7c13c257050fdbdd71c1a5a47b78aa63e]
+Signed-off-by: Marcin Nowakowski <marcin.nowakowski@imgtec.com>
+---
+ speed-test/cryptoperf-base.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/speed-test/cryptoperf-base.c b/speed-test/cryptoperf-base.c
+index 8766ca7..07384ae 100644
+--- a/speed-test/cryptoperf-base.c
++++ b/speed-test/cryptoperf-base.c
+@@ -172,7 +172,7 @@ char *cp_print_status(struct cp_test *test, int raw)
+ (unsigned long)(processed_bytes/totaltime),
+ (unsigned long)ops);
+ } else {
+- #define VALLEN 10
++ #define VALLEN 23
+ char byteseconds[VALLEN + 1];
+
+ memset(byteseconds, 0, sizeof(byteseconds));
+--
+2.7.4
+
diff --git a/package/libphidget/libphidget.mk b/package/libphidget/libphidget.mk
index 23a320b076..803d5012a4 100644
--- a/package/libphidget/libphidget.mk
+++ b/package/libphidget/libphidget.mk
@@ -6,7 +6,7 @@
LIBPHIDGET_VERSION = 2.1.8.20140319
LIBPHIDGET_SOURCE = libphidget_$(LIBPHIDGET_VERSION).tar.gz
-LIBPHIDGET_SITE = http://www.phidgets.com/downloads/libraries
+LIBPHIDGET_SITE = https://www.phidgets.com/downloads/phidget21/libraries/linux/libphidget
LIBPHIDGET_DEPENDENCIES = libusb
LIBPHIDGET_CONF_OPTS = --disable-ldconfig
LIBPHIDGET_INSTALL_STAGING = YES
diff --git a/package/librsync/0001-fix-build-with-clang.patch b/package/librsync/0001-fix-build-with-clang.patch
new file mode 100644
index 0000000000..ea513c04d9
--- /dev/null
+++ b/package/librsync/0001-fix-build-with-clang.patch
@@ -0,0 +1,37 @@
+From 1175b1cd102ee15512185c7983868e5746959da0 Mon Sep 17 00:00:00 2001
+From: Adam Schubert <feartohell@seznam.cz>
+Date: Mon, 11 May 2015 04:25:45 +0200
+Subject: [PATCH] Fix build under clang
+
+Downloaded from upstream commit:
+https://github.com/librsync/librsync/commit/1175b1cd102ee15512185c7983868e5746959da0.patch
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+
+---
+ delta.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/delta.c b/delta.c
+index 19498f9..72afdf6 100644
+--- a/delta.c
++++ b/delta.c
+@@ -126,12 +126,12 @@ static rs_result rs_delta_s_scan(rs_job_t *job);
+ static rs_result rs_delta_s_flush(rs_job_t *job);
+ static rs_result rs_delta_s_end(rs_job_t *job);
+ void rs_getinput(rs_job_t *job);
+-inline int rs_findmatch(rs_job_t *job, rs_long_t *match_pos, size_t *match_len);
+-inline rs_result rs_appendmatch(rs_job_t *job, rs_long_t match_pos, size_t match_len);
+-inline rs_result rs_appendmiss(rs_job_t *job, size_t miss_len);
+-inline rs_result rs_appendflush(rs_job_t *job);
+-inline rs_result rs_processmatch(rs_job_t *job);
+-inline rs_result rs_processmiss(rs_job_t *job);
++static inline int rs_findmatch(rs_job_t *job, rs_long_t *match_pos, size_t *match_len);
++static inline rs_result rs_appendmatch(rs_job_t *job, rs_long_t match_pos, size_t match_len);
++static inline rs_result rs_appendmiss(rs_job_t *job, size_t miss_len);
++static inline rs_result rs_appendflush(rs_job_t *job);
++static inline rs_result rs_processmatch(rs_job_t *job);
++static inline rs_result rs_processmiss(rs_job_t *job);
+
+ /**
+ * \brief Get a block of data if possible, and see if it matches.
diff --git a/package/libspatialindex/0001-configure.ac-do-not-force-O2.patch b/package/libspatialindex/0001-configure.ac-do-not-force-O2.patch
new file mode 100644
index 0000000000..c078e713ec
--- /dev/null
+++ b/package/libspatialindex/0001-configure.ac-do-not-force-O2.patch
@@ -0,0 +1,30 @@
+From 7472764fe19cb3eea77f21cc2859859b8ac62085 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Mon, 14 Aug 2017 23:36:36 +0200
+Subject: [PATCH] configure.ac: do not force -O2
+
+The user may want to provide its own set of optimization flags, and
+therefore forcing -O2 should not be done.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Submitted-upstream: https://github.com/libspatialindex/libspatialindex/pull/101
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index dc5e49f..2e2aa68 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -53,7 +53,7 @@ if test "x$enable_debug" = "xyes"; then
+ CXXFLAGS="$CXXFLAGS -g -DDEBUG"
+ AC_MSG_RESULT(checking wether debug information is enabled... yes)
+ else
+- CXXFLAGS="$CXXFLAGS -O2 -DNDEBUG"
++ CXXFLAGS="$CXXFLAGS -DNDEBUG"
+ AC_MSG_RESULT(checking wether debug information is enabled... no)
+ fi
+
+--
+2.9.4
+
diff --git a/package/libspatialindex/libspatialindex.mk b/package/libspatialindex/libspatialindex.mk
index d815364442..3a558dfc7e 100644
--- a/package/libspatialindex/libspatialindex.mk
+++ b/package/libspatialindex/libspatialindex.mk
@@ -11,4 +11,16 @@ LIBSPATIALINDEX_INSTALL_STAGING = YES
LIBSPATIALINDEX_LICENSE = MIT
LIBSPATIALINDEX_LICENSE_FILES = COPYING
+# 0001-configure.ac-do-not-force-O2.patch
+LIBSPATIALINDEX_AUTORECONF = YES
+
+LIBSPATIALINDEX_CXXFLAGS = $(TARGET_CXXFLAGS)
+LIBSPATIALINDEX_CONF_ENV = CXXFLAGS="$(LIBSPATIALINDEX_CXXFLAGS)"
+
+# Workaround gcc ICE
+# (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485)
+ifeq ($(BR2_microblaze),y)
+LIBSPATIALINDEX_CXXFLAGS += -O0
+endif
+
$(eval $(autotools-package))
diff --git a/package/libunwind/Config.in b/package/libunwind/Config.in
index 1a2531716f..be576d13c4 100644
--- a/package/libunwind/Config.in
+++ b/package/libunwind/Config.in
@@ -22,11 +22,14 @@ config BR2_PACKAGE_LIBUNWIND
bool "libunwind"
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
+ # forcefully links against libgcc_s, only available in dynamic
+ # linking configurations
+ depends on !BR2_STATIC_LIBS
help
C API to determine the call-chain of a program.
http://www.nongnu.org/libunwind/index.html
-comment "libunwind needs a toolchain w/ threads"
+comment "libunwind needs a toolchain w/ threads, dynamic library"
depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
- depends on !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
diff --git a/package/libv4l/0011-configure.ac-drop-disable-libv4l-disable-plugin-supp.patch b/package/libv4l/0011-configure.ac-drop-disable-libv4l-disable-plugin-supp.patch
new file mode 100644
index 0000000000..22249197a1
--- /dev/null
+++ b/package/libv4l/0011-configure.ac-drop-disable-libv4l-disable-plugin-supp.patch
@@ -0,0 +1,217 @@
+From 305ae25455b1f19ad2eda92523bd553fd8bc72fd Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Sun, 20 Aug 2017 23:58:44 +0200
+Subject: [PATCH] configure.ac: drop --disable-libv4l, disable plugin support
+ instead
+
+In commit 2e604dfbcd09b93f0808cedb2a0b324c5569a599 ("configure.ac: add
+--disable-libv4l option"), an option --disable-libv4l was added. As
+part of this, libv4l is no longer built at all in static linking
+configurations, just because libv4l uses dlopen() for plugin support.
+
+However, plugin support is only a side feature of libv4l, and one may
+need to use libv4l in static configurations, just without plugin
+support.
+
+Therefore, this commit:
+
+ - Essentially reverts 2e604dfbcd09b93f0808cedb2a0b324c5569a599, so
+ that libv4l can be built in static linking configurations again.
+
+ - Adjusts the compilation of libv4l2 so that the plugin support is
+ not compiled in when dlopen() in static linking configuration
+ (dlopen is not available).
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Submitted-upstream: https://www.mail-archive.com/linux-media@vger.kernel.org/msg117449.html
+---
+ Makefile.am | 11 ++---------
+ configure.ac | 15 +++------------
+ lib/libv4l2/Makefile.am | 6 +++++-
+ lib/libv4l2/libv4l2-priv.h | 14 ++++++++++++++
+ utils/Makefile.am | 6 +-----
+ utils/v4l2-compliance/Makefile.am | 4 ----
+ utils/v4l2-ctl/Makefile.am | 4 ----
+ 7 files changed, 25 insertions(+), 35 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 07c3ef8..e603472 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,17 +1,10 @@
+ AUTOMAKE_OPTIONS = foreign
+ ACLOCAL_AMFLAGS = -I m4
+
+-SUBDIRS = v4l-utils-po libdvbv5-po
+-
+-if WITH_LIBV4L
+-SUBDIRS += lib
+-endif
++SUBDIRS = v4l-utils-po libdvbv5-po lib
+
+ if WITH_V4LUTILS
+-SUBDIRS += utils
+-if WITH_LIBV4L
+-SUBDIRS += contrib
+-endif
++SUBDIRS += utils contrib
+ endif
+
+ EXTRA_DIST = android-config.h bootstrap.sh doxygen_libdvbv5.cfg include COPYING.libv4l \
+diff --git a/configure.ac b/configure.ac
+index 58fb688..2ecb4a1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -374,14 +374,6 @@ AC_ARG_ENABLE(libdvbv5,
+ esac]
+ )
+
+-AC_ARG_ENABLE(libv4l,
+- AS_HELP_STRING([--disable-libv4l], [disable libv4l compilation]),
+- [case "${enableval}" in
+- yes | no ) ;;
+- *) AC_MSG_ERROR(bad value ${enableval} for --disable-libv4l) ;;
+- esac]
+-)
+-
+ AC_ARG_ENABLE(dyn-libv4l,
+ AS_HELP_STRING([--disable-dyn-libv4l], [disable dynamic libv4l support]),
+ [case "${enableval}" in
+@@ -439,7 +431,6 @@ AM_CONDITIONAL([WITH_LIBDVBV5], [test x$enable_libdvbv5 != xno -a x$have_li
+ AM_CONDITIONAL([WITH_DVBV5_REMOTE], [test x$enable_libdvbv5 != xno -a x$have_libudev = xyes -a x$have_pthread = xyes])
+
+ AM_CONDITIONAL([WITH_DYN_LIBV4L], [test x$enable_dyn_libv4l != xno])
+-AM_CONDITIONAL([WITH_LIBV4L], [test x$enable_libv4l != xno -a x$enable_shared != xno])
+ AM_CONDITIONAL([WITH_V4LUTILS], [test x$enable_v4l_utils != xno -a x$linux_os = xyes])
+ AM_CONDITIONAL([WITH_QV4L2], [test x${qt_pkgconfig} = xtrue -a x$enable_qv4l2 != xno])
+ AM_CONDITIONAL([WITH_V4L_PLUGINS], [test x$enable_dyn_libv4l != xno -a x$enable_shared != xno])
+@@ -467,11 +458,12 @@ AM_COND_IF([WITH_LIBDVBV5], [USE_LIBDVBV5="yes"], [USE_LIBDVBV5="no"])
+ AM_COND_IF([WITH_DVBV5_REMOTE], [USE_DVBV5_REMOTE="yes"
+ AC_DEFINE([HAVE_DVBV5_REMOTE], [1], [Usage of DVBv5 remote enabled])],
+ [USE_DVBV5_REMOTE="no"])
+-AM_COND_IF([WITH_LIBV4L], [USE_LIBV4L="yes"], [USE_LIBV4L="no"])
+ AM_COND_IF([WITH_DYN_LIBV4L], [USE_DYN_LIBV4L="yes"], [USE_DYN_LIBV4L="no"])
+ AM_COND_IF([WITH_V4LUTILS], [USE_V4LUTILS="yes"], [USE_V4LUTILS="no"])
+ AM_COND_IF([WITH_QV4L2], [USE_QV4L2="yes"], [USE_QV4L2="no"])
+-AM_COND_IF([WITH_V4L_PLUGINS], [USE_V4L_PLUGINS="yes"], [USE_V4L_PLUGINS="no"])
++AM_COND_IF([WITH_V4L_PLUGINS], [USE_V4L_PLUGINS="yes"
++ AC_DEFINE([HAVE_V4L_PLUGINS], [1], [V4L plugin support enabled])],
++ [USE_V4L_PLUGINS="no"])
+ AM_COND_IF([WITH_V4L_WRAPPERS], [USE_V4L_WRAPPERS="yes"], [USE_V4L_WRAPPERS="no"])
+ AM_COND_IF([WITH_GCONV], [USE_GCONV="yes"], [USE_GCONV="no"])
+ AM_COND_IF([WITH_V4L2_CTL_LIBV4L], [USE_V4L2_CTL_LIBV4L="yes"], [USE_V4L2_CTL_LIBV4L="no"])
+@@ -503,7 +495,6 @@ compile time options summary
+
+ gconv : $USE_GCONV
+
+- libv4l : $USE_LIBV4L
+ dynamic libv4l : $USE_DYN_LIBV4L
+ v4l_plugins : $USE_V4L_PLUGINS
+ v4l_wrappers : $USE_V4L_WRAPPERS
+diff --git a/lib/libv4l2/Makefile.am b/lib/libv4l2/Makefile.am
+index 811c45c..3a1bb90 100644
+--- a/lib/libv4l2/Makefile.am
++++ b/lib/libv4l2/Makefile.am
+@@ -15,7 +15,11 @@ else
+ noinst_LTLIBRARIES = libv4l2.la
+ endif
+
+-libv4l2_la_SOURCES = libv4l2.c v4l2-plugin.c log.c libv4l2-priv.h
++libv4l2_la_SOURCES = libv4l2.c log.c libv4l2-priv.h
++if WITH_V4L_PLUGINS
++libv4l2_la_SOURCES += v4l2-plugin.c
++endif
++
+ libv4l2_la_CPPFLAGS = $(CFLAG_VISIBILITY) $(ENFORCE_LIBV4L_STATIC)
+ libv4l2_la_LDFLAGS = $(LIBV4L2_VERSION) -lpthread $(DLOPEN_LIBS) $(ENFORCE_LIBV4L_STATIC)
+ libv4l2_la_LIBADD = ../libv4lconvert/libv4lconvert.la
+diff --git a/lib/libv4l2/libv4l2-priv.h b/lib/libv4l2/libv4l2-priv.h
+index 343db5e..1924c91 100644
+--- a/lib/libv4l2/libv4l2-priv.h
++++ b/lib/libv4l2/libv4l2-priv.h
+@@ -107,10 +107,24 @@ struct v4l2_dev_info {
+ };
+
+ /* From v4l2-plugin.c */
++#if defined(HAVE_V4L_PLUGINS)
+ void v4l2_plugin_init(int fd, void **plugin_lib_ret, void **plugin_priv_ret,
+ const struct libv4l_dev_ops **dev_ops_ret);
+ void v4l2_plugin_cleanup(void *plugin_lib, void *plugin_priv,
+ const struct libv4l_dev_ops *dev_ops);
++#else
++static inline void v4l2_plugin_init(int fd, void **plugin_lib_ret, void **plugin_priv_ret,
++ const struct libv4l_dev_ops **dev_ops_ret)
++{
++ *dev_ops_ret = v4lconvert_get_default_dev_ops();
++ *plugin_lib_ret = NULL;
++ *plugin_priv_ret = NULL;
++}
++static inline void v4l2_plugin_cleanup(void *plugin_lib, void *plugin_priv,
++ const struct libv4l_dev_ops *dev_ops)
++{
++}
++#endif /* WITH_V4L_PLUGINS */
+
+ /* From log.c */
+ extern const char *v4l2_ioctls[];
+diff --git a/utils/Makefile.am b/utils/Makefile.am
+index ce710c2..d7708cc 100644
+--- a/utils/Makefile.am
++++ b/utils/Makefile.am
+@@ -13,12 +13,8 @@ SUBDIRS = \
+ v4l2-sysfs-path \
+ cec-ctl \
+ cec-compliance \
+- cec-follower
+-
+-if WITH_LIBV4L
+-SUBDIRS += \
++ cec-follower \
+ rds-ctl
+-endif
+
+ if WITH_LIBDVBV5
+ SUBDIRS += \
+diff --git a/utils/v4l2-compliance/Makefile.am b/utils/v4l2-compliance/Makefile.am
+index 0240a50..c2b5919 100644
+--- a/utils/v4l2-compliance/Makefile.am
++++ b/utils/v4l2-compliance/Makefile.am
+@@ -7,16 +7,12 @@ v4l2_compliance_SOURCES = v4l2-compliance.cpp v4l2-test-debug.cpp v4l2-test-inpu
+ v4l2-test-codecs.cpp v4l2-test-colors.cpp v4l2-compliance.h
+ v4l2_compliance_CPPFLAGS = -I../common
+
+-if WITH_LIBV4L
+ if WITH_V4L2_COMPLIANCE_LIBV4L
+ v4l2_compliance_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread
+ else
+ v4l2_compliance_LDADD = -lrt -lpthread
+ DEFS += -DNO_LIBV4L2
+ endif
+-else
+-DEFS += -DNO_LIBV4L2
+-endif
+
+ EXTRA_DIST = Android.mk fixme.txt v4l2-compliance.1
+
+diff --git a/utils/v4l2-ctl/Makefile.am b/utils/v4l2-ctl/Makefile.am
+index 4475aed..955647d 100644
+--- a/utils/v4l2-ctl/Makefile.am
++++ b/utils/v4l2-ctl/Makefile.am
+@@ -9,14 +9,10 @@ v4l2_ctl_SOURCES = v4l2-ctl.cpp v4l2-ctl.h v4l2-ctl-common.cpp v4l2-ctl-tuner.cp
+ v4l2-tpg-colors.c v4l2-tpg-core.c v4l-stream.c
+ v4l2_ctl_CPPFLAGS = -I../common
+
+-if WITH_LIBV4L
+ if WITH_V4L2_CTL_LIBV4L
+ v4l2_ctl_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la -lrt -lpthread
+ else
+ DEFS += -DNO_LIBV4L2
+ endif
+-else
+-DEFS += -DNO_LIBV4L2
+-endif
+
+ EXTRA_DIST = Android.mk v4l2-ctl.1
+--
+2.9.4
+
diff --git a/package/libv4l/libv4l.mk b/package/libv4l/libv4l.mk
index 7b6e081ff2..9b2b417043 100644
--- a/package/libv4l/libv4l.mk
+++ b/package/libv4l/libv4l.mk
@@ -18,6 +18,8 @@ LIBV4L_CONF_OPTS = --disable-doxygen-doc
# 0007-configure.ac-add-disable-libv4l-option.patch
# 0008-configure.ac-fix-build-of-v4l-utils-on-uclinux.patch
# 0009-configure.ac-add-USE_LIBV4L-to-summary.patch
+# 0010-Build-libv4lconvert-helper-support-only-when-fork-is.patch
+# 0011-configure.ac-drop-disable-libv4l-disable-plugin-supp.patch
LIBV4L_AUTORECONF = YES
# host-gettext needed for autoreconf to work
LIBV4L_DEPENDENCIES += host-gettext
diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host
index 7f07da05f7..c838044569 100644
--- a/package/linux-headers/Config.in.host
+++ b/package/linux-headers/Config.in.host
@@ -231,14 +231,14 @@ endchoice
config BR2_DEFAULT_KERNEL_HEADERS
string
- default "3.2.89" if BR2_KERNEL_HEADERS_3_2
+ default "3.2.92" if BR2_KERNEL_HEADERS_3_2
default "3.4.113" if BR2_KERNEL_HEADERS_3_4
- default "3.10.106" if BR2_KERNEL_HEADERS_3_10
+ default "3.10.107" 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.80" if BR2_KERNEL_HEADERS_4_4
- default "4.9.41" if BR2_KERNEL_HEADERS_4_9
+ default "4.4.85" if BR2_KERNEL_HEADERS_4_4
+ default "4.9.46" 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.5" if BR2_KERNEL_HEADERS_4_12
+ default "4.12.10" if BR2_KERNEL_HEADERS_4_12
default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
diff --git a/package/linux-tools/linux-tool-gpio.mk.in b/package/linux-tools/linux-tool-gpio.mk.in
index ba75ab4c3f..d5a0dbda38 100644
--- a/package/linux-tools/linux-tool-gpio.mk.in
+++ b/package/linux-tools/linux-tool-gpio.mk.in
@@ -15,13 +15,13 @@ define GPIO_BUILD_CMDS
exit 1 ; \
fi
- $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \
+ $(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools \
$(GPIO_MAKE_OPTS) \
gpio
endef
define GPIO_INSTALL_TARGET_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \
+ $(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools \
$(GPIO_MAKE_OPTS) \
DESTDIR=$(TARGET_DIR) \
gpio_install
diff --git a/package/lua/5.2.4/0004-lua-pc.patch b/package/lua/5.2.4/0004-lua-pc.patch
index 62acb201f2..31ff61157a 100644
--- a/package/lua/5.2.4/0004-lua-pc.patch
+++ b/package/lua/5.2.4/0004-lua-pc.patch
@@ -1,6 +1,8 @@
add lua.pc
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
+[Jörg Krause: add @MYLIBS@]
+Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Index: b/etc/lua.pc
===================================================================
@@ -34,7 +36,7 @@ Index: b/etc/lua.pc
+Description: An Extensible Extension Language
+Version: ${R}
+Requires:
-+Libs: -L${libdir} -llua -lm
++Libs: -L${libdir} -llua -lm @MYLIBS@
+Cflags: -I${includedir}
+
+# (end of lua.pc)
diff --git a/package/lua/5.3.4/0004-lua-pc.patch b/package/lua/5.3.4/0004-lua-pc.patch
index 615a7db8fc..11258329d1 100644
--- a/package/lua/5.3.4/0004-lua-pc.patch
+++ b/package/lua/5.3.4/0004-lua-pc.patch
@@ -1,6 +1,8 @@
add lua.pc
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
+[Jörg Krause: add @MYLIBS@]
+Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Index: b/etc/lua.pc
===================================================================
@@ -34,7 +36,7 @@ Index: b/etc/lua.pc
+Description: An Extensible Extension Language
+Version: ${R}
+Requires:
-+Libs: -L${libdir} -llua -lm
++Libs: -L${libdir} -llua -lm @MYLIBS@
+Cflags: -I${includedir}
+
+# (end of lua.pc)
diff --git a/package/lua/lua.mk b/package/lua/lua.mk
index 93339ad9ce..ee39480dc5 100644
--- a/package/lua/lua.mk
+++ b/package/lua/lua.mk
@@ -86,8 +86,9 @@ endef
define LUA_INSTALL_STAGING_CMDS
$(TARGET_MAKE_ENV) $(MAKE) INSTALL_TOP="$(STAGING_DIR)/usr" -C $(@D) install
- $(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \
- $(STAGING_DIR)/usr/lib/pkgconfig/lua.pc
+ mkdir -p $(STAGING_DIR)/usr/lib/pkgconfig/
+ sed -e "s/@MYLIBS@/$(LUA_MYLIBS)/g" $(@D)/etc/lua.pc \
+ > $(STAGING_DIR)/usr/lib/pkgconfig/lua.pc
endef
define LUA_INSTALL_TARGET_CMDS
@@ -96,8 +97,9 @@ endef
define HOST_LUA_INSTALL_CMDS
$(HOST_MAKE_ENV) $(MAKE) INSTALL_TOP="$(HOST_DIR)" -C $(@D) install
- $(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \
- $(HOST_DIR)/lib/pkgconfig/lua.pc
+ mkdir -p $(HOST_DIR)/lib/pkgconfig/
+ sed -e "s/@MYLIBS@/$(HOST_LUA_MYLIBS)/g" $(@D)/etc/lua.pc \
+ > $(HOST_DIR)/lib/pkgconfig/lua.pc
endef
$(eval $(generic-package))
diff --git a/package/mariadb/mariadb.hash b/package/mariadb/mariadb.hash
index 4ef3551a36..fd5625c8e7 100644
--- a/package/mariadb/mariadb.hash
+++ b/package/mariadb/mariadb.hash
@@ -1,5 +1,5 @@
-# From https://downloads.mariadb.org/mariadb/10.1.25/
-sha256 7205ecaa6f1bc16335ad88faa5c46be52b3ac628a5e795cb942a3f4335b2a0d6 mariadb-10.1.25.tar.gz
+# From https://downloads.mariadb.org/mariadb/10.1.26/
+sha256 ba88b1cb9967dea2909938a34ba89373b162b0d83e5c98a0f1c94540156bf73d mariadb-10.1.26.tar.gz
# Hash for license files
sha256 69ce89a0cadbe35a858398c258be93c388715e84fc0ca04e5a1fd1aa9770dd3a README
diff --git a/package/mariadb/mariadb.mk b/package/mariadb/mariadb.mk
index db538fd0f2..47c7906582 100644
--- a/package/mariadb/mariadb.mk
+++ b/package/mariadb/mariadb.mk
@@ -4,7 +4,7 @@
#
################################################################################
-MARIADB_VERSION = 10.1.25
+MARIADB_VERSION = 10.1.26
MARIADB_SITE = https://downloads.mariadb.org/interstitial/mariadb-$(MARIADB_VERSION)/source
MARIADB_LICENSE = GPL-2.0 (server), GPL-2.0 with FLOSS exception (GPL client library), LGPL-2.0 (LGPL client library)
# Tarball no longer contains LGPL license text
diff --git a/package/mediastreamer/mediastreamer.mk b/package/mediastreamer/mediastreamer.mk
index 44d9e97461..1276cfae10 100644
--- a/package/mediastreamer/mediastreamer.mk
+++ b/package/mediastreamer/mediastreamer.mk
@@ -7,7 +7,8 @@
MEDIASTREAMER_VERSION = 2.14.0
MEDIASTREAMER_SITE = http://download.savannah.nongnu.org/releases/linphone/mediastreamer
MEDIASTREAMER_INSTALL_STAGING = YES
-MEDIASTREAMER_DEPENDENCIES = host-intltool host-pkgconf ortp host-gettext
+# host-vim needed for the xxd utility
+MEDIASTREAMER_DEPENDENCIES = host-intltool host-pkgconf ortp host-gettext host-vim
# tests fail linking on some architectures, so disable them
MEDIASTREAMER_CONF_OPTS = --disable-tests --disable-glx --disable-strict
MEDIASTREAMER_LICENSE = GPL-2.0+
diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index ad41b1cd2a..13c118ee68 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -102,6 +102,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
select BR2_PACKAGE_LIBDRM_VC4
select BR2_PACKAGE_MESA3D_NEEDS_XA
+ select BR2_PACKAGE_MESA3D_OPENGL_EGL
help
Driver for Broadcom VC4 (rpi2/3) GPUs.
It requires a vanilla 4.5+ kernel with drm vc4 (open) support.
diff --git a/package/minidlna/minidlna.mk b/package/minidlna/minidlna.mk
index e6f9059270..262480cbff 100644
--- a/package/minidlna/minidlna.mk
+++ b/package/minidlna/minidlna.mk
@@ -29,7 +29,7 @@ define MINIDLNA_INSTALL_INIT_SYSV
endef
define MINIDLNA_INSTALL_INIT_SYSTEMD
- $(INSTALL) -D -m 0755 package/minidlna/minidlnad.service \
+ $(INSTALL) -D -m 0644 package/minidlna/minidlnad.service \
$(TARGET_DIR)/usr/lib/systemd/system/minidlnad.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
diff --git a/package/mtd/Config.in b/package/mtd/Config.in
index a1df4cfc0a..37e4b4ab1b 100644
--- a/package/mtd/Config.in
+++ b/package/mtd/Config.in
@@ -24,6 +24,7 @@ config BR2_PACKAGE_MTD_UBIFS_UTILS
config BR2_PACKAGE_MTD_TESTS
bool
+ depends on BR2_TOOLCHAIN_HAS_THREADS
comment "MTD tools selection"
@@ -174,9 +175,14 @@ config BR2_PACKAGE_MTD_UBIBLOCK
config BR2_PACKAGE_MTD_INTEGCK
bool "integck"
+ depends on BR2_TOOLCHAIN_HAS_THREADS # mtd-tests
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_MTD_TESTS
help
Install the integck test program.
+comment "integck needs a toolchain w/ threads"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_USE_MMU
+
endif
diff --git a/package/norm/0003-fix-const-qualifier-gcc7.patch b/package/norm/0003-fix-const-qualifier-gcc7.patch
new file mode 100644
index 0000000000..57e01f9c13
--- /dev/null
+++ b/package/norm/0003-fix-const-qualifier-gcc7.patch
@@ -0,0 +1,46 @@
+protolib: remove const qualifiers in ProtoSortedTreeTemplate
+
+The methods PeekPrevItem() and PeekNextItem() in
+ProtoSortedTreeTemplate were using a const qualifier, but not the
+corresponding methods in ProtoSortedTree, causing a build failure with
+gcc 7.x:
+
+norm-1.5r6/protolib/include/protoTree.h: In member function 'ITEM_TYPE* ProtoSortedTreeTemplate<ITEM_TYPE>::Iterator::PeekPrevItem() const':
+norm-1.5r6/protolib/include/protoTree.h:652:93: error: no matching function for call to 'ProtoSortedTreeTemplate<ITEM_TYPE>::Iterator::PeekPrevItem() const'
+ {return static_cast<ITEM_TYPE*>(ProtoSortedTree::Iterator::PeekPrevItem());}
+ ^
+norm-1.5r6/protolib/include/protoTree.h:565:23: note: candidate: ProtoSortedTree::Item* ProtoSortedTree::Iterator::PeekPrevItem() <near match>
+ Item* PeekPrevItem()
+ ^~~~~~~~~~~~
+
+Since the same methods in ProtoTreeTemplate don't have the const
+qualifier, we take the simple solution of dropping such qualifiers
+from ProtoSortedTreeTemplate as well, which fixes the build of norm
+with gcc 7.x.
+
+Many thanks to Romain Naour <romain.naour@gmail.com> for pointing out
+the solution.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+[Patch has been submitted upstream and accepted, but mailing list
+archive not updated.]
+
+Index: b/protolib/include/protoTree.h
+===================================================================
+--- a/protolib/include/protoTree.h
++++ b/protolib/include/protoTree.h
+@@ -648,12 +648,12 @@
+
+ ITEM_TYPE* GetPrevItem()
+ {return static_cast<ITEM_TYPE*>(ProtoSortedTree::Iterator::GetPrevItem());}
+- ITEM_TYPE* PeekPrevItem() const
++ ITEM_TYPE* PeekPrevItem()
+ {return static_cast<ITEM_TYPE*>(ProtoSortedTree::Iterator::PeekPrevItem());}
+
+ ITEM_TYPE* GetNextItem()
+ {return static_cast<ITEM_TYPE*>(ProtoSortedTree::Iterator::GetNextItem());}
+- ITEM_TYPE* PeekNextItem() const
++ ITEM_TYPE* PeekNextItem()
+ {return static_cast<ITEM_TYPE*>(ProtoSortedTree::Iterator::PeekNextItem());}
+
+ }; // end class ProtoSortedTreeTemplate::Iterator
diff --git a/package/nss-pam-ldapd/nss-pam-ldapd.mk b/package/nss-pam-ldapd/nss-pam-ldapd.mk
index 1c4f73521a..3eddb5e2a1 100644
--- a/package/nss-pam-ldapd/nss-pam-ldapd.mk
+++ b/package/nss-pam-ldapd/nss-pam-ldapd.mk
@@ -27,7 +27,7 @@ NSS_PAM_LDAPD_CONF_OPTS += --disable-pam
endif
define NSS_PAM_LDAPD_INSTALL_INIT_SYSTEMD
- $(INSTALL) -m 755 -D package/nss-pam-ldapd/nslcd.service \
+ $(INSTALL) -m 644 -D package/nss-pam-ldapd/nslcd.service \
$(TARGET_DIR)/usr/lib/systemd/system/nslcd.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
ln -fs ../../../../usr/lib/systemd/system/nslcd.service \
diff --git a/package/nvidia-driver/egl.pc b/package/nvidia-driver/egl.pc
new file mode 100644
index 0000000000..a5aeace63c
--- /dev/null
+++ b/package/nvidia-driver/egl.pc
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: egl
+Description: Nvidia OpenGL library
+Version: 1
+Cflags: -I${includedir}
+Libs: -L${libdir} -lEGL
diff --git a/package/nvidia-driver/nvidia-driver.mk b/package/nvidia-driver/nvidia-driver.mk
index d8dedd9e3b..6746134a52 100644
--- a/package/nvidia-driver/nvidia-driver.mk
+++ b/package/nvidia-driver/nvidia-driver.mk
@@ -78,6 +78,7 @@ define NVIDIA_DRIVER_INSTALL_GL_DEV
$(SED) 's:__LIBGL_PATH__:/usr/lib:' $(STAGING_DIR)/usr/lib/libGL.la
$(SED) 's:-L[^[:space:]]\+::' $(STAGING_DIR)/usr/lib/libGL.la
$(INSTALL) -D -m 0644 package/nvidia-driver/gl.pc $(STAGING_DIR)/usr/lib/pkgconfig/gl.pc
+ $(INSTALL) -D -m 0644 package/nvidia-driver/egl.pc $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc
endef
# Those libraries are 'private' libraries requiring an agreement with
diff --git a/package/openocd/0002-configure-enable-build-on-uclinux.patch b/package/openocd/0002-configure-enable-build-on-uclinux.patch
new file mode 100644
index 0000000000..2f2d320840
--- /dev/null
+++ b/package/openocd/0002-configure-enable-build-on-uclinux.patch
@@ -0,0 +1,26 @@
+From 11ea78c4d253bb90296e2dd8c3f7fbf59ba397b6 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd.kuhls@t-online.de>
+Date: Thu, 17 Aug 2017 06:30:31 +0200
+Subject: [PATCH] configure: enable build on uclinux
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c680bda7..1a7980a0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -327,7 +327,7 @@ AC_ARG_ENABLE([sysfsgpio],
+ [build_sysfsgpio=$enableval], [build_sysfsgpio=no])
+
+ AS_CASE([$host_os],
+- [linux*], [],
++ [linux*|uclinux*], [],
+ [
+ AS_IF([test "x$build_sysfsgpio" = "xyes"], [
+ AC_MSG_ERROR([sysfsgpio is only available on linux])
+--
+2.11.0
+
diff --git a/package/openocd/openocd.hash b/package/openocd/openocd.hash
index b36c816682..3fb817b4a2 100644
--- a/package/openocd/openocd.hash
+++ b/package/openocd/openocd.hash
@@ -1,3 +1,4 @@
# From http://sourceforge.net/projects/openocd/files/openocd/0.10.0/
sha1 3245d43d60a1a93f8b0f6b1ce20b53e38cab7a4a openocd-0.10.0.tar.bz2
md5 b412bdef0481a3859c6585eb69f6f6ba openocd-0.10.0.tar.bz2
+sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
diff --git a/package/openocd/openocd.mk b/package/openocd/openocd.mk
index 96f667b73c..9d2576ceeb 100644
--- a/package/openocd/openocd.mk
+++ b/package/openocd/openocd.mk
@@ -7,7 +7,10 @@
OPENOCD_VERSION = 0.10.0
OPENOCD_SOURCE = openocd-$(OPENOCD_VERSION).tar.bz2
OPENOCD_SITE = http://sourceforge.net/projects/openocd/files/openocd/$(OPENOCD_VERSION)
-
+OPENOCD_LICENSE = GPL-2.0+
+OPENOCD_LICENSE_FILES = COPYING
+# 0002-configure-enable-build-on-uclinux.patch patches configure.ac
+OPENOCD_AUTORECONF = YES
OPENOCD_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -std=gnu99"
OPENOCD_CONF_OPTS = \
diff --git a/package/python3/python3.mk b/package/python3/python3.mk
index 80905ddbfc..a18dc7faac 100644
--- a/package/python3/python3.mk
+++ b/package/python3/python3.mk
@@ -232,7 +232,7 @@ HOST_PYTHON3_POST_INSTALL_HOOKS += HOST_PYTHON3_INSTALL_SYMLINK
endif
# Provided to other packages
-PYTHON3_PATH = $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/:$(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/
+PYTHON3_PATH = $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/
$(eval $(autotools-package))
$(eval $(host-autotools-package))
diff --git a/package/qt-webkit-kiosk/qt-webkit-kiosk.hash b/package/qt-webkit-kiosk/qt-webkit-kiosk.hash
index f40d7c7126..8097c88c9d 100644
--- a/package/qt-webkit-kiosk/qt-webkit-kiosk.hash
+++ b/package/qt-webkit-kiosk/qt-webkit-kiosk.hash
@@ -1,2 +1,2 @@
# Locally computed
-sha256 4c6269421515d482f20a2d39897ce75f7ccec6341ecafd47436c9e8c30bcc75f qt-webkit-kiosk-7fe40a350abfbe5ec194e7c6c740f7099e8704cd.tar.gz
+sha256 ec05f5bcb202265202a6f3ff74372516ce9beb82206ff67ca2b1b6fcb586ecd2 qt-webkit-kiosk-34efddb0bf0c36c8652f90dcd001db123f286f04.tar.gz
diff --git a/package/qt-webkit-kiosk/qt-webkit-kiosk.mk b/package/qt-webkit-kiosk/qt-webkit-kiosk.mk
index 341c20a4a0..c279cbe7ce 100644
--- a/package/qt-webkit-kiosk/qt-webkit-kiosk.mk
+++ b/package/qt-webkit-kiosk/qt-webkit-kiosk.mk
@@ -4,7 +4,7 @@
#
################################################################################
-QT_WEBKIT_KIOSK_VERSION = 7fe40a350abfbe5ec194e7c6c740f7099e8704cd
+QT_WEBKIT_KIOSK_VERSION = 34efddb0bf0c36c8652f90dcd001db123f286f04
QT_WEBKIT_KIOSK_SITE = https://github.com/sergey-dryabzhinsky/qt-webkit-kiosk.git
QT_WEBKIT_KIOSK_SITE_METHOD = git
QT_WEBKIT_KIOSK_DEPENDENCIES = qt5webkit qt5multimedia
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index bbbdd41209..0ca11a5edb 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -190,6 +190,16 @@ else
QT5BASE_CONFIGURE_OPTS += -no-libinput
endif
+ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
+# only enable gtk support if libgtk3 X11 backend is enabled
+ifeq ($(BR2_PACKAGE_LIBGTK3)$(BR2_PACKAGE_LIBGTK3_X11),yy)
+QT5BASE_CONFIGURE_OPTS += -gtk
+QT5BASE_DEPENDENCIES += libgtk3
+else
+QT5BASE_CONFIGURE_OPTS += -no-gtk
+endif
+endif
+
# Build the list of libraries to be installed on the target
QT5BASE_INSTALL_LIBS_y += Qt5Core
QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_XCB) += Qt5XcbQpa
diff --git a/package/rpcbind/rpcbind.mk b/package/rpcbind/rpcbind.mk
index cf2e81dbbf..5c216afc93 100644
--- a/package/rpcbind/rpcbind.mk
+++ b/package/rpcbind/rpcbind.mk
@@ -22,9 +22,9 @@ RPCBIND_CONF_OPTS += --with-systemdsystemunitdir=no
endif
define RPCBIND_INSTALL_INIT_SYSTEMD
- $(INSTALL) -m 0755 -D package/rpcbind/rpcbind.service \
+ $(INSTALL) -m 0644 -D package/rpcbind/rpcbind.service \
$(TARGET_DIR)/usr/lib/systemd/system/rpcbind.service
- $(INSTALL) -m 0755 -D package/rpcbind/rpcbind.socket \
+ $(INSTALL) -m 0644 -D package/rpcbind/rpcbind.socket \
$(TARGET_DIR)/usr/lib/systemd/system/rpcbind.socket
mkdir -p $(TARGET_DIR)/etc/systemd/system/sockets.target.wants
ln -fs ../../../../usr/lib/systemd/system/rpcbind.socket \
diff --git a/package/simicsfs/Config.in b/package/simicsfs/Config.in
deleted file mode 100644
index 12b05c17de..0000000000
--- a/package/simicsfs/Config.in
+++ /dev/null
@@ -1,11 +0,0 @@
-comment "simicsfs needs a Linux kernel to be built"
- depends on !BR2_LINUX_KERNEL
-
-config BR2_PACKAGE_SIMICSFS
- bool "simicsfs"
- depends on BR2_LINUX_KERNEL
- help
- A kernel driver that provides access to a host computer's local
- filesystem when the target is executing within a SIMICS simulation.
-
- http://www.cs.sfu.ca/~fedorova/Tech/simics-guides-3.0.26/simics-user-guide-unix/topic33.html
diff --git a/package/simicsfs/simicsfs.hash b/package/simicsfs/simicsfs.hash
deleted file mode 100644
index 42ada91031..0000000000
--- a/package/simicsfs/simicsfs.hash
+++ /dev/null
@@ -1,2 +0,0 @@
-# Locally calculated
-sha256 d0cf7caf888dc1e7dc9496c4b59af98eb2b69d6113d6920757465902e1f21f38 simicsfs-1.18.tar.gz
diff --git a/package/simicsfs/simicsfs.mk b/package/simicsfs/simicsfs.mk
deleted file mode 100644
index fe05302283..0000000000
--- a/package/simicsfs/simicsfs.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-################################################################################
-#
-# simicsfs
-#
-################################################################################
-
-SIMICSFS_VERSION = 1.18
-SIMICSFS_SITE = http://download.simics.net/pub
-SIMICSFS_LICENSE = GPL-2.0+
-SIMICSFS_LICENSE_FILES = hostfs.h
-
-$(eval $(kernel-module))
-$(eval $(generic-package))
diff --git a/package/skeleton-common/Config.in b/package/skeleton-common/Config.in
deleted file mode 100644
index 9abed4292a..0000000000
--- a/package/skeleton-common/Config.in
+++ /dev/null
@@ -1,2 +0,0 @@
-config BR2_PACKAGE_SKELETON_COMMON
- bool
diff --git a/package/skeleton-common/skeleton-common.mk b/package/skeleton-common/skeleton-common.mk
deleted file mode 100644
index e94dd6e14d..0000000000
--- a/package/skeleton-common/skeleton-common.mk
+++ /dev/null
@@ -1,90 +0,0 @@
-################################################################################
-#
-# skeleton-common
-#
-################################################################################
-
-# The skeleton can't depend on the toolchain, since all packages depends on the
-# skeleton and the toolchain is a target package, as is skeleton.
-# Hence, skeleton would depends on the toolchain and the toolchain would depend
-# on skeleton.
-SKELETON_COMMON_ADD_TOOLCHAIN_DEPENDENCY = NO
-SKELETON_COMMON_ADD_SKELETON_DEPENDENCY = NO
-
-# The skeleton also handles the merged /usr case in the sysroot
-SKELETON_COMMON_INSTALL_STAGING = YES
-
-SKELETON_COMMON_PATH = system/skeleton
-
-define SKELETON_COMMON_INSTALL_TARGET_CMDS
- $(call SYSTEM_RSYNC,$(SKELETON_COMMON_PATH),$(TARGET_DIR))
- $(call SYSTEM_USR_SYMLINKS_OR_DIRS,$(TARGET_DIR))
- $(call SYSTEM_LIB_SYMLINK,$(TARGET_DIR))
- $(INSTALL) -m 0644 support/misc/target-dir-warning.txt \
- $(TARGET_DIR_WARNING_FILE)
-endef
-
-# We don't care much about what goes in staging, as long as it is
-# correctly setup for merged/non-merged /usr. The simplest is to
-# fill it in with the content of the skeleton.
-define SKELETON_COMMON_INSTALL_STAGING_CMDS
- $(call SYSTEM_RSYNC,$(SKELETON_COMMON_PATH),$(STAGING_DIR))
- $(call SYSTEM_USR_SYMLINKS_OR_DIRS,$(STAGING_DIR))
- $(call SYSTEM_LIB_SYMLINK,$(STAGING_DIR))
- $(INSTALL) -d -m 0755 $(STAGING_DIR)/usr/include
-endef
-
-SKELETON_COMMON_HOSTNAME = $(call qstrip,$(BR2_TARGET_GENERIC_HOSTNAME))
-SKELETON_COMMON_ISSUE = $(call qstrip,$(BR2_TARGET_GENERIC_ISSUE))
-SKELETON_COMMON_ROOT_PASSWD = $(call qstrip,$(BR2_TARGET_GENERIC_ROOT_PASSWD))
-SKELETON_COMMON_PASSWD_METHOD = $(call qstrip,$(BR2_TARGET_GENERIC_PASSWD_METHOD))
-SKELETON_COMMON_BIN_SH = $(call qstrip,$(BR2_SYSTEM_BIN_SH))
-
-ifneq ($(SKELETON_COMMON_HOSTNAME),)
-define SKELETON_COMMON_SET_HOSTNAME
- mkdir -p $(TARGET_DIR)/etc
- echo "$(SKELETON_COMMON_HOSTNAME)" > $(TARGET_DIR)/etc/hostname
- $(SED) '$$a \127.0.1.1\t$(SKELETON_COMMON_HOSTNAME)' \
- -e '/^127.0.1.1/d' $(TARGET_DIR)/etc/hosts
-endef
-SKELETON_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_COMMON_SET_HOSTNAME
-endif
-
-ifneq ($(SKELETON_COMMON_ISSUE),)
-define SKELETON_COMMON_SET_ISSUE
- mkdir -p $(TARGET_DIR)/etc
- echo "$(SKELETON_COMMON_ISSUE)" > $(TARGET_DIR)/etc/issue
-endef
-SKELETON_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_COMMON_SET_ISSUE
-endif
-
-ifeq ($(BR2_TARGET_ENABLE_ROOT_LOGIN),y)
-ifneq ($(filter $$1$$% $$5$$% $$6$$%,$(SKELETON_COMMON_ROOT_PASSWD)),)
-SKELETON_COMMON_ROOT_PASSWORD = '$(SKELETON_COMMON_ROOT_PASSWD)'
-else ifneq ($(SKELETON_COMMON_ROOT_PASSWD),)
-# This variable will only be evaluated in the finalize stage, so we can
-# be sure that host-mkpasswd will have already been built by that time.
-SKELETON_COMMON_ROOT_PASSWORD = "`$(MKPASSWD) -m "$(SKELETON_COMMON_PASSWD_METHOD)" "$(SKELETON_COMMON_ROOT_PASSWD)"`"
-endif
-else # !BR2_TARGET_ENABLE_ROOT_LOGIN
-SKELETON_COMMON_ROOT_PASSWORD = "*"
-endif
-define SKELETON_COMMON_SET_ROOT_PASSWD
- $(SED) s,^root:[^:]*:,root:$(SKELETON_COMMON_ROOT_PASSWORD):, $(TARGET_DIR)/etc/shadow
-endef
-SKELETON_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_COMMON_SET_ROOT_PASSWD
-
-ifeq ($(BR2_SYSTEM_BIN_SH_NONE),y)
-define SKELETON_COMMON_SET_BIN_SH
- rm -f $(TARGET_DIR)/bin/sh
-endef
-else
-ifneq ($(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_SET_BIN_SH
-
-$(eval $(generic-package))
diff --git a/package/skeleton-init-common/Config.in b/package/skeleton-init-common/Config.in
new file mode 100644
index 0000000000..0fd95de822
--- /dev/null
+++ b/package/skeleton-init-common/Config.in
@@ -0,0 +1,2 @@
+config BR2_PACKAGE_SKELETON_INIT_COMMON
+ bool
diff --git a/package/skeleton-init-common/skeleton-init-common.mk b/package/skeleton-init-common/skeleton-init-common.mk
new file mode 100644
index 0000000000..8228a8103f
--- /dev/null
+++ b/package/skeleton-init-common/skeleton-init-common.mk
@@ -0,0 +1,90 @@
+################################################################################
+#
+# skeleton-init-common
+#
+################################################################################
+
+# The skeleton can't depend on the toolchain, since all packages depends on the
+# skeleton and the toolchain is a target package, as is skeleton.
+# Hence, skeleton would depends on the toolchain and the toolchain would depend
+# on skeleton.
+SKELETON_INIT_COMMON_ADD_TOOLCHAIN_DEPENDENCY = NO
+SKELETON_INIT_COMMON_ADD_SKELETON_DEPENDENCY = NO
+
+# The skeleton also handles the merged /usr case in the sysroot
+SKELETON_INIT_COMMON_INSTALL_STAGING = YES
+
+SKELETON_INIT_COMMON_PATH = system/skeleton
+
+define SKELETON_INIT_COMMON_INSTALL_TARGET_CMDS
+ $(call SYSTEM_RSYNC,$(SKELETON_INIT_COMMON_PATH),$(TARGET_DIR))
+ $(call SYSTEM_USR_SYMLINKS_OR_DIRS,$(TARGET_DIR))
+ $(call SYSTEM_LIB_SYMLINK,$(TARGET_DIR))
+ $(INSTALL) -m 0644 support/misc/target-dir-warning.txt \
+ $(TARGET_DIR_WARNING_FILE)
+endef
+
+# We don't care much about what goes in staging, as long as it is
+# correctly setup for merged/non-merged /usr. The simplest is to
+# fill it in with the content of the skeleton.
+define SKELETON_INIT_COMMON_INSTALL_STAGING_CMDS
+ $(call SYSTEM_RSYNC,$(SKELETON_INIT_COMMON_PATH),$(STAGING_DIR))
+ $(call SYSTEM_USR_SYMLINKS_OR_DIRS,$(STAGING_DIR))
+ $(call SYSTEM_LIB_SYMLINK,$(STAGING_DIR))
+ $(INSTALL) -d -m 0755 $(STAGING_DIR)/usr/include
+endef
+
+SKELETON_INIT_COMMON_HOSTNAME = $(call qstrip,$(BR2_TARGET_GENERIC_HOSTNAME))
+SKELETON_INIT_COMMON_ISSUE = $(call qstrip,$(BR2_TARGET_GENERIC_ISSUE))
+SKELETON_INIT_COMMON_ROOT_PASSWD = $(call qstrip,$(BR2_TARGET_GENERIC_ROOT_PASSWD))
+SKELETON_INIT_COMMON_PASSWD_METHOD = $(call qstrip,$(BR2_TARGET_GENERIC_PASSWD_METHOD))
+SKELETON_INIT_COMMON_BIN_SH = $(call qstrip,$(BR2_SYSTEM_BIN_SH))
+
+ifneq ($(SKELETON_INIT_COMMON_HOSTNAME),)
+define SKELETON_INIT_COMMON_SET_HOSTNAME
+ mkdir -p $(TARGET_DIR)/etc
+ echo "$(SKELETON_INIT_COMMON_HOSTNAME)" > $(TARGET_DIR)/etc/hostname
+ $(SED) '$$a \127.0.1.1\t$(SKELETON_INIT_COMMON_HOSTNAME)' \
+ -e '/^127.0.1.1/d' $(TARGET_DIR)/etc/hosts
+endef
+SKELETON_INIT_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_INIT_COMMON_SET_HOSTNAME
+endif
+
+ifneq ($(SKELETON_INIT_COMMON_ISSUE),)
+define SKELETON_INIT_COMMON_SET_ISSUE
+ mkdir -p $(TARGET_DIR)/etc
+ echo "$(SKELETON_INIT_COMMON_ISSUE)" > $(TARGET_DIR)/etc/issue
+endef
+SKELETON_INIT_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_INIT_COMMON_SET_ISSUE
+endif
+
+ifeq ($(BR2_TARGET_ENABLE_ROOT_LOGIN),y)
+ifneq ($(filter $$1$$% $$5$$% $$6$$%,$(SKELETON_INIT_COMMON_ROOT_PASSWD)),)
+SKELETON_INIT_COMMON_ROOT_PASSWORD = '$(SKELETON_INIT_COMMON_ROOT_PASSWD)'
+else ifneq ($(SKELETON_INIT_COMMON_ROOT_PASSWD),)
+# This variable will only be evaluated in the finalize stage, so we can
+# be sure that host-mkpasswd will have already been built by that time.
+SKELETON_INIT_COMMON_ROOT_PASSWORD = "`$(MKPASSWD) -m "$(SKELETON_INIT_COMMON_PASSWD_METHOD)" "$(SKELETON_INIT_COMMON_ROOT_PASSWD)"`"
+endif
+else # !BR2_TARGET_ENABLE_ROOT_LOGIN
+SKELETON_INIT_COMMON_ROOT_PASSWORD = "*"
+endif
+define SKELETON_INIT_COMMON_SET_ROOT_PASSWD
+ $(SED) s,^root:[^:]*:,root:$(SKELETON_INIT_COMMON_ROOT_PASSWORD):, $(TARGET_DIR)/etc/shadow
+endef
+SKELETON_INIT_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_INIT_COMMON_SET_ROOT_PASSWD
+
+ifeq ($(BR2_SYSTEM_BIN_SH_NONE),y)
+define SKELETON_INIT_COMMON_SET_BIN_SH
+ rm -f $(TARGET_DIR)/bin/sh
+endef
+else
+ifneq ($(SKELETON_INIT_COMMON_BIN_SH),)
+define SKELETON_INIT_COMMON_SET_BIN_SH
+ ln -sf $(SKELETON_INIT_COMMON_BIN_SH) $(TARGET_DIR)/bin/sh
+endef
+endif
+endif
+SKELETON_INIT_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_INIT_COMMON_SET_BIN_SH
+
+$(eval $(generic-package))
diff --git a/package/skeleton-init-none/Config.in b/package/skeleton-init-none/Config.in
new file mode 100644
index 0000000000..449bf66125
--- /dev/null
+++ b/package/skeleton-init-none/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_SKELETON_INIT_NONE
+ bool
+ select BR2_PACKAGE_HAS_SKELETON
+ select BR2_PACKAGE_SKELETON_INIT_COMMON
+
+config BR2_PACKAGE_PROVIDES_SKELETON
+ default "skeleton-init-none" if BR2_PACKAGE_SKELETON_INIT_NONE
diff --git a/package/skeleton-none/skeleton-none.mk b/package/skeleton-init-none/skeleton-init-none.mk
index 9e9579866a..8181aa0354 100644
--- a/package/skeleton-none/skeleton-none.mk
+++ b/package/skeleton-init-none/skeleton-init-none.mk
@@ -1,6 +1,6 @@
################################################################################
#
-# skeleton-none
+# skeleton-init-none
#
################################################################################
@@ -8,11 +8,11 @@
# skeleton and the toolchain is a target package, as is skeleton.
# Hence, skeleton would depends on the toolchain and the toolchain would depend
# on skeleton.
-SKELETON_NONE_ADD_TOOLCHAIN_DEPENDENCY = NO
-SKELETON_NONE_ADD_SKELETON_DEPENDENCY = NO
+SKELETON_INIT_NONE_ADD_TOOLCHAIN_DEPENDENCY = NO
+SKELETON_INIT_NONE_ADD_SKELETON_DEPENDENCY = NO
-SKELETON_NONE_DEPENDENCIES = skeleton-common
+SKELETON_INIT_NONE_DEPENDENCIES = skeleton-init-common
-SKELETON_NONE_PROVIDES = skeleton
+SKELETON_INIT_NONE_PROVIDES = skeleton
$(eval $(generic-package))
diff --git a/package/skeleton-init-systemd/Config.in b/package/skeleton-init-systemd/Config.in
new file mode 100644
index 0000000000..59b21d155e
--- /dev/null
+++ b/package/skeleton-init-systemd/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_SKELETON_INIT_SYSTEMD
+ bool
+ select BR2_PACKAGE_HAS_SKELETON
+ select BR2_PACKAGE_SKELETON_INIT_COMMON
+
+config BR2_PACKAGE_PROVIDES_SKELETON
+ default "skeleton-init-systemd" if BR2_PACKAGE_SKELETON_INIT_SYSTEMD
diff --git a/package/skeleton-systemd/skeleton-systemd.mk b/package/skeleton-init-systemd/skeleton-init-systemd.mk
index 860ebea2cd..a2d4e8c4b3 100644
--- a/package/skeleton-systemd/skeleton-systemd.mk
+++ b/package/skeleton-init-systemd/skeleton-init-systemd.mk
@@ -1,6 +1,6 @@
################################################################################
#
-# skeleton-systemd
+# skeleton-init-systemd
#
################################################################################
@@ -8,16 +8,16 @@
# skeleton and the toolchain is a target package, as is skeleton.
# Hence, skeleton would depends on the toolchain and the toolchain would depend
# on skeleton.
-SKELETON_SYSTEMD_ADD_TOOLCHAIN_DEPENDENCY = NO
-SKELETON_SYSTEMD_ADD_SKELETON_DEPENDENCY = NO
+SKELETON_INIT_SYSTEMD_ADD_TOOLCHAIN_DEPENDENCY = NO
+SKELETON_INIT_SYSTEMD_ADD_SKELETON_DEPENDENCY = NO
-SKELETON_SYSTEMD_DEPENDENCIES = skeleton-common
+SKELETON_INIT_SYSTEMD_DEPENDENCIES = skeleton-init-common
-SKELETON_SYSTEMD_PROVIDES = skeleton
+SKELETON_INIT_SYSTEMD_PROVIDES = skeleton
ifeq ($(BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW),y)
-define SKELETON_SYSTEMD_ROOT_RO_OR_RW
+define SKELETON_INIT_SYSTEMD_ROOT_RO_OR_RW
echo "/dev/root / auto rw 0 1" >$(TARGET_DIR)/etc/fstab
mkdir -p $(TARGET_DIR)/var
endef
@@ -29,7 +29,7 @@ else
# filesystem gets created, the /var symlink will be replaced with
# a real (but empty) directory, and the "factory files" will be copied
# back there by the tmpfiles.d mechanism.
-define SKELETON_SYSTEMD_ROOT_RO_OR_RW
+define SKELETON_INIT_SYSTEMD_ROOT_RO_OR_RW
mkdir -p $(TARGET_DIR)/etc/systemd/tmpfiles.d
mkdir -p $(TARGET_DIR)/usr/share/factory/var
ln -s usr/share/factory/var $(TARGET_DIR)/var
@@ -37,7 +37,7 @@ define SKELETON_SYSTEMD_ROOT_RO_OR_RW
echo "tmpfs /var tmpfs mode=1777 0 0" >>$(TARGET_DIR)/etc/fstab
endef
-define SKELETON_SYSTEMD_PRE_ROOTFS_VAR
+define SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR
rm -f $(TARGET_DIR)/var
mkdir $(TARGET_DIR)/var
for i in $(TARGET_DIR)/usr/share/factory/var/*; do \
@@ -52,20 +52,20 @@ define SKELETON_SYSTEMD_PRE_ROOTFS_VAR
fi; \
done >$(TARGET_DIR)/etc/tmpfiles.d/var-factory.conf
endef
-SKELETON_SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SKELETON_SYSTEMD_PRE_ROOTFS_VAR
+SKELETON_INIT_SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR
-define SKELETON_SYSTEMD_POST_ROOTFS_VAR
+define SKELETON_INIT_SYSTEMD_POST_ROOTFS_VAR
rm -rf $(TARGET_DIR)/var
ln -s usr/share/factory/var $(TARGET_DIR)/var
endef
-SKELETON_SYSTEMD_ROOTFS_POST_CMD_HOOKS += SKELETON_SYSTEMD_POST_ROOTFS_VAR
+SKELETON_INIT_SYSTEMD_ROOTFS_POST_CMD_HOOKS += SKELETON_INIT_SYSTEMD_POST_ROOTFS_VAR
endif
-define SKELETON_SYSTEMD_INSTALL_TARGET_CMDS
+define SKELETON_INIT_SYSTEMD_INSTALL_TARGET_CMDS
mkdir -p $(TARGET_DIR)/home
mkdir -p $(TARGET_DIR)/srv
- $(SKELETON_SYSTEMD_ROOT_RO_OR_RW)
+ $(SKELETON_INIT_SYSTEMD_ROOT_RO_OR_RW)
endef
$(eval $(generic-package))
diff --git a/package/skeleton-init-sysv/Config.in b/package/skeleton-init-sysv/Config.in
new file mode 100644
index 0000000000..6f645f9e25
--- /dev/null
+++ b/package/skeleton-init-sysv/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_SKELETON_INIT_SYSV
+ bool
+ select BR2_PACKAGE_HAS_SKELETON
+ select BR2_PACKAGE_SKELETON_INIT_COMMON
+
+config BR2_PACKAGE_PROVIDES_SKELETON
+ default "skeleton-init-sysv" if BR2_PACKAGE_SKELETON_INIT_SYSV
diff --git a/package/skeleton-sysv/skeleton-sysv.mk b/package/skeleton-init-sysv/skeleton-init-sysv.mk
index b5fa396ac2..c89c2dc1fd 100644
--- a/package/skeleton-sysv/skeleton-sysv.mk
+++ b/package/skeleton-init-sysv/skeleton-init-sysv.mk
@@ -1,6 +1,6 @@
################################################################################
#
-# skeleton-sysv
+# skeleton-init-sysv
#
################################################################################
@@ -8,15 +8,15 @@
# skeleton and the toolchain is a target package, as is skeleton.
# Hence, skeleton would depends on the toolchain and the toolchain would depend
# on skeleton.
-SKELETON_SYSV_ADD_TOOLCHAIN_DEPENDENCY = NO
-SKELETON_SYSV_ADD_SKELETON_DEPENDENCY = NO
+SKELETON_INIT_SYSV_ADD_TOOLCHAIN_DEPENDENCY = NO
+SKELETON_INIT_SYSV_ADD_SKELETON_DEPENDENCY = NO
-SKELETON_SYSV_DEPENDENCIES = skeleton-common
+SKELETON_INIT_SYSV_DEPENDENCIES = skeleton-init-common
-SKELETON_SYSV_PROVIDES = skeleton
+SKELETON_INIT_SYSV_PROVIDES = skeleton
-define SKELETON_SYSV_INSTALL_TARGET_CMDS
- $(call SYSTEM_RSYNC,$(SKELETON_SYSV_PKGDIR)/skeleton,$(TARGET_DIR))
+define SKELETON_INIT_SYSV_INSTALL_TARGET_CMDS
+ $(call SYSTEM_RSYNC,$(SKELETON_INIT_SYSV_PKGDIR)/skeleton,$(TARGET_DIR))
endef
$(eval $(generic-package))
diff --git a/package/skeleton-sysv/skeleton/dev/log b/package/skeleton-init-sysv/skeleton/dev/log
index d96b3b1cb8..d96b3b1cb8 120000
--- a/package/skeleton-sysv/skeleton/dev/log
+++ b/package/skeleton-init-sysv/skeleton/dev/log
diff --git a/package/skeleton-sysv/skeleton/dev/pts/.empty b/package/skeleton-init-sysv/skeleton/dev/pts/.empty
index e69de29bb2..e69de29bb2 100644
--- a/package/skeleton-sysv/skeleton/dev/pts/.empty
+++ b/package/skeleton-init-sysv/skeleton/dev/pts/.empty
diff --git a/package/skeleton-sysv/skeleton/dev/shm/.empty b/package/skeleton-init-sysv/skeleton/dev/shm/.empty
index e69de29bb2..e69de29bb2 100644
--- a/package/skeleton-sysv/skeleton/dev/shm/.empty
+++ b/package/skeleton-init-sysv/skeleton/dev/shm/.empty
diff --git a/package/skeleton-sysv/skeleton/etc/fstab b/package/skeleton-init-sysv/skeleton/etc/fstab
index 169054b74f..169054b74f 100644
--- a/package/skeleton-sysv/skeleton/etc/fstab
+++ b/package/skeleton-init-sysv/skeleton/etc/fstab
diff --git a/package/skeleton-sysv/skeleton/var/cache b/package/skeleton-init-sysv/skeleton/var/cache
index 1431b0e432..1431b0e432 120000
--- a/package/skeleton-sysv/skeleton/var/cache
+++ b/package/skeleton-init-sysv/skeleton/var/cache
diff --git a/package/skeleton-sysv/skeleton/var/lib/misc b/package/skeleton-init-sysv/skeleton/var/lib/misc
index f1fde8c107..f1fde8c107 120000
--- a/package/skeleton-sysv/skeleton/var/lib/misc
+++ b/package/skeleton-init-sysv/skeleton/var/lib/misc
diff --git a/package/skeleton-sysv/skeleton/var/lock b/package/skeleton-init-sysv/skeleton/var/lock
index 1431b0e432..1431b0e432 120000
--- a/package/skeleton-sysv/skeleton/var/lock
+++ b/package/skeleton-init-sysv/skeleton/var/lock
diff --git a/package/skeleton-sysv/skeleton/var/log b/package/skeleton-init-sysv/skeleton/var/log
index 1431b0e432..1431b0e432 120000
--- a/package/skeleton-sysv/skeleton/var/log
+++ b/package/skeleton-init-sysv/skeleton/var/log
diff --git a/package/skeleton-sysv/skeleton/var/run b/package/skeleton-init-sysv/skeleton/var/run
index 84ba55b912..84ba55b912 120000
--- a/package/skeleton-sysv/skeleton/var/run
+++ b/package/skeleton-init-sysv/skeleton/var/run
diff --git a/package/skeleton-sysv/skeleton/var/spool b/package/skeleton-init-sysv/skeleton/var/spool
index 1431b0e432..1431b0e432 120000
--- a/package/skeleton-sysv/skeleton/var/spool
+++ b/package/skeleton-init-sysv/skeleton/var/spool
diff --git a/package/skeleton-sysv/skeleton/var/tmp b/package/skeleton-init-sysv/skeleton/var/tmp
index 1431b0e432..1431b0e432 120000
--- a/package/skeleton-sysv/skeleton/var/tmp
+++ b/package/skeleton-init-sysv/skeleton/var/tmp
diff --git a/package/skeleton-none/Config.in b/package/skeleton-none/Config.in
deleted file mode 100644
index 43fb3f277c..0000000000
--- a/package/skeleton-none/Config.in
+++ /dev/null
@@ -1,7 +0,0 @@
-config BR2_PACKAGE_SKELETON_NONE
- bool
- select BR2_PACKAGE_HAS_SKELETON
- select BR2_PACKAGE_SKELETON_COMMON
-
-config BR2_PACKAGE_PROVIDES_SKELETON
- default "skeleton-none" if BR2_PACKAGE_SKELETON_NONE
diff --git a/package/skeleton-systemd/Config.in b/package/skeleton-systemd/Config.in
deleted file mode 100644
index c507264598..0000000000
--- a/package/skeleton-systemd/Config.in
+++ /dev/null
@@ -1,7 +0,0 @@
-config BR2_PACKAGE_SKELETON_SYSTEMD
- bool
- select BR2_PACKAGE_HAS_SKELETON
- select BR2_PACKAGE_SKELETON_COMMON
-
-config BR2_PACKAGE_PROVIDES_SKELETON
- default "skeleton-systemd" if BR2_PACKAGE_SKELETON_SYSTEMD
diff --git a/package/skeleton-sysv/Config.in b/package/skeleton-sysv/Config.in
deleted file mode 100644
index 2f6dbd9673..0000000000
--- a/package/skeleton-sysv/Config.in
+++ /dev/null
@@ -1,7 +0,0 @@
-config BR2_PACKAGE_SKELETON_SYSV
- bool
- select BR2_PACKAGE_HAS_SKELETON
- select BR2_PACKAGE_SKELETON_COMMON
-
-config BR2_PACKAGE_PROVIDES_SKELETON
- default "skeleton-sysv" if BR2_PACKAGE_SKELETON_SYSV
diff --git a/package/squid/squid.mk b/package/squid/squid.mk
index bcb3744dee..d334d14c88 100644
--- a/package/squid/squid.mk
+++ b/package/squid/squid.mk
@@ -21,7 +21,7 @@ SQUID_CONF_ENV = \
ac_cv_func___va_copy=yes \
ac_cv_func_strnstr=no \
ac_cv_have_squid=yes \
- BUILXCXX="$(HOSTCXX)" \
+ BUILDCXX="$(HOSTCXX)" \
BUILDCXXFLAGS="$(HOST_CXXFLAGS)"
SQUID_CONF_OPTS = \
--enable-async-io=8 \
diff --git a/package/swupdate/Config.in b/package/swupdate/Config.in
index dbc69f1fe8..7a0f9d12e5 100644
--- a/package/swupdate/Config.in
+++ b/package/swupdate/Config.in
@@ -4,7 +4,7 @@ config BR2_PACKAGE_SWUPDATE
depends on BR2_USE_MMU # fork()
# swupdate requires a parser and uses libconfig as default
select BR2_PACKAGE_LIBCONFIG if !BR2_PACKAGE_JSON_C && \
- !BR2_PACKAGE_HAS_LUAINTERPRETER
+ !BR2_PACKAGE_LUA_5_2 && !BR2_PACKAGE_LUA_5_3
help
swupdate provides a reliable way to update the software on an
embedded system.
@@ -19,11 +19,8 @@ config BR2_PACKAGE_SWUPDATE
use your own modified configuration, you have to select the
necessary packages manually:
- * Select BR2_PACKAGE_LUA or BR2_PACKAGE_LUAJIT if you want
+ * Select BR2_PACKAGE_LUA_5_2 or BR2_PACKAGE_LUA_5_3 if you want
to have Lua support.
- CONFIG_HANDLER_IN_LUA is not supported in LuaJIT or Lua 5.1.
- Note that for LuaJIT support, you need to set
- CONFIG_LUAVERSION="jit-5.1".
* Select BR2_LIBCURL if you want to use the download feature.
* Select BR2_PACKAGE_OPENSSL is you want to add encryption support.
* Select BR2_PACKAGE_MTD if you want to use swupdate with UBI
diff --git a/package/swupdate/swupdate.mk b/package/swupdate/swupdate.mk
index ee92adddf0..fbb092da05 100644
--- a/package/swupdate/swupdate.mk
+++ b/package/swupdate/swupdate.mk
@@ -39,8 +39,8 @@ else
SWUPDATE_MAKE_ENV += HAVE_LIBCURL=n
endif
-ifeq ($(BR2_PACKAGE_HAS_LUAINTERPRETER),y)
-SWUPDATE_DEPENDENCIES += luainterpreter host-pkgconf
+ifeq ($(BR2_PACKAGE_LUA_5_2)$(BR2_PACKAGE_LUA_5_3),y)
+SWUPDATE_DEPENDENCIES += lua host-pkgconf
SWUPDATE_MAKE_ENV += HAVE_LUA=y
else
SWUPDATE_MAKE_ENV += HAVE_LUA=n
diff --git a/package/sysvinit/0002-musl-fix-compilation-errors.patch b/package/sysvinit/0002-musl-fix-compilation-errors.patch
new file mode 100644
index 0000000000..5dcdecf72b
--- /dev/null
+++ b/package/sysvinit/0002-musl-fix-compilation-errors.patch
@@ -0,0 +1,38 @@
+Fix various compilation errors when compiling against must libc
+
+Signed-off-by: Dagg Stompler <daggs@gmx.com>
+
+diff -Nupr a/src/init.c b/src/init.c
+--- a/src/init.c 2017-08-13 18:44:27.000000000 +0300
++++ b/src/init.c 2017-08-13 18:34:45.000000000 +0300
+@@ -37,6 +37,7 @@
+ #include <sys/kd.h>
+ #endif
+ #include <sys/resource.h>
++#include <sys/ttydefaults.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <errno.h>
+diff -Nupr a/src/init.h b/src/init.h
+--- a/src/init.h 2017-08-13 19:35:46.000000000 +0300
++++ b/src/init.h 2017-08-13 19:36:01.000000000 +0300
+@@ -22,6 +22,8 @@
+ *
+ */
+
++#include <time.h>
++
+ /* Standard configuration */
+ #define CHANGE_WAIT 0 /* Change runlevel while
+ waiting for a process to exit? */
+diff -Nupr a/src/mountpoint.c b/src/mountpoint.c
+--- a/src/mountpoint.c 2017-08-13 20:28:26.000000000 +0300
++++ b/src/mountpoint.c 2017-08-13 20:28:40.000000000 +0300
+@@ -24,6 +24,7 @@
+ */
+
+ #include <sys/stat.h>
++#include <sys/types.h>
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <string.h>
diff --git a/package/transmission/Config.in b/package/transmission/Config.in
index b47c36fdd3..2110e52ac6 100644
--- a/package/transmission/Config.in
+++ b/package/transmission/Config.in
@@ -39,12 +39,12 @@ config BR2_PACKAGE_TRANSMISSION_REMOTE
config BR2_PACKAGE_TRANSMISSION_GTK
bool "transmission-gtk"
- depends on BR2_PACKAGE_LIBGTK2 && BR2_ENABLE_LOCALE
+ depends on BR2_PACKAGE_LIBGTK3 && BR2_SYSTEM_ENABLE_NLS
help
Install transmission GTK-based GUI interface.
-comment "transmission-gtk needs a toolchain w/ locale"
- depends on BR2_PACKAGE_LIBGTK2 && !BR2_ENABLE_LOCALE
+comment "transmission-gtk needs NLS enabled"
+ depends on BR2_PACKAGE_LIBGTK3 && !BR2_SYSTEM_ENABLE_NLS
endif
comment "transmission needs a toolchain w/ threads"
diff --git a/package/transmission/transmission.mk b/package/transmission/transmission.mk
index f8abb2b8ba..7f4675302e 100644
--- a/package/transmission/transmission.mk
+++ b/package/transmission/transmission.mk
@@ -64,7 +64,7 @@ define TRANSMISSION_INSTALL_INIT_SYSV
endef
define TRANSMISSION_INSTALL_INIT_SYSTEMD
- $(INSTALL) -D -m 0755 $(@D)/daemon/transmission-daemon.service \
+ $(INSTALL) -D -m 0644 $(@D)/daemon/transmission-daemon.service \
$(TARGET_DIR)/usr/lib/systemd/system/transmission-daemon.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
ln -fs ../../../../usr/lib/systemd/system/transmission-daemon.service \
@@ -82,10 +82,10 @@ TRANSMISSION_CONF_OPTS += --disable-remote
endif
ifeq ($(BR2_PACKAGE_TRANSMISSION_GTK),y)
-TRANSMISSION_CONF_OPTS += --enable-gtk
-TRANSMISSION_DEPENDENCIES += libgtk2
+TRANSMISSION_CONF_OPTS += --with-gtk
+TRANSMISSION_DEPENDENCIES += libgtk3
else
-TRANSMISSION_CONF_OPTS += --disable-gtk
+TRANSMISSION_CONF_OPTS += --without-gtk
endif
$(eval $(autotools-package))
diff --git a/package/valgrind/Config.in b/package/valgrind/Config.in
index 40e219d95a..75b779d214 100644
--- a/package/valgrind/Config.in
+++ b/package/valgrind/Config.in
@@ -1,14 +1,19 @@
+config BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS
+ bool
+ default y if BR2_ARM_CPU_ARMV7A
+ default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
+ default y if BR2_i386 || BR2_x86_64
+ default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
+ depends on !BR2_MIPS_SOFT_FLOAT
+
comment "valgrind needs a toolchain w/ dynamic library"
+ depends on BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS
depends on BR2_STATIC_LIBS
config BR2_PACKAGE_VALGRIND
bool "valgrind"
- depends on BR2_ARM_CPU_ARMV7A || BR2_i386 || \
- BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \
- BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
- BR2_x86_64
+ depends on BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS
depends on !BR2_STATIC_LIBS
- depends on !BR2_MIPS_SOFT_FLOAT
help
Tool for debugging and profiling Linux programs.
diff --git a/package/vde2/0002-fstp-Add-static-to-inline-functions.patch b/package/vde2/0002-fstp-Add-static-to-inline-functions.patch
new file mode 100644
index 0000000000..0dbe083d06
--- /dev/null
+++ b/package/vde2/0002-fstp-Add-static-to-inline-functions.patch
@@ -0,0 +1,44 @@
+From 67bc8443ac7e8144a78d84dee30a5cac3b5c99a4 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Sun, 27 Aug 2017 23:56:05 +0200
+Subject: [PATCH] fstp: Add static to inline functions
+
+From [1]
+"This is needed to avoid a link error where the inline functions appear
+missing at link time.
+From c99 standard inline function should either be declared static or
+have an extern instance in a c file for linking.
+This fix is necessary to build with gcc 7; for some reason it was not
+trigerred before."
+
+[1] https://git.buildroot.net/buildroot/commit/?id=21133ada326c87627f7bdee4493d8086587c3cca
+
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ src/vde_switch/fstp.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/vde_switch/fstp.c b/src/vde_switch/fstp.c
+index aab7324..b1e7ee8 100644
+--- a/src/vde_switch/fstp.c
++++ b/src/vde_switch/fstp.c
+@@ -30,14 +30,14 @@ static int numports;
+ #ifdef FSTP
+ #include <fstp.h>
+ /*********************** sending macro used by FSTP & Core ******************/
+-void inline ltonstring(unsigned long l,unsigned char *s) {
++static void inline ltonstring(unsigned long l,unsigned char *s) {
+ s[3]=l; l>>=8;
+ s[2]=l; l>>=8;
+ s[1]=l; l>>=8;
+ s[0]=l;
+ }
+
+-unsigned long inline nstringtol(unsigned char *s) {
++static unsigned long inline nstringtol(unsigned char *s) {
+ return (s[0]<<24)+(s[1]<<16)+(s[2]<<8)+s[3];
+ }
+
+--
+2.9.5
+
diff --git a/package/vim/vim.mk b/package/vim/vim.mk
index c235a08cd3..5ee889882a 100644
--- a/package/vim/vim.mk
+++ b/package/vim/vim.mk
@@ -75,4 +75,7 @@ VIM_POST_INSTALL_TARGET_HOOKS += VIM_INSTALL_RUNTIME_CMDS
VIM_POST_INSTALL_TARGET_HOOKS += VIM_REMOVE_DOCS
endif
+HOST_VIM_DEPENDENCIES = host-ncurses
+
$(eval $(autotools-package))
+$(eval $(host-autotools-package))
diff --git a/package/webkitgtk/0004-GTK-WPE-CFLAGS-from-pkg-config-for-E-GL-are-not-pass.patch b/package/webkitgtk/0004-GTK-WPE-CFLAGS-from-pkg-config-for-E-GL-are-not-pass.patch
new file mode 100644
index 0000000000..91c5116a2a
--- /dev/null
+++ b/package/webkitgtk/0004-GTK-WPE-CFLAGS-from-pkg-config-for-E-GL-are-not-pass.patch
@@ -0,0 +1,64 @@
+From 6579c307d85a9b447d3b7f13b25fb0a52177ed09 Mon Sep 17 00:00:00 2001
+From: Carlos Alberto Lopez Perez <clopez@igalia.com>
+Date: Thu, 3 Aug 2017 13:57:14 +0300
+Subject: [PATCH] [GTK][WPE] CFLAGS from pkg-config for (E)GL are not passed to
+ WebKit https://bugs.webkit.org/show_bug.cgi?id=175125
+
+Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2017-08-03
+Reviewed by NOBODY (OOPS!).
+
+* CMakeLists.txt: Pass GL-related flags to the WebKit component when
+ appropriate.
+
+Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
+
+---
+ Source/WebKit2/CMakeLists.txt | 31 +++++++++++++++++++++++++++++++
+ Source/WebKit2/ChangeLog | 10 ++++++++++
+ 2 files changed, 41 insertions(+)
+
+diff --git a/Source/WebKit2/CMakeLists.txt b/Source/WebKit2/CMakeLists.txt
+index 2d8215f6a35..b25e9872de2 100644
+--- a/Source/WebKit2/CMakeLists.txt
++++ b/Source/WebKit2/CMakeLists.txt
+@@ -88,6 +88,37 @@ set(WebKit2_SYSTEM_INCLUDE_DIRECTORIES
+ )
+
+ if (ENABLE_GRAPHICS_CONTEXT_3D)
++ # For platforms that want to use system-provided OpenGL (ES) / EGL headers,
++ # these include directories, libraries or definitions need to be
++ # added before the ANGLE directories.
++ if (USE_OPENGL)
++ list(APPEND WebKit2_SYSTEM_INCLUDE_DIRECTORIES
++ ${OPENGL_INCLUDE_DIRS}
++ )
++ list(APPEND WebKit2_LIBRARIES
++ ${OPENGL_LIBRARIES}
++ )
++ add_definitions(${OPENGL_DEFINITIONS})
++ elseif (USE_OPENGL_ES_2)
++ list(APPEND WebKit2_SYSTEM_INCLUDE_DIRECTORIES
++ ${OPENGLES2_INCLUDE_DIRS}
++ )
++ list(APPEND WebKit2_LIBRARIES
++ ${OPENGLES2_LIBRARIES}
++ )
++ add_definitions(${OPENGLES2_DEFINITIONS})
++ endif ()
++
++ if (USE_EGL)
++ list(APPEND WebKit2_SYSTEM_INCLUDE_DIRECTORIES
++ ${EGL_INCLUDE_DIRS}
++ )
++ list(APPEND WebKit2_LIBRARIES
++ ${EGL_LIBRARIES}
++ )
++ add_definitions(${EGL_DEFINITIONS})
++ endif ()
++
+ list(APPEND WebKit2_INCLUDE_DIRECTORIES
+ "${THIRDPARTY_DIR}/ANGLE"
+ "${THIRDPARTY_DIR}/ANGLE/include/KHR"
+--
+2.13.4
+
diff --git a/package/whois/Config.in b/package/whois/Config.in
index 9505d58320..d2a030282b 100644
--- a/package/whois/Config.in
+++ b/package/whois/Config.in
@@ -4,4 +4,4 @@ config BR2_PACKAGE_WHOIS
help
Improved whois client.
- http://www.linux.it/~md/software/
+ https://github.com/rfc1036/whois
diff --git a/package/whois/whois.hash b/package/whois/whois.hash
index 6f65074c2c..29623b529f 100644
--- a/package/whois/whois.hash
+++ b/package/whois/whois.hash
@@ -1,2 +1,2 @@
-# From http://ftp.debian.org/debian/pool/main/w/whois/whois_5.2.14.dsc
-sha256 a41daf41abed0fbfa8c9c4b0e4a3f5f22d9876dd6feb9091aac12f8f4c38b0d2 whois_5.2.14.tar.xz
+# From http://snapshot.debian.org/archive/debian/20170727T214450Z/pool/main/w/whois/whois_5.2.17.dsc
+sha256 257585678f571e18964667b41dc6543fe9da6123ac95743660c9c3ae1eba9664 whois_5.2.17.tar.xz
diff --git a/package/whois/whois.mk b/package/whois/whois.mk
index b773499978..22117cf3aa 100644
--- a/package/whois/whois.mk
+++ b/package/whois/whois.mk
@@ -4,8 +4,8 @@
#
################################################################################
-WHOIS_VERSION = 5.2.14
-WHOIS_SITE = http://snapshot.debian.org/archive/debian/20161230T032015Z/pool/main/w/whois
+WHOIS_VERSION = 5.2.17
+WHOIS_SITE = http://snapshot.debian.org/archive/debian/20170727T214450Z/pool/main/w/whois
WHOIS_SOURCE = whois_$(WHOIS_VERSION).tar.xz
# take precedence over busybox implementation
WHOIS_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox) $(TARGET_NLS_DEPENDENCIES)
@@ -27,13 +27,22 @@ WHOIS_DEPENDENCIES += libidn
WHOIS_MAKE_ENV += HAVE_LIBIDN=1
endif
+ifeq ($(BR2_SYSTEM_ENABLE_NLS),y)
+WHOIS_BUILD_TARGETS =
+WHOIS_INSTALL_TARGETS = install
+else
+WHOIS_BUILD_TARGETS = Makefile.depend whois mkpasswd
+WHOIS_INSTALL_TARGETS = install-whois install-mkpasswd
+endif
+
define WHOIS_BUILD_CMDS
- $(WHOIS_MAKE_ENV) $(MAKE) $(WHOIS_MAKE_OPTS) -C $(@D)
+ $(WHOIS_MAKE_ENV) $(MAKE) $(WHOIS_MAKE_OPTS) \
+ $(WHOIS_BUILD_TARGETS) -C $(@D)
endef
define WHOIS_INSTALL_TARGET_CMDS
$(WHOIS_MAKE_ENV) $(MAKE) $(WHOIS_MAKE_OPTS) \
- BASEDIR="$(TARGET_DIR)" install -C $(@D)
+ BASEDIR="$(TARGET_DIR)" $(WHOIS_INSTALL_TARGETS) -C $(@D)
endef
$(eval $(generic-package))
diff --git a/package/xen/0003-tools-libxc-xc_dom_arm-add-missing-variable-initiali.patch b/package/xen/0003-tools-libxc-xc_dom_arm-add-missing-variable-initiali.patch
new file mode 100644
index 0000000000..e8d4b32f50
--- /dev/null
+++ b/package/xen/0003-tools-libxc-xc_dom_arm-add-missing-variable-initiali.patch
@@ -0,0 +1,41 @@
+From d4eece000391583a6e32a225d7eb5b573a5c5565 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd.kuhls@t-online.de>
+Date: Sat, 19 Aug 2017 15:22:58 +0200
+Subject: [PATCH] tools/libxc/xc_dom_arm: add missing variable initialization
+
+The variable domctl.u.address_size.size may remain uninitialized if
+guest_type is not one of xen-3.0-aarch64 or xen-3.0-armv7l. And the
+code precisely checks if this variable is still 0 to decide if the
+guest type is supported or not.
+
+This fixes the following build failure with gcc 7.x:
+
+xc_dom_arm.c:229:31: error: 'domctl.u.address_size.size' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+ if ( domctl.u.address_size.size == 0 )
+
+Patch originally taken from
+https://www.mail-archive.com/xen-devel@lists.xen.org/msg109313.html.
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+[Thomas: improved commit log, reformatted with Git.]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ tools/libxc/xc_dom_arm.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/tools/libxc/xc_dom_arm.c b/tools/libxc/xc_dom_arm.c
+index e7d4bd0..e669fb0 100644
+--- a/tools/libxc/xc_dom_arm.c
++++ b/tools/libxc/xc_dom_arm.c
+@@ -223,6 +223,8 @@ static int set_mode(xc_interface *xch, domid_t domid, char *guest_type)
+
+ domctl.domain = domid;
+ domctl.cmd = XEN_DOMCTL_set_address_size;
++ domctl.u.address_size.size = 0;
++
+ for ( i = 0; i < ARRAY_SIZE(types); i++ )
+ if ( !strcmp(types[i].guest, guest_type) )
+ domctl.u.address_size.size = types[i].size;
+--
+2.9.4
+
diff --git a/package/zmqpp/zmqpp.mk b/package/zmqpp/zmqpp.mk
index d651c3280b..f576527463 100644
--- a/package/zmqpp/zmqpp.mk
+++ b/package/zmqpp/zmqpp.mk
@@ -13,6 +13,10 @@ ZMQPP_LICENSE_FILES = LICENSE
ZMQPP_MAKE_OPTS = LD="$(TARGET_CXX)" BUILD_PATH=./build PREFIX=/usr
ZMQPP_LDFLAGS = $(TARGET_LDFLAGS) -lpthread
+ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
+ZMQPP_LDFLAGS += -latomic
+endif
+
ifeq ($(BR2_PACKAGE_ZMQPP_CLIENT),y)
ZMQPP_DEPENDENCIES += boost
endif
diff --git a/support/misc/Vagrantfile b/support/misc/Vagrantfile
index d26f246e03..cb41c303fc 100644
--- a/support/misc/Vagrantfile
+++ b/support/misc/Vagrantfile
@@ -5,7 +5,7 @@
################################################################################
# Buildroot version to use
-RELEASE='2017.05'
+RELEASE='2017.08'
### Change here for more memory/cores ###
VM_MEMORY=2048
diff --git a/support/testing/infra/basetest.py b/support/testing/infra/basetest.py
index 431605b23f..493dea5125 100644
--- a/support/testing/infra/basetest.py
+++ b/support/testing/infra/basetest.py
@@ -35,6 +35,7 @@ class BRTest(unittest.TestCase):
logtofile = True
keepbuilds = False
jlevel = 0
+ timeout_multiplier = 1
def __init__(self, names):
super(BRTest, self).__init__(names)
@@ -60,7 +61,8 @@ class BRTest(unittest.TestCase):
self.b.build()
self.show_msg("Building done")
- self.emulator = Emulator(self.builddir, self.downloaddir, self.logtofile)
+ self.emulator = Emulator(self.builddir, self.downloaddir,
+ self.logtofile, self.timeout_multiplier)
def tearDown(self):
self.show_msg("Cleaning up")
diff --git a/support/testing/infra/emulator.py b/support/testing/infra/emulator.py
index 588a92f6a2..802e89d4b4 100644
--- a/support/testing/infra/emulator.py
+++ b/support/testing/infra/emulator.py
@@ -5,10 +5,14 @@ import infra
class Emulator(object):
- def __init__(self, builddir, downloaddir, logtofile):
+ def __init__(self, builddir, downloaddir, logtofile, timeout_multiplier):
self.qemu = None
self.downloaddir = downloaddir
self.logfile = infra.open_log_file(builddir, "run", logtofile)
+ # We use elastic runners on the cloud to runs our tests. Those runners
+ # can take a long time to run the emulator. Use a timeout multiplier
+ # when running the tests to avoid sporadic failures.
+ self.timeout_multiplier = timeout_multiplier
# Start Qemu to boot the system
#
@@ -65,7 +69,8 @@ class Emulator(object):
qemu_cmd += ["-append", " ".join(kernel_cmdline)]
self.logfile.write("> starting qemu with '%s'\n" % " ".join(qemu_cmd))
- self.qemu = pexpect.spawn(qemu_cmd[0], qemu_cmd[1:], timeout=5,
+ self.qemu = pexpect.spawn(qemu_cmd[0], qemu_cmd[1:],
+ timeout=5 * self.timeout_multiplier,
env={"QEMU_AUDIO_DRV": "none"})
# We want only stdout into the log to avoid double echo
self.qemu.logfile_read = self.logfile
@@ -76,7 +81,7 @@ class Emulator(object):
# The login prompt can take some time to appear when running multiple
# instances in parallel, so set the timeout to a large value
index = self.qemu.expect(["buildroot login:", pexpect.TIMEOUT],
- timeout=60)
+ timeout=60 * self.timeout_multiplier)
if index != 0:
self.logfile.write("==> System does not boot")
raise SystemError("System does not boot")
@@ -94,6 +99,8 @@ class Emulator(object):
# return a tuple (output, exit_code)
def run(self, cmd, timeout=-1):
self.qemu.sendline(cmd)
+ if timeout != -1:
+ timeout *= self.timeout_multiplier
self.qemu.expect("# ", timeout=timeout)
# Remove double carriage return from qemu stdout so str.splitlines()
# works as expected.
diff --git a/support/testing/run-tests b/support/testing/run-tests
index 0cb673c61f..95c1565f72 100755
--- a/support/testing/run-tests
+++ b/support/testing/run-tests
@@ -28,6 +28,8 @@ def main():
help='number of testcases to run simultaneously')
parser.add_argument('-j', '--jlevel', type=int,
help='BR2_JLEVEL to use for each testcase')
+ parser.add_argument('--timeout-multiplier', type=int, default=1,
+ help='increase timeouts (useful for slow machines)')
args = parser.parse_args()
@@ -97,6 +99,13 @@ def main():
# the user can override the auto calculated value
BRTest.jlevel = args.jlevel
+ if args.timeout_multiplier < 1:
+ print "Invalid multiplier for timeout values"
+ print ""
+ parser.print_help()
+ return 1
+ BRTest.timeout_multiplier = args.timeout_multiplier
+
nose2_args = ["-v",
"-N", str(args.testcases),
"-s", "support/testing",
diff --git a/system/Config.in b/system/Config.in
index 59d8eab271..b9714923c4 100644
--- a/system/Config.in
+++ b/system/Config.in
@@ -9,10 +9,10 @@ choice
config BR2_ROOTFS_SKELETON_DEFAULT
bool "default target skeleton"
- select BR2_PACKAGE_SKELETON_SYSV if BR2_INIT_SYSV
- select BR2_PACKAGE_SKELETON_SYSV if BR2_INIT_BUSYBOX
- select BR2_PACKAGE_SKELETON_SYSTEMD if BR2_INIT_SYSTEMD
- select BR2_PACKAGE_SKELETON_NONE if BR2_INIT_NONE
+ select BR2_PACKAGE_SKELETON_INIT_SYSV if BR2_INIT_SYSV
+ select BR2_PACKAGE_SKELETON_INIT_SYSV if BR2_INIT_BUSYBOX
+ select BR2_PACKAGE_SKELETON_INIT_SYSTEMD if BR2_INIT_SYSTEMD
+ select BR2_PACKAGE_SKELETON_INIT_NONE if BR2_INIT_NONE
help
Use default target skeleton
diff --git a/toolchain/Config.in b/toolchain/Config.in
index 15ee335481..584d053058 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -48,6 +48,8 @@ config BR2_TOOLCHAIN_BUILDROOT
depends on !BR2_bf608
depends on !BR2_bf609
depends on !BR2_csky
+ depends on !BR2_mips_m6250
+ depends on !BR2_mips_p6600
config BR2_TOOLCHAIN_EXTERNAL
bool "External toolchain"
diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk
index 23cdf30b9f..dc0588c536 100644
--- a/toolchain/toolchain-external/pkg-toolchain-external.mk
+++ b/toolchain/toolchain-external/pkg-toolchain-external.mk
@@ -74,7 +74,7 @@ endif
ifeq ($(TOOLCHAIN_EXTERNAL_INSTALL_DIR),)
ifneq ($(TOOLCHAIN_EXTERNAL_PREFIX),)
# if no path set, figure it out from path
-TOOLCHAIN_EXTERNAL_BIN := $(shell dirname $(shell which $(TOOLCHAIN_EXTERNAL_PREFIX)-gcc))
+TOOLCHAIN_EXTERNAL_BIN := $(dir $(shell which $(TOOLCHAIN_EXTERNAL_PREFIX)-gcc))
endif
else
TOOLCHAIN_EXTERNAL_BIN := $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/bin
OpenPOWER on IntegriCloud