summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Stanley <joel@jms.id.au>2019-04-01 10:42:49 +1030
committerJoel Stanley <joel@jms.id.au>2019-04-01 10:43:00 +1030
commitb5542e1abd3d92012a384b3676eceea7248a4569 (patch)
treea496c29803d874fdb2ea3de1bea3188758e3f94c
parent4ffa9554af5462c2db90300c7597cb6fa51f2d8f (diff)
parent863761ff3c6233e6e2ef836c4600590dc0d38197 (diff)
downloadbuildroot-b5542e1abd3d92012a384b3676eceea7248a4569.tar.gz
buildroot-b5542e1abd3d92012a384b3676eceea7248a4569.zip
Merge tag '2019.02.1' into 2019.02-op-build
Signed-off-by: Joel Stanley <joel@jms.id.au>
-rw-r--r--CHANGES26
-rw-r--r--Config.in.legacy6
-rw-r--r--Makefile6
-rw-r--r--docs/website/download.html2
-rw-r--r--linux/Config.in2
-rw-r--r--linux/linux.hash10
-rw-r--r--package/asterisk/asterisk.hash2
-rw-r--r--package/asterisk/asterisk.mk2
-rw-r--r--package/avahi/0001-Drop-legacy-unicast-queries-from-address-not-on-loca.patch48
-rw-r--r--package/bash/0001-bash44-019.patch54
-rw-r--r--package/bash/0002-bash44-020.patch181
-rw-r--r--package/bash/0003-bash44-021.patch61
-rw-r--r--package/bash/0004-bash44-022.patch65
-rw-r--r--package/bash/0005-bash44-023.patch56
-rw-r--r--package/beecrypt/0003-don-t-check-for-cplusplus-compiler.patch27
-rw-r--r--package/binutils/2.31.1/0012-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch568
-rw-r--r--package/binutils/2.31.1/0013-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch588
-rw-r--r--package/binutils/2.31.1/0014-x86-Properly-add-X86_ISA_1_NEEDED-property.patch140
-rw-r--r--package/busybox/0004-udhcpc-check-that-4-byte-options-are-indeed-4-byte-closes-11506.patch137
-rw-r--r--package/busybox/0005-udhcpc-when-decoding-DHCP_SUBNET-ensure-it-is-4-bytes-long.patch58
-rw-r--r--package/busybox/busybox.config2
-rw-r--r--package/clamav/clamav.hash2
-rw-r--r--package/clamav/clamav.mk2
-rw-r--r--package/cups/0005-Fix-builds-without-PAM-Issue-5283.patch189
-rw-r--r--package/cups/cups.hash2
-rw-r--r--package/cups/cups.mk2
-rw-r--r--package/efl/0001-evas-gl-make-GLintptr-etc.-also-ndefed-for-GL_VERSIO.patch34
-rw-r--r--package/eigen/eigen.hash2
-rw-r--r--package/eigen/eigen.mk2
-rw-r--r--package/fetchmail/0001-enable-libressl.patch (renamed from package/fetchmail/0002-enable-libressl.patch)0
-rw-r--r--package/fetchmail/0001-fix-openssl-static-link.patch30
-rw-r--r--package/fetchmail/0002-configure.ac-use-pkg-config-to-find-openssl.patch69
-rw-r--r--package/fetchmail/fetchmail.mk7
-rw-r--r--package/file/file.hash12
-rw-r--r--package/file/file.mk2
-rw-r--r--package/flashrom/0001-platform-Add-riscv-to-known-platforms.patch41
-rw-r--r--package/flashrom/Config.in25
-rw-r--r--package/flashrom/flashrom.mk36
-rw-r--r--package/fltk/fltk.mk7
-rw-r--r--package/gerbera/0001-CMakeLists.txt-fix-static-build-with-curl-and-libidn.patch41
-rw-r--r--package/gerbera/0002-cmake-FindFFMPEG-cmake-use-pkgconfig.patch175
-rw-r--r--package/git/git.mk4
-rw-r--r--package/glibc/glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a/glibc.hash (renamed from package/glibc/glibc-2.28-69-g1e5c5303a522764d7e9d2302a60e4a32cdb902f1/glibc.hash)2
-rw-r--r--package/glibc/glibc.mk2
-rw-r--r--package/gnuradio/Config.in6
-rw-r--r--package/gnuradio/gnuradio.mk7
-rw-r--r--package/go/go.mk4
-rw-r--r--package/gstreamer/gst-plugins-bad/Config.in9
-rw-r--r--package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk8
-rw-r--r--package/intel-gmmlib/Config.in4
-rw-r--r--package/jq/jq.hash3
-rw-r--r--package/jq/jq.mk6
-rw-r--r--package/kexec/Config.in3
-rw-r--r--package/kexec/kexec.hash2
-rw-r--r--package/kexec/kexec.mk2
-rw-r--r--package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk5
-rw-r--r--package/leveldb/0003-Generate-position-independant-code-for-static-librar.patch52
-rw-r--r--package/leveldb/leveldb.mk2
-rw-r--r--package/libcurl/libcurl.hash4
-rw-r--r--package/libcurl/libcurl.mk2
-rw-r--r--package/libdrm/Config.in1
-rw-r--r--package/libftdi1/libftdi1.mk1
-rw-r--r--package/libglib2/libglib2.mk7
-rw-r--r--package/libiio/libiio.hash2
-rw-r--r--package/libiio/libiio.mk2
-rw-r--r--package/libpcap/Config.in1
-rw-r--r--package/libpcap/libpcap.mk15
-rw-r--r--package/libseccomp/0001-remove-static.patch18
-rw-r--r--package/libseccomp/libseccomp.hash2
-rw-r--r--package/libseccomp/libseccomp.mk2
-rw-r--r--package/libssh2/0003-openssl-fix-dereferencing-ambiguity-potentially-caus.patch51
-rw-r--r--package/libssh2/libssh2.hash2
-rw-r--r--package/libssh2/libssh2.mk2
-rw-r--r--package/linux-headers/Config.in.host10
-rw-r--r--package/log4cplus/log4cplus.mk7
-rw-r--r--package/mariadb/mariadb.hash12
-rw-r--r--package/mariadb/mariadb.mk2
-rw-r--r--package/mender/mender.service2
-rw-r--r--package/mesa3d/Config.in2
-rw-r--r--package/mongodb/Config.in4
-rw-r--r--package/mosquitto/mosquitto.hash2
-rw-r--r--package/mosquitto/mosquitto.mk2
-rw-r--r--package/musl/musl.mk2
-rw-r--r--package/nodejs/nodejs.hash4
-rw-r--r--package/nodejs/nodejs.mk2
-rw-r--r--package/ntp/0003-fix-nommu.patch29
-rw-r--r--package/ntp/0004-fix-work-fork-without-droproot.patch26
-rw-r--r--package/ntp/ntp.hash8
-rw-r--r--package/ntp/ntp.mk2
-rw-r--r--package/openjpeg/0004-install-static-lib.patch27
-rw-r--r--package/openjpeg/openjpeg.hash3
-rw-r--r--package/openjpeg/openjpeg.mk4
-rw-r--r--package/owfs/0001-configure.ac-check-for-localtime_r.patch35
-rw-r--r--package/owfs/0001-include-sys-sysmacros.h-for-major.patch (renamed from package/owfs/0002-include-sys-sysmacros.h-for-major.patch)0
-rw-r--r--package/owfs/owfs.mk16
-rw-r--r--package/php/0004-Call-apxs-with-correct-prefix.patch (renamed from package/php/0005-Call-apxs-with-correct-prefix.patch)0
-rw-r--r--package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch82
-rw-r--r--package/php/php.hash2
-rw-r--r--package/php/php.mk2
-rw-r--r--package/pkg-generic.mk12
-rw-r--r--package/pure-ftpd/pure-ftpd.mk7
-rw-r--r--package/putty/0001-Fix-compilation-with-NO_GSSAPI.patch266
-rw-r--r--package/putty/0002-unix-uxpoll-need-_XOPEN_SOURCE.patch39
-rw-r--r--package/putty/0003-Fix-uClibc-build-issues.patch93
-rw-r--r--package/putty/putty.hash9
-rw-r--r--package/putty/putty.mk5
-rw-r--r--package/python-aiojobs/Config.in1
-rw-r--r--package/qt5/qt5webkit/Config.in3
-rw-r--r--package/qt5/qt5webkit/qt5webkit.mk4
-rw-r--r--package/rdesktop/0002-openssl11.patch130
-rw-r--r--package/rdesktop/rdesktop.hash6
-rw-r--r--package/rdesktop/rdesktop.mk6
-rw-r--r--package/samba4/samba4.hash4
-rw-r--r--package/samba4/samba4.mk2
-rw-r--r--package/sunxi-tools/0001-meminfo-Access-to-io-memory-via-pointers.patch59
-rw-r--r--package/supertux/0001-Fix-build-on-PowerPC.patch81
-rw-r--r--package/swupdate/0001-Makefile-fix-static-build.patch62
-rw-r--r--package/tpm2-abrmd/Config.in4
-rw-r--r--package/tpm2-tss/Config.in10
-rw-r--r--package/vsftpd/0004-Prevent-hang-in-SIGCHLD-handler.patch87
-rw-r--r--package/wavemon/Config.in6
-rw-r--r--package/wireshark/0001-packet-gtp-c-remove-unneeded-named-structures.patch75
-rw-r--r--package/wireshark/wireshark.hash4
-rw-r--r--package/wireshark/wireshark.mk9
-rw-r--r--package/x11r7/xapp_xdm/xapp_xdm.hash9
-rw-r--r--package/x11r7/xapp_xdm/xapp_xdm.mk2
-rw-r--r--package/x11r7/xdriver_xf86-video-amdgpu/Config.in2
-rw-r--r--package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.hash2
-rw-r--r--package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk2
-rw-r--r--package/x11r7/xlib_libXdmcp/xlib_libXdmcp.hash9
-rw-r--r--package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk2
-rw-r--r--package/xen/0004-xenpmd-make-32-bit-gcc-8-1-non-debug-build-work.patch79
-rwxr-xr-xutils/test-pkg17
133 files changed, 3582 insertions, 767 deletions
diff --git a/CHANGES b/CHANGES
index 365d2bbe4e..7b16afa5fb 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,29 @@
+2019.02.1, Released March 29th, 2019
+
+ Important / security related fixes.
+
+ pkg-generic: Only tweak .la files needing it to ensure they
+ are not included in subsequent package file lists.
+
+ test-pkg: Generate a basic package config if none is
+ specified.
+
+ Updated/fixed packages: asterisk, avahi, bash, beecrypt,
+ binutils, busybox, clamav, cups, efl, eigen, fetchmail, file,
+ flashrom, fltk, gerbera, git, glibc, gnuradio, go,
+ gst-plugins-bad, intel-gmmlib, jq, kexec, kf5-modemmanager-qt,
+ leveldb, libcurl, libdrm, libftdi1, libglib2, libiio, libpcap,
+ libseccomp, libssh2, log4cplus, lvm2, mariadb, mender,
+ mongodb, mosquitto, musl, nodejs, ntp, openjpeg, owfs, php,
+ pure-ftpd, putty, python-aiojobs, qt5webkit, rdesktop, samba4,
+ sunxi-tools, supertux, swupdate, tpm2-abrmd, tpm2-tss,
+ wavemon, wireshark, vsftpd, xapp_xdm, xen,
+ xdriver_xf86-video-fbdev, xlib_libXdmcp
+
+ Issues resolved (http://bugs.uclibc.org):
+
+ #11716: Typo on website, saying latest release is 2018.2.11
+
2019.02, released March 4th, 2019
Minor fixes.
diff --git a/Config.in.legacy b/Config.in.legacy
index 25b48fba82..7e8b515088 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -146,6 +146,12 @@ endif
comment "Legacy options removed in 2019.02"
+config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK
+ bool "gst-plugins-bad apexsink option removed"
+ select BR2_LEGACY
+ help
+ The gst-plugins-bad apexsink option was removed.
+
config BR2_PACKAGE_QT
bool "qt package removed"
select BR2_LEGACY
diff --git a/Makefile b/Makefile
index 0190a245ff..c4656e1eb9 100644
--- a/Makefile
+++ b/Makefile
@@ -92,9 +92,9 @@ all:
.PHONY: all
# Set and export the version string
-export BR2_VERSION := 2019.02
+export BR2_VERSION := 2019.02.1
# Actual time the release is cut (for reproducible builds)
-BR2_VERSION_EPOCH = 1551735000
+BR2_VERSION_EPOCH = 1553900000
# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
@@ -1173,7 +1173,7 @@ release: OUT = buildroot-$(BR2_VERSION)
release:
git archive --format=tar --prefix=$(OUT)/ HEAD > $(OUT).tar
$(MAKE) O=$(OUT) manual-html manual-text manual-pdf
- $(MAKE) O=$(OUT) manual-clean
+ $(MAKE) O=$(OUT) clean
tar rf $(OUT).tar $(OUT)
gzip -9 -c < $(OUT).tar > $(OUT).tar.gz
bzip2 -9 -c < $(OUT).tar > $(OUT).tar.bz2
diff --git a/docs/website/download.html b/docs/website/download.html
index 3fc6c2897f..a3d69cdcd8 100644
--- a/docs/website/download.html
+++ b/docs/website/download.html
@@ -8,7 +8,7 @@
<div class="panel-heading">Download</div>
<div class="panel-body">
- <h3 style="text-align: center;">Latest stable / long term support release: <b>2018.02.11</b></h3>
+ <h3 style="text-align: center;">Latest stable / long term support release: <b>2019.02</b></h3>
<div class="row mt centered">
<div class="col-sm-6">
diff --git a/linux/Config.in b/linux/Config.in
index 7ea56093c4..ae57f084fb 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -255,7 +255,7 @@ config BR2_LINUX_KERNEL_SIMPLEIMAGE
config BR2_LINUX_KERNEL_IMAGE
bool "Image"
- depends on BR2_aarch64
+ depends on BR2_aarch64 || BR2_riscv
config BR2_LINUX_KERNEL_LINUX_BIN
bool "linux.bin"
diff --git a/linux/linux.hash b/linux/linux.hash
index 5f71e377f4..0ec56a5689 100644
--- a/linux/linux.hash
+++ b/linux/linux.hash
@@ -1,8 +1,8 @@
# From https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
sha256 43bfea3a6b24b4e5f63190409a199bee8cb93dbea01c52ad7f017078ebdf7c9b linux-5.0.2.tar.xz
# From https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc
-sha256 1cf544308195250805e0731c716691bea4c1ed29e03e6f9ae5be6dc16785a504 linux-4.20.12.tar.xz
-sha256 7ec71d90d6e96e6f741676d157ac06f30c75be4eaf1649143a3c8b7d4f919731 linux-4.19.25.tar.xz
-sha256 7aa43e34e4c9e5965da29cef5ae196e06006f8c0d1d65fd755a2f197f0796a11 linux-4.14.103.tar.xz
-sha256 c09af067af62d299f5e33c279968de58c88fb7c59bd05e8f3bb460f611f60515 linux-4.9.160.tar.xz
-sha256 27da5401aa691762f3361c143f453877f499c02ea6c9c743b09538cb1af1c75d linux-4.4.176.tar.xz
+sha256 d011245629b980d4c15febf080b54804aaf215167b514a3577feddb2495f8a3e linux-4.20.17.tar.xz
+sha256 a326d1154324aee3dd9a25ac44bc4ce7242ded097d4ca2e4c131e6f32918e7d9 linux-4.19.32.tar.xz
+sha256 3764f165f779568745f1468d8f7e1db65d94eae9cd8d1350f4fe003a0fd88ee0 linux-4.14.109.tar.xz
+sha256 b8f87c087cbc35d35d55cae1c0c7e47c8d20226d241697bf5d4c0c524439baeb linux-4.9.166.tar.xz
+sha256 521721c47f580f7adb4a66c9ee9f5e2fda4b9a0f86d4d7f3e888ba0b53edc0bf linux-4.4.177.tar.xz
diff --git a/package/asterisk/asterisk.hash b/package/asterisk/asterisk.hash
index e126372f57..d8cc56695c 100644
--- a/package/asterisk/asterisk.hash
+++ b/package/asterisk/asterisk.hash
@@ -1,5 +1,5 @@
# Locally computed
-sha256 d74ba84ad92cd710eb071940e6057ef644d71864431d91aaafe0717a8939afc3 asterisk-16.1.1.tar.gz
+sha256 c022e9d5410ed94ab1aa51ba1e2a8b196f0dfa15bcd0bd545d06efee4c786578 asterisk-16.2.1.tar.gz
# sha1 from: http://downloads.asterisk.org/pub/telephony/sounds/releases
# sha256 locally computed
diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 3b4d97a258..65f8d3fdf9 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -4,7 +4,7 @@
#
################################################################################
-ASTERISK_VERSION = 16.1.1
+ASTERISK_VERSION = 16.2.1
# Use the github mirror: it's an official mirror maintained by Digium, and
# provides tarballs, which the main Asterisk git tree (behind Gerrit) does not.
ASTERISK_SITE = $(call github,asterisk,asterisk,$(ASTERISK_VERSION))
diff --git a/package/avahi/0001-Drop-legacy-unicast-queries-from-address-not-on-loca.patch b/package/avahi/0001-Drop-legacy-unicast-queries-from-address-not-on-loca.patch
new file mode 100644
index 0000000000..0e8408c830
--- /dev/null
+++ b/package/avahi/0001-Drop-legacy-unicast-queries-from-address-not-on-loca.patch
@@ -0,0 +1,48 @@
+From e111def44a7df4624a4aa3f85fe98054bffb6b4f Mon Sep 17 00:00:00 2001
+From: Trent Lloyd <trent@lloyd.id.au>
+Date: Sat, 22 Dec 2018 09:06:07 +0800
+Subject: [PATCH] Drop legacy unicast queries from address not on local link
+
+When handling legacy unicast queries, ensure that the source IP is
+inside a subnet on the local link, otherwise drop the packet.
+
+Fixes #145
+Fixes #203
+CVE-2017-6519
+CVE-2018-100084
+
+Backported from: e111def44a7df4624a4aa3f85fe98054bffb6b4f
+Signed-off-by: Artem Panfilov <panfilov.artyom@gmail.com>
+---
+ avahi-core/server.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/avahi-core/server.c b/avahi-core/server.c
+index a2cb19a8..a2580e38 100644
+--- a/avahi-core/server.c
++++ b/avahi-core/server.c
+@@ -930,6 +930,7 @@ static void dispatch_packet(AvahiServer *s, AvahiDnsPacket *p, const AvahiAddres
+
+ if (avahi_dns_packet_is_query(p)) {
+ int legacy_unicast = 0;
++ char t[AVAHI_ADDRESS_STR_MAX];
+
+ /* For queries EDNS0 might allow ARCOUNT != 0. We ignore the
+ * AR section completely here, so far. Until the day we add
+@@ -947,6 +948,13 @@ static void dispatch_packet(AvahiServer *s, AvahiDnsPacket *p, const AvahiAddres
+ legacy_unicast = 1;
+ }
+
++ if (!is_mdns_mcast_address(dst_address) &&
++ !avahi_interface_address_on_link(i, src_address)) {
++
++ avahi_log_debug("Received non-local unicast query from host %s on interface '%s.%i'.", avahi_address_snprint(t, sizeof(t), src_address), i->hardware->name, i->protocol);
++ return;
++ }
++
+ if (legacy_unicast)
+ reflect_legacy_unicast_query_packet(s, p, i, src_address, port);
+
+--
+2.19.1
+
diff --git a/package/bash/0001-bash44-019.patch b/package/bash/0001-bash44-019.patch
new file mode 100644
index 0000000000..b3d2f331b6
--- /dev/null
+++ b/package/bash/0001-bash44-019.patch
@@ -0,0 +1,54 @@
+From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-019
+
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.4
+Patch-ID: bash44-019
+
+Bug-Reported-by: Kieran Grant <kieran.thehacker.grant@gmail.com>
+Bug-Reference-ID: <ec9071ae-efb1-9e09-5d03-e905daf2835c@gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2018-02/msg00002.html
+
+Bug-Description:
+
+With certain values for PS1, especially those that wrap onto three or more
+lines, readline will miscalculate the number of invisible characters,
+leading to crashes and core dumps.
+
+Patch (apply with `patch -p0'):
+
+*** bash-4.4.18/lib/readline/display.c 2016-07-28 14:49:33.000000000 -0400
+--- b/lib/readline/display.c 2018-02-03 19:19:35.000000000 -0500
+***************
+*** 772,776 ****
+ wadjust = (newlines == 0)
+ ? prompt_invis_chars_first_line
+! : ((newlines == prompt_lines_estimate) ? wrap_offset : prompt_invis_chars_first_line);
+
+ /* fix from Darin Johnson <darin@acuson.com> for prompt string with
+--- b/788,794 ----
+ wadjust = (newlines == 0)
+ ? prompt_invis_chars_first_line
+! : ((newlines == prompt_lines_estimate)
+! ? (wrap_offset - prompt_invis_chars_first_line)
+! : 0);
+
+ /* fix from Darin Johnson <darin@acuson.com> for prompt string with
+*** bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 18
+
+ #endif /* _PATCHLEVEL_H_ */
+--- b/26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 19
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/package/bash/0002-bash44-020.patch b/package/bash/0002-bash44-020.patch
new file mode 100644
index 0000000000..20f3abb586
--- /dev/null
+++ b/package/bash/0002-bash44-020.patch
@@ -0,0 +1,181 @@
+From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-020
+
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.4
+Patch-ID: bash44-020
+
+Bug-Reported-by: Graham Northup <northug@clarkson.edu>
+Bug-Reference-ID: <537530c3-61f0-349b-9de6-fa4e2487f428@clarkson.edu>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2017-02/msg00025.html
+
+Bug-Description:
+
+In circumstances involving long-running scripts that create and reap many
+processes, it is possible for the hash table bash uses to store exit
+statuses from asynchronous processes to develop loops. This patch fixes
+the loop causes and adds code to detect any future loops.
+
+Patch (apply with `patch -p0'):
+
+*** bash-4.4-patched/jobs.c 2016-11-11 13:42:55.000000000 -0500
+--- b/jobs.c 2017-02-22 15:16:28.000000000 -0500
+***************
+*** 813,818 ****
+ struct pidstat *ps;
+
+! bucket = pshash_getbucket (pid);
+! psi = bgp_getindex ();
+ ps = &bgpids.storage[psi];
+
+--- b/796,815 ----
+ struct pidstat *ps;
+
+! /* bucket == existing chain of pids hashing to same value
+! psi = where were going to put this pid/status */
+!
+! bucket = pshash_getbucket (pid); /* index into pidstat_table */
+! psi = bgp_getindex (); /* bgpids.head, index into storage */
+!
+! /* XXX - what if psi == *bucket? */
+! if (psi == *bucket)
+! {
+! #ifdef DEBUG
+! internal_warning ("hashed pid %d (pid %d) collides with bgpids.head, skipping", psi, pid);
+! #endif
+! bgpids.storage[psi].pid = NO_PID; /* make sure */
+! psi = bgp_getindex (); /* skip to next one */
+! }
+!
+ ps = &bgpids.storage[psi];
+
+***************
+*** 842,845 ****
+--- b/839,843 ----
+ {
+ struct pidstat *ps;
++ ps_index_t *bucket;
+
+ ps = &bgpids.storage[psi];
+***************
+*** 847,856 ****
+ return;
+
+! if (ps->bucket_next != NO_PID)
+ bgpids.storage[ps->bucket_next].bucket_prev = ps->bucket_prev;
+! if (ps->bucket_prev != NO_PID)
+ bgpids.storage[ps->bucket_prev].bucket_next = ps->bucket_next;
+ else
+! *(pshash_getbucket (ps->pid)) = ps->bucket_next;
+ }
+
+--- b/845,861 ----
+ return;
+
+! if (ps->bucket_next != NO_PIDSTAT)
+ bgpids.storage[ps->bucket_next].bucket_prev = ps->bucket_prev;
+! if (ps->bucket_prev != NO_PIDSTAT)
+ bgpids.storage[ps->bucket_prev].bucket_next = ps->bucket_next;
+ else
+! {
+! bucket = pshash_getbucket (ps->pid);
+! *bucket = ps->bucket_next; /* deleting chain head in hash table */
+! }
+!
+! /* clear out this cell, just in case */
+! ps->pid = NO_PID;
+! ps->bucket_next = ps->bucket_prev = NO_PIDSTAT;
+ }
+
+***************
+*** 859,863 ****
+ pid_t pid;
+ {
+! ps_index_t psi;
+
+ if (bgpids.storage == 0 || bgpids.nalloc == 0 || bgpids.npid == 0)
+--- b/864,868 ----
+ pid_t pid;
+ {
+! ps_index_t psi, orig_psi;
+
+ if (bgpids.storage == 0 || bgpids.nalloc == 0 || bgpids.npid == 0)
+***************
+*** 865,871 ****
+
+ /* Search chain using hash to find bucket in pidstat_table */
+! for (psi = *(pshash_getbucket (pid)); psi != NO_PIDSTAT; psi = bgpids.storage[psi].bucket_next)
+! if (bgpids.storage[psi].pid == pid)
+! break;
+
+ if (psi == NO_PIDSTAT)
+--- b/870,883 ----
+
+ /* Search chain using hash to find bucket in pidstat_table */
+! for (orig_psi = psi = *(pshash_getbucket (pid)); psi != NO_PIDSTAT; psi = bgpids.storage[psi].bucket_next)
+! {
+! if (bgpids.storage[psi].pid == pid)
+! break;
+! if (orig_psi == bgpids.storage[psi].bucket_next) /* catch reported bug */
+! {
+! internal_warning ("bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next", psi);
+! return 0;
+! }
+! }
+
+ if (psi == NO_PIDSTAT)
+***************
+*** 905,909 ****
+ pid_t pid;
+ {
+! ps_index_t psi;
+
+ if (bgpids.storage == 0 || bgpids.nalloc == 0 || bgpids.npid == 0)
+--- b/917,921 ----
+ pid_t pid;
+ {
+! ps_index_t psi, orig_psi;
+
+ if (bgpids.storage == 0 || bgpids.nalloc == 0 || bgpids.npid == 0)
+***************
+*** 911,917 ****
+
+ /* Search chain using hash to find bucket in pidstat_table */
+! for (psi = *(pshash_getbucket (pid)); psi != NO_PIDSTAT; psi = bgpids.storage[psi].bucket_next)
+! if (bgpids.storage[psi].pid == pid)
+! return (bgpids.storage[psi].status);
+
+ return -1;
+--- b/923,936 ----
+
+ /* Search chain using hash to find bucket in pidstat_table */
+! for (orig_psi = psi = *(pshash_getbucket (pid)); psi != NO_PIDSTAT; psi = bgpids.storage[psi].bucket_next)
+! {
+! if (bgpids.storage[psi].pid == pid)
+! return (bgpids.storage[psi].status);
+! if (orig_psi == bgpids.storage[psi].bucket_next) /* catch reported bug */
+! {
+! internal_warning ("bgp_search: LOOP: psi (%d) == storage[psi].bucket_next", psi);
+! return -1;
+! }
+! }
+
+ return -1;
+*** bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 19
+
+ #endif /* _PATCHLEVEL_H_ */
+--- b/26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 20
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/package/bash/0003-bash44-021.patch b/package/bash/0003-bash44-021.patch
new file mode 100644
index 0000000000..52f3b75eac
--- /dev/null
+++ b/package/bash/0003-bash44-021.patch
@@ -0,0 +1,61 @@
+From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-021
+
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.4
+Patch-ID: bash44-021
+
+Bug-Reported-by: werner@suse.de
+Bug-Reference-ID: <201803281402.w2SE2VOa000476@noether.suse.de>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2018-03/msg00196.html
+
+Bug-Description:
+
+A SIGINT received inside a SIGINT trap handler can possibly cause the
+shell to loop.
+
+Patch (apply with `patch -p0'):
+
+*** bash-20180329/jobs.c 2018-02-11 18:07:22.000000000 -0500
+--- b/jobs.c 2018-04-02 14:24:21.000000000 -0400
+***************
+*** 2690,2694 ****
+ if (job_control == 0 || (subshell_environment&SUBSHELL_COMSUB))
+ {
+! old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
+ waiting_for_child = 0;
+ if (old_sigint_handler == SIG_IGN)
+--- b/2690,2704 ----
+ if (job_control == 0 || (subshell_environment&SUBSHELL_COMSUB))
+ {
+! SigHandler *temp_sigint_handler;
+!
+! temp_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
+! if (temp_sigint_handler == wait_sigint_handler)
+! {
+! #if defined (DEBUG)
+! internal_warning ("wait_for: recursively setting old_sigint_handler to wait_sigint_handler: running_trap = %d", running_trap);
+! #endif
+! }
+! else
+! old_sigint_handler = temp_sigint_handler;
+ waiting_for_child = 0;
+ if (old_sigint_handler == SIG_IGN)
+*** bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 20
+
+ #endif /* _PATCHLEVEL_H_ */
+--- b/26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 21
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/package/bash/0004-bash44-022.patch b/package/bash/0004-bash44-022.patch
new file mode 100644
index 0000000000..0db270a17e
--- /dev/null
+++ b/package/bash/0004-bash44-022.patch
@@ -0,0 +1,65 @@
+From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-022
+
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.4
+Patch-ID: bash44-022
+
+Bug-Reported-by: Nuzhna Pomoshch <nuzhna_pomoshch@yahoo.com>
+Bug-Reference-ID: <1317167476.1492079.1495999776464@mail.yahoo.com>
+Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2017-05/msg00005.html
+
+Bug-Description:
+
+There are cases where a failing readline command (e.g., delete-char at the end
+of a line) can cause a multi-character key sequence to `back up' and attempt
+to re-read some of the characters in the sequence.
+
+Patch (apply with `patch -p0'):
+
+*** bash-4.4-patched/lib/readline/readline.c 2016-04-20 15:53:52.000000000 -0400
+--- b/lib/readline/readline.c 2018-05-26 17:19:00.000000000 -0400
+***************
+*** 1058,1062 ****
+ r = _rl_dispatch (ANYOTHERKEY, m);
+ }
+! else if (r && map[ANYOTHERKEY].function)
+ {
+ /* We didn't match (r is probably -1), so return something to
+--- b/1056,1060 ----
+ r = _rl_dispatch (ANYOTHERKEY, m);
+ }
+! else if (r < 0 && map[ANYOTHERKEY].function)
+ {
+ /* We didn't match (r is probably -1), so return something to
+***************
+*** 1070,1074 ****
+ return -2;
+ }
+! else if (r && got_subseq)
+ {
+ /* OK, back up the chain. */
+--- b/1068,1072 ----
+ return -2;
+ }
+! else if (r < 0 && got_subseq) /* XXX */
+ {
+ /* OK, back up the chain. */
+*** bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 21
+
+ #endif /* _PATCHLEVEL_H_ */
+--- b/26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 22
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/package/bash/0005-bash44-023.patch b/package/bash/0005-bash44-023.patch
new file mode 100644
index 0000000000..05b18902a5
--- /dev/null
+++ b/package/bash/0005-bash44-023.patch
@@ -0,0 +1,56 @@
+From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-023
+
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.4
+Patch-ID: bash44-023
+
+Bug-Reported-by: Martijn Dekker <martijn@inlv.org>
+Bug-Reference-ID: <5326d6b9-2625-1d32-3e6e-ad1d15462c09@inlv.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-11/msg00041.html
+
+Bug-Description:
+
+When sourcing a file from an interactive shell, setting the SIGINT handler
+to the default and typing ^C will cause the shell to exit.
+
+Patch (apply with `patch -p0'):
+
+*** bash-4.4-patched/builtins/trap.def 2016-01-25 13:32:38.000000000 -0500
+--- b/builtins/trap.def 2016-11-06 12:04:35.000000000 -0500
+***************
+*** 99,102 ****
+--- b/99,103 ----
+
+ extern int posixly_correct, subshell_environment;
++ extern int sourcelevel, running_trap;
+
+ int
+***************
+*** 213,216 ****
+--- b/214,220 ----
+ if (interactive)
+ set_signal_handler (SIGINT, sigint_sighandler);
++ /* special cases for interactive == 0 */
++ else if (interactive_shell && (sourcelevel||running_trap))
++ set_signal_handler (SIGINT, sigint_sighandler);
+ else
+ set_signal_handler (SIGINT, termsig_sighandler);
+*** bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
+--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 22
+
+ #endif /* _PATCHLEVEL_H_ */
+--- b/26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 23
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/package/beecrypt/0003-don-t-check-for-cplusplus-compiler.patch b/package/beecrypt/0003-don-t-check-for-cplusplus-compiler.patch
new file mode 100644
index 0000000000..32f167996f
--- /dev/null
+++ b/package/beecrypt/0003-don-t-check-for-cplusplus-compiler.patch
@@ -0,0 +1,27 @@
+configure.ac: don't check for C++ compiler
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+
+diff -durN beecrypt-4.2.1-orig/configure.ac beecrypt-4.2.1/configure.ac
+--- beecrypt-4.2.1-orig/configure.ac 2019-03-01 19:58:16.516117640 +0100
++++ beecrypt-4.2.1/configure.ac 2019-03-01 21:10:17.707391803 +0100
+@@ -119,9 +119,6 @@
+
+ # Checks for C compiler and preprocessor
+ AC_PROG_CC
+-AC_PROG_CPP
+-AC_PROG_CXX
+-AC_PROG_CXXCPP
+ AM_PROG_AS
+ AC_PROG_LD
+ AC_PROG_LN_S
+@@ -133,9 +130,6 @@
+ AC_LANG_PUSH(C)
+ AC_OPENMP
+ AC_LANG_POP(C)
+-AC_LANG_PUSH(C++)
+-AC_OPENMP
+-AC_LANG_POP(C++)
+
+ # Checks for compiler characteristics and flags
+ if test "$ac_enable_expert_mode" = no; then
diff --git a/package/binutils/2.31.1/0012-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch b/package/binutils/2.31.1/0012-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch
new file mode 100644
index 0000000000..8a05af4bb6
--- /dev/null
+++ b/package/binutils/2.31.1/0012-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch
@@ -0,0 +1,568 @@
+From 6737a6b34f4823deb7142f27b4074831a37ac1e1 Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Fri, 20 Jul 2018 09:18:47 -0700
+Subject: [PATCH] x86: Add a GNU_PROPERTY_X86_ISA_1_USED note if needed
+
+When -z separate-code, which is enabled by default for Linux/x86, is
+used to create executable, ld won't place any data in the code-only
+PT_LOAD segment. If there are no data sections placed before the
+code-only PT_LOAD segment, the program headers won't be mapped into
+any PT_LOAD segment. When the executable tries to access it (based
+on the program header address passed in AT_PHDR), it will lead to
+segfault. This patch inserts a GNU_PROPERTY_X86_ISA_1_USED note if
+there may be no data sections before the text section so that the
+first PT_LOAD segment won't be code-only and will contain the program
+header.
+
+Testcases are adjusted to either pass "-z noseparate-code" to ld or
+discard the .note.gnu.property section. A Linux/x86 run-time test is
+added.
+
+bfd/
+
+ PR ld/23428
+ * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): If the
+ separate code program header is needed, make sure that the first
+ read-only PT_LOAD segment has no code by adding a
+ GNU_PROPERTY_X86_ISA_1_USED note.
+
+ld/
+
+ PR ld/23428
+ * testsuite/ld-elf/linux-x86.S: New file.
+ * testsuite/ld-elf/linux-x86.exp: Likewise.
+ * testsuite/ld-elf/pr23428.c: Likewise.
+ * testsuite/ld-elf/sec64k.exp: Pass "-z noseparate-code" to ld
+ for Linux/x86 targets.
+ * testsuite/ld-i386/abs-iamcu.d: Likewise.
+ * testsuite/ld-i386/abs.d: Likewise.
+ * testsuite/ld-i386/pr12718.d: Likewise.
+ * testsuite/ld-i386/pr12921.d: Likewise.
+ * testsuite/ld-x86-64/abs-k1om.d: Likewise.
+ * testsuite/ld-x86-64/abs-l1om.d: Likewise.
+ * testsuite/ld-x86-64/abs.d: Likewise.
+ * testsuite/ld-x86-64/pr12718.d: Likewise.
+ * testsuite/ld-x86-64/pr12921.d: Likewise.
+ * testsuite/ld-linkonce/zeroeh.ld: Discard .note.gnu.property
+ section.
+ * testsuite/ld-scripts/print-memory-usage.t: Likewise.
+ * testsuite/ld-scripts/size-2.t: Likewise.
+ * testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Use ld
+ to create executable if language is "asm".
+
+(cherry picked from commit 241e64e3b42cd9eba514b8e0ad2ef39a337f10a5)
+Signed-off-by: Norbert Lange <nolange79@gmail.com>
+---
+ bfd/ChangeLog | 8 ++++
+ bfd/elfxx-x86.c | 60 +++++++++++++++++++-------
+ ld/ChangeLog | 24 +++++++++++
+ ld/testsuite/ld-elf/linux-x86.S | 63 ++++++++++++++++++++++++++++
+ ld/testsuite/ld-elf/linux-x86.exp | 46 ++++++++++++++++++++
+ ld/testsuite/ld-elf/pr23428.c | 43 +++++++++++++++++++
+ ld/testsuite/ld-elf/sec64k.exp | 2 +
+ ld/testsuite/ld-i386/abs-iamcu.d | 2 +-
+ ld/testsuite/ld-i386/abs.d | 2 +-
+ ld/testsuite/ld-i386/pr12718.d | 2 +-
+ ld/testsuite/ld-i386/pr12921.d | 2 +-
+ ld/testsuite/ld-linkonce/zeroeh.ld | 1 +
+ ld/testsuite/ld-scripts/print-memory-usage.t | 2 +
+ ld/testsuite/ld-scripts/size-2.t | 1 +
+ ld/testsuite/ld-x86-64/abs-k1om.d | 2 +-
+ ld/testsuite/ld-x86-64/abs-l1om.d | 2 +-
+ ld/testsuite/ld-x86-64/abs.d | 2 +-
+ ld/testsuite/ld-x86-64/pr12718.d | 2 +-
+ ld/testsuite/ld-x86-64/pr12921.d | 2 +-
+ ld/testsuite/lib/ld-lib.exp | 5 ++-
+ 20 files changed, 248 insertions(+), 25 deletions(-)
+ create mode 100644 ld/testsuite/ld-elf/linux-x86.S
+ create mode 100644 ld/testsuite/ld-elf/linux-x86.exp
+ create mode 100644 ld/testsuite/ld-elf/pr23428.c
+
+diff --git a/bfd/ChangeLog b/bfd/ChangeLog
+index 1c1174a..d3831b7 100644
+--- a/bfd/ChangeLog
++++ b/bfd/ChangeLog
+@@ -1,3 +1,11 @@
++2018-07-23 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/23428
++ * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): If the
++ separate code program header is needed, make sure that the first
++ read-only PT_LOAD segment has no code by adding a
++ GNU_PROPERTY_X86_ISA_1_USED note.
++
+ 2018-07-18 Nick Clifton <nickc@redhat.com>
+
+ * development.sh: Set to true.
+diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c
+index a2497aa..2e4ff88 100644
+--- a/bfd/elfxx-x86.c
++++ b/bfd/elfxx-x86.c
+@@ -2524,6 +2524,7 @@ _bfd_x86_elf_link_setup_gnu_properties
+ const struct elf_backend_data *bed;
+ unsigned int class_align = ABI_64_P (info->output_bfd) ? 3 : 2;
+ unsigned int got_align;
++ bfd_boolean has_text = FALSE;
+
+ features = 0;
+ if (info->ibt)
+@@ -2538,24 +2539,59 @@ _bfd_x86_elf_link_setup_gnu_properties
+ if (bfd_get_flavour (pbfd) == bfd_target_elf_flavour
+ && bfd_count_sections (pbfd) != 0)
+ {
++ if (!has_text)
++ {
++ /* Check if there is no non-empty text section. */
++ sec = bfd_get_section_by_name (pbfd, ".text");
++ if (sec != NULL && sec->size != 0)
++ has_text = TRUE;
++ }
++
+ ebfd = pbfd;
+
+ if (elf_properties (pbfd) != NULL)
+ break;
+ }
+
+- if (ebfd != NULL && features)
++ bed = get_elf_backend_data (info->output_bfd);
++
++ htab = elf_x86_hash_table (info, bed->target_id);
++ if (htab == NULL)
++ return pbfd;
++
++ if (ebfd != NULL)
+ {
+- /* If features is set, add GNU_PROPERTY_X86_FEATURE_1_IBT and
+- GNU_PROPERTY_X86_FEATURE_1_SHSTK. */
+- prop = _bfd_elf_get_property (ebfd,
+- GNU_PROPERTY_X86_FEATURE_1_AND,
+- 4);
+- prop->u.number |= features;
+- prop->pr_kind = property_number;
++ prop = NULL;
++ if (features)
++ {
++ /* If features is set, add GNU_PROPERTY_X86_FEATURE_1_IBT and
++ GNU_PROPERTY_X86_FEATURE_1_SHSTK. */
++ prop = _bfd_elf_get_property (ebfd,
++ GNU_PROPERTY_X86_FEATURE_1_AND,
++ 4);
++ prop->u.number |= features;
++ prop->pr_kind = property_number;
++ }
++ else if (has_text
++ && elf_properties (ebfd) == NULL
++ && elf_tdata (info->output_bfd)->o->build_id.sec == NULL
++ && !htab->elf.dynamic_sections_created
++ && !info->traditional_format
++ && (info->output_bfd->flags & D_PAGED) != 0
++ && info->separate_code)
++ {
++ /* If the separate code program header is needed, make sure
++ that the first read-only PT_LOAD segment has no code by
++ adding a GNU_PROPERTY_X86_ISA_1_USED note. */
++ prop = _bfd_elf_get_property (ebfd,
++ GNU_PROPERTY_X86_ISA_1_USED,
++ 4);
++ prop->u.number = GNU_PROPERTY_X86_ISA_1_486;
++ prop->pr_kind = property_number;
++ }
+
+ /* Create the GNU property note section if needed. */
+- if (pbfd == NULL)
++ if (prop != NULL && pbfd == NULL)
+ {
+ sec = bfd_make_section_with_flags (ebfd,
+ NOTE_GNU_PROPERTY_SECTION_NAME,
+@@ -2581,12 +2617,6 @@ error_alignment:
+
+ pbfd = _bfd_elf_link_setup_gnu_properties (info);
+
+- bed = get_elf_backend_data (info->output_bfd);
+-
+- htab = elf_x86_hash_table (info, bed->target_id);
+- if (htab == NULL)
+- return pbfd;
+-
+ htab->r_info = init_table->r_info;
+ htab->r_sym = init_table->r_sym;
+
+diff --git a/ld/ChangeLog b/ld/ChangeLog
+index c07e442..cfadbd4 100644
+--- a/ld/ChangeLog
++++ b/ld/ChangeLog
+@@ -1,3 +1,27 @@
++2018-07-23 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR ld/23428
++ * testsuite/ld-elf/linux-x86.S: New file.
++ * testsuite/ld-elf/linux-x86.exp: Likewise.
++ * testsuite/ld-elf/pr23428.c: Likewise.
++ * testsuite/ld-elf/sec64k.exp: Pass "-z noseparate-code" to ld
++ for Linux/x86 targets.
++ * testsuite/ld-i386/abs-iamcu.d: Likewise.
++ * testsuite/ld-i386/abs.d: Likewise.
++ * testsuite/ld-i386/pr12718.d: Likewise.
++ * testsuite/ld-i386/pr12921.d: Likewise.
++ * testsuite/ld-x86-64/abs-k1om.d: Likewise.
++ * testsuite/ld-x86-64/abs-l1om.d: Likewise.
++ * testsuite/ld-x86-64/abs.d: Likewise.
++ * testsuite/ld-x86-64/pr12718.d: Likewise.
++ * testsuite/ld-x86-64/pr12921.d: Likewise.
++ * testsuite/ld-linkonce/zeroeh.ld: Discard .note.gnu.property
++ section.
++ * testsuite/ld-scripts/print-memory-usage.t: Likewise.
++ * testsuite/ld-scripts/size-2.t: Likewise.
++ * testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Use ld to
++ create executable if language is "asm".
++
+ 2018-07-18 Nick Clifton <nickc@redhat.com>
+
+ 2.31.1 Release point.
+diff --git a/ld/testsuite/ld-elf/linux-x86.S b/ld/testsuite/ld-elf/linux-x86.S
+new file mode 100644
+index 0000000..bdf40c6
+--- /dev/null
++++ b/ld/testsuite/ld-elf/linux-x86.S
+@@ -0,0 +1,63 @@
++ .text
++ .globl _start
++ .type _start,@function
++ .p2align 4
++_start:
++ xorl %ebp, %ebp
++#ifdef __LP64__
++ popq %rdi
++ movq %rsp, %rsi
++ andq $~15, %rsp
++#elif defined __x86_64__
++ mov (%rsp),%edi
++ addl $4,%esp
++ movl %esp, %esi
++ andl $~15, %esp
++#else
++ popl %esi
++ movl %esp, %ecx
++ andl $~15, %esp
++
++ subl $8,%esp
++ pushl %ecx
++ pushl %esi
++#endif
++
++ call main
++
++ hlt
++
++ .type syscall, @function
++ .globl syscall
++ .p2align 4
++syscall:
++#ifdef __x86_64__
++ movq %rdi, %rax /* Syscall number -> rax. */
++ movq %rsi, %rdi /* shift arg1 - arg5. */
++ movq %rdx, %rsi
++ movq %rcx, %rdx
++ movq %r8, %r10
++ movq %r9, %r8
++ movq 8(%rsp),%r9 /* arg6 is on the stack. */
++ syscall /* Do the system call. */
++#else
++ push %ebp
++ push %edi
++ push %esi
++ push %ebx
++ mov 0x2c(%esp),%ebp
++ mov 0x28(%esp),%edi
++ mov 0x24(%esp),%esi
++ mov 0x20(%esp),%edx
++ mov 0x1c(%esp),%ecx
++ mov 0x18(%esp),%ebx
++ mov 0x14(%esp),%eax
++ int $0x80
++ pop %ebx
++ pop %esi
++ pop %edi
++ pop %ebp
++#endif
++ ret /* Return to caller. */
++ .size syscall, .-syscall
++ .section .note.GNU-stack,"",@progbits
+diff --git a/ld/testsuite/ld-elf/linux-x86.exp b/ld/testsuite/ld-elf/linux-x86.exp
+new file mode 100644
+index 0000000..36217c6
+--- /dev/null
++++ b/ld/testsuite/ld-elf/linux-x86.exp
+@@ -0,0 +1,46 @@
++# Expect script for simple native Linux/x86 tests.
++# Copyright (C) 2018 Free Software Foundation, Inc.
++#
++# This file is part of the GNU Binutils.
++#
++# 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
++# the Free Software Foundation; either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program 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 General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
++# MA 02110-1301, USA.
++#
++
++# Test very simple native Linux/x86 programs with linux-x86.S.
++if { ![isnative] || [which $CC] == 0 \
++ || (![istarget "i?86-*-linux*"] \
++ && ![istarget "x86_64-*-linux*"] \
++ && ![istarget "amd64-*-linux*"]) } {
++ return
++}
++
++# Add $PLT_CFLAGS if PLT is expected.
++global PLT_CFLAGS
++# Add $NOPIE_CFLAGS and $NOPIE_LDFLAGS if non-PIE is required.
++global NOPIE_CFLAGS NOPIE_LDFLAGS
++
++run_ld_link_exec_tests [list \
++ [list \
++ "Run PR ld/23428 test" \
++ "--no-dynamic-linker -z separate-code" \
++ "" \
++ { linux-x86.S pr23428.c } \
++ "pr23428" \
++ "pass.out" \
++ "$NOPIE_CFLAGS -fno-asynchronous-unwind-tables" \
++ "asm" \
++ ] \
++]
+diff --git a/ld/testsuite/ld-elf/pr23428.c b/ld/testsuite/ld-elf/pr23428.c
+new file mode 100644
+index 0000000..3631ed7
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr23428.c
+@@ -0,0 +1,43 @@
++#include <unistd.h>
++#include <link.h>
++#include <syscall.h>
++
++#define STRING_COMMA_LEN(STR) (STR), (sizeof (STR) - 1)
++
++int
++main (int argc, char **argv)
++{
++ char **ev = &argv[argc + 1];
++ char **evp = ev;
++ ElfW(auxv_t) *av;
++ const ElfW(Phdr) *phdr = NULL;
++ size_t phnum = 0;
++ size_t loadnum = 0;
++ int fd = STDOUT_FILENO;
++ size_t i;
++
++ while (*evp++ != NULL)
++ ;
++
++ av = (ElfW(auxv_t) *) evp;
++
++ for (; av->a_type != AT_NULL; ++av)
++ switch (av->a_type)
++ {
++ case AT_PHDR:
++ phdr = (const void *) av->a_un.a_val;
++ break;
++ case AT_PHNUM:
++ phnum = av->a_un.a_val;
++ break;
++ }
++
++ for (i = 0; i < phnum; i++, phdr++)
++ if (phdr->p_type == PT_LOAD)
++ loadnum++;
++
++ syscall (SYS_write, fd, STRING_COMMA_LEN ("PASS\n"));
++
++ syscall (SYS_exit, !loadnum);
++ return 0;
++}
+diff --git a/ld/testsuite/ld-elf/sec64k.exp b/ld/testsuite/ld-elf/sec64k.exp
+index b58139e..3909c0e 100644
+--- a/ld/testsuite/ld-elf/sec64k.exp
++++ b/ld/testsuite/ld-elf/sec64k.exp
+@@ -177,6 +177,8 @@ if { ![istarget "d10v-*-*"]
+ foreach sfile $sfiles { puts $ofd "#source: $sfile" }
+ if { [istarget spu*-*-*] } {
+ puts $ofd "#ld: --local-store 0:0"
++ } elseif { [istarget "i?86-*-linux*"] || [istarget "x86_64-*-linux*"] } {
++ puts $ofd "#ld: -z noseparate-code"
+ } else {
+ puts $ofd "#ld:"
+ }
+diff --git a/ld/testsuite/ld-i386/abs-iamcu.d b/ld/testsuite/ld-i386/abs-iamcu.d
+index ac9beff..aba7d6b 100644
+--- a/ld/testsuite/ld-i386/abs-iamcu.d
++++ b/ld/testsuite/ld-i386/abs-iamcu.d
+@@ -2,7 +2,7 @@
+ #source: abs.s
+ #source: zero.s
+ #as: --32 -march=iamcu
+-#ld: -m elf_iamcu
++#ld: -m elf_iamcu -z noseparate-code
+ #objdump: -rs -j .text
+
+ .*: file format .*
+diff --git a/ld/testsuite/ld-i386/abs.d b/ld/testsuite/ld-i386/abs.d
+index e660aca..191ee44 100644
+--- a/ld/testsuite/ld-i386/abs.d
++++ b/ld/testsuite/ld-i386/abs.d
+@@ -2,7 +2,7 @@
+ #as: --32
+ #source: abs.s
+ #source: zero.s
+-#ld: -melf_i386
++#ld: -melf_i386 -z noseparate-code
+ #objdump: -rs
+
+ .*: file format .*
+diff --git a/ld/testsuite/ld-i386/pr12718.d b/ld/testsuite/ld-i386/pr12718.d
+index ec51540..7eba52d 100644
+--- a/ld/testsuite/ld-i386/pr12718.d
++++ b/ld/testsuite/ld-i386/pr12718.d
+@@ -1,6 +1,6 @@
+ #name: PR ld/12718
+ #as: --32
+-#ld: -melf_i386
++#ld: -melf_i386 -z noseparate-code
+ #readelf: -S
+
+ There are 5 section headers, starting at offset 0x[0-9a-f]+:
+diff --git a/ld/testsuite/ld-i386/pr12921.d b/ld/testsuite/ld-i386/pr12921.d
+index e49079b..ea2da3e 100644
+--- a/ld/testsuite/ld-i386/pr12921.d
++++ b/ld/testsuite/ld-i386/pr12921.d
+@@ -1,6 +1,6 @@
+ #name: PR ld/12921
+ #as: --32
+-#ld: -melf_i386
++#ld: -melf_i386 -z noseparate-code
+ #readelf: -S --wide
+
+ There are 7 section headers, starting at offset 0x[0-9a-f]+:
+diff --git a/ld/testsuite/ld-linkonce/zeroeh.ld b/ld/testsuite/ld-linkonce/zeroeh.ld
+index b22eaa1..f89855a 100644
+--- a/ld/testsuite/ld-linkonce/zeroeh.ld
++++ b/ld/testsuite/ld-linkonce/zeroeh.ld
+@@ -2,4 +2,5 @@ SECTIONS {
+ .text 0xa00 : { *(.text); *(.gnu.linkonce.t.*) }
+ .gcc_except_table 0x2000 : { *(.gcc_except_table) }
+ .eh_frame 0x4000 : { *(.eh_frame) }
++ /DISCARD/ : { *(.note.gnu.property) }
+ }
+diff --git a/ld/testsuite/ld-scripts/print-memory-usage.t b/ld/testsuite/ld-scripts/print-memory-usage.t
+index 5ff057a..6eda1d2 100644
+--- a/ld/testsuite/ld-scripts/print-memory-usage.t
++++ b/ld/testsuite/ld-scripts/print-memory-usage.t
+@@ -11,4 +11,6 @@ SECTIONS
+ *(.data)
+ *(.rw)
+ }
++
++ /DISCARD/ : { *(.note.gnu.property) }
+ }
+diff --git a/ld/testsuite/ld-scripts/size-2.t b/ld/testsuite/ld-scripts/size-2.t
+index 7238639..c3c4edd 100644
+--- a/ld/testsuite/ld-scripts/size-2.t
++++ b/ld/testsuite/ld-scripts/size-2.t
+@@ -18,4 +18,5 @@ SECTIONS
+ LONG (SIZEOF (.tdata))
+ LONG (SIZEOF (.tbss))
+ } :image
++ /DISCARD/ : { *(.note.gnu.property) }
+ }
+diff --git a/ld/testsuite/ld-x86-64/abs-k1om.d b/ld/testsuite/ld-x86-64/abs-k1om.d
+index 2c26639..6b0fde0 100644
+--- a/ld/testsuite/ld-x86-64/abs-k1om.d
++++ b/ld/testsuite/ld-x86-64/abs-k1om.d
+@@ -2,7 +2,7 @@
+ #source: ../ld-i386/abs.s
+ #source: ../ld-i386/zero.s
+ #as: --64 -march=k1om
+-#ld: -m elf_k1om
++#ld: -m elf_k1om -z noseparate-code
+ #objdump: -rs -j .text
+
+ .*: file format .*
+diff --git a/ld/testsuite/ld-x86-64/abs-l1om.d b/ld/testsuite/ld-x86-64/abs-l1om.d
+index 1fb96d4..f87869f 100644
+--- a/ld/testsuite/ld-x86-64/abs-l1om.d
++++ b/ld/testsuite/ld-x86-64/abs-l1om.d
+@@ -2,7 +2,7 @@
+ #source: ../ld-i386/abs.s
+ #source: ../ld-i386/zero.s
+ #as: --64 -march=l1om
+-#ld: -m elf_l1om
++#ld: -m elf_l1om -z noseparate-code
+ #objdump: -rs -j .text
+ #target: x86_64-*-linux*
+
+diff --git a/ld/testsuite/ld-x86-64/abs.d b/ld/testsuite/ld-x86-64/abs.d
+index b24b018..d99ab46 100644
+--- a/ld/testsuite/ld-x86-64/abs.d
++++ b/ld/testsuite/ld-x86-64/abs.d
+@@ -1,7 +1,7 @@
+ #name: Absolute non-overflowing relocs
+ #source: ../ld-i386/abs.s
+ #source: ../ld-i386/zero.s
+-#ld:
++#ld: -z noseparate-code
+ #objdump: -rs
+
+ .*: file format .*
+diff --git a/ld/testsuite/ld-x86-64/pr12718.d b/ld/testsuite/ld-x86-64/pr12718.d
+index 07d1732..2c503ff 100644
+--- a/ld/testsuite/ld-x86-64/pr12718.d
++++ b/ld/testsuite/ld-x86-64/pr12718.d
+@@ -1,6 +1,6 @@
+ #name: PR ld/12718
+ #as: --64
+-#ld: -melf_x86_64
++#ld: -melf_x86_64 -z noseparate-code
+ #readelf: -S --wide
+
+ There are 5 section headers, starting at offset 0x[0-9a-f]+:
+diff --git a/ld/testsuite/ld-x86-64/pr12921.d b/ld/testsuite/ld-x86-64/pr12921.d
+index 6fe6abe..1162d55 100644
+--- a/ld/testsuite/ld-x86-64/pr12921.d
++++ b/ld/testsuite/ld-x86-64/pr12921.d
+@@ -1,6 +1,6 @@
+ #name: PR ld/12921
+ #as: --64
+-#ld: -melf_x86_64
++#ld: -melf_x86_64 -z noseparate-code
+ #readelf: -S --wide
+
+ There are 7 section headers, starting at offset 0x[0-9a-f]+:
+diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp
+index cfbefe9..1095091 100644
+--- a/ld/testsuite/lib/ld-lib.exp
++++ b/ld/testsuite/lib/ld-lib.exp
+@@ -1482,7 +1482,10 @@ proc run_ld_link_exec_tests { ldtests args } {
+ continue
+ }
+
+- if { [ string match "c++" $lang ] } {
++ if { [ string match "asm" $lang ] } {
++ set link_proc ld_link
++ set link_cmd $ld
++ } elseif { [ string match "c++" $lang ] } {
+ set link_proc ld_link
+ set link_cmd $CXX
+ } else {
+--
+2.9.3
+
diff --git a/package/binutils/2.31.1/0013-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch b/package/binutils/2.31.1/0013-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch
new file mode 100644
index 0000000000..a4c48985d9
--- /dev/null
+++ b/package/binutils/2.31.1/0013-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch
@@ -0,0 +1,588 @@
+From d55c3e36094f06bb1fb02f5eac19fdccf1d91f7e Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Wed, 8 Aug 2018 06:09:15 -0700
+Subject: [PATCH] x86: Properly merge GNU_PROPERTY_X86_ISA_1_USED
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf8
+Content-Transfer-Encoding: 8bit
+
+Without the GNU_PROPERTY_X86_ISA_1_USED property, all ISAs may be used.
+If a bit in the GNU_PROPERTY_X86_ISA_1_USED property is unset, the
+corresponding x86 instruction set isn’t used. When merging properties
+from 2 input files and one input file doesn't have the
+GNU_PROPERTY_X86_ISA_1_USED property, the output file shouldn't have
+it neither. This patch removes the GNU_PROPERTY_X86_ISA_1_USED
+property if an input file doesn't have it.
+
+This patch replaces the GNU_PROPERTY_X86_ISA_1_USED property with the
+GNU_PROPERTY_X86_ISA_1_NEEDED property which is the minimum ISA
+requirement.
+
+bfd/
+
+ PR ld/23486
+ * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove
+ GNU_PROPERTY_X86_ISA_1_USED if an input file doesn't have it.
+ (_bfd_x86_elf_link_setup_gnu_properties): Adding the
+ GNU_PROPERTY_X86_ISA_1_NEEDED, instead of
+ GNU_PROPERTY_X86_ISA_1_USED, property.
+
+ld/
+
+ PR ld/23486
+ * testsuite/ld-i386/i386.exp: Run PR ld/23486 tests.
+ * testsuite/ld-x86-64/x86-64.exp: Likewise.
+ * testsuite/ld-i386/pr23486a.d: New file.
+ * testsuite/ld-i386/pr23486b.d: Likewise.
+ * testsuite/ld-x86-64/pr23486a-x32.d: Likewise.
+ * testsuite/ld-x86-64/pr23486a.d: Likewise.
+ * testsuite/ld-x86-64/pr23486a.s: Likewise.
+ * testsuite/ld-x86-64/pr23486b-x32.d: Likewise.
+ * testsuite/ld-x86-64/pr23486b.d: Likewise.
+ * testsuite/ld-x86-64/pr23486b.s: Likewise.
+ * testsuite/ld-i386/property-3.r: Remove "x86 ISA used".
+ * testsuite/ld-i386/property-4.r: Likewise.
+ * testsuite/ld-i386/property-5.r: Likewise.
+ * testsuite/ld-i386/property-x86-ibt3a.d: Likewise.
+ * testsuite/ld-i386/property-x86-ibt3b.d: Likewise.
+ * testsuite/ld-i386/property-x86-shstk3a.d: Likewise.
+ * testsuite/ld-i386/property-x86-shstk3b.d: Likewise.
+ * testsuite/ld-x86-64/property-3.r: Likewise.
+ * testsuite/ld-x86-64/property-4.r: Likewise.
+ * testsuite/ld-x86-64/property-5.r: Likewise.
+ * testsuite/ld-x86-64/property-x86-ibt3a-x32.d: Likewise.
+ * testsuite/ld-x86-64/property-x86-ibt3a.d: Likewise.
+ * testsuite/ld-x86-64/property-x86-ibt3b-x32.d: Likewise.
+ * testsuite/ld-x86-64/property-x86-ibt3b.d: Likewise.
+ * testsuite/ld-x86-64/property-x86-shstk3a-x32.d: Likewise.
+ * testsuite/ld-x86-64/property-x86-shstk3a.d: Likewise.
+ * testsuite/ld-x86-64/property-x86-shstk3b-x32.d: Likewise.
+ * testsuite/ld-x86-64/property-x86-shstk3b.d: Likewise.
+
+(cherry picked from commit f7309df20c4e787041cedc4a6aced89c15259e54)
+Signed-off-by: Norbert Lange <nolange79@gmail.com>
+---
+ bfd/ChangeLog | 9 +++++++
+ bfd/elfxx-x86.c | 25 ++++++++++++++----
+ ld/ChangeLog | 32 +++++++++++++++++++++++
+ ld/testsuite/ld-i386/i386.exp | 2 ++
+ ld/testsuite/ld-i386/pr23486a.d | 10 +++++++
+ ld/testsuite/ld-i386/pr23486b.d | 10 +++++++
+ ld/testsuite/ld-i386/property-3.r | 1 -
+ ld/testsuite/ld-i386/property-4.r | 1 -
+ ld/testsuite/ld-i386/property-5.r | 1 -
+ ld/testsuite/ld-i386/property-x86-ibt3a.d | 5 ++--
+ ld/testsuite/ld-i386/property-x86-ibt3b.d | 5 ++--
+ ld/testsuite/ld-i386/property-x86-shstk3a.d | 5 ++--
+ ld/testsuite/ld-i386/property-x86-shstk3b.d | 5 ++--
+ ld/testsuite/ld-x86-64/pr23486a-x32.d | 10 +++++++
+ ld/testsuite/ld-x86-64/pr23486a.d | 10 +++++++
+ ld/testsuite/ld-x86-64/pr23486a.s | 30 +++++++++++++++++++++
+ ld/testsuite/ld-x86-64/pr23486b-x32.d | 10 +++++++
+ ld/testsuite/ld-x86-64/pr23486b.d | 10 +++++++
+ ld/testsuite/ld-x86-64/pr23486b.s | 30 +++++++++++++++++++++
+ ld/testsuite/ld-x86-64/property-3.r | 1 -
+ ld/testsuite/ld-x86-64/property-4.r | 1 -
+ ld/testsuite/ld-x86-64/property-5.r | 1 -
+ ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d | 5 ++--
+ ld/testsuite/ld-x86-64/property-x86-ibt3a.d | 5 ++--
+ ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d | 5 ++--
+ ld/testsuite/ld-x86-64/property-x86-ibt3b.d | 5 ++--
+ ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d | 5 ++--
+ ld/testsuite/ld-x86-64/property-x86-shstk3a.d | 5 ++--
+ ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d | 5 ++--
+ ld/testsuite/ld-x86-64/property-x86-shstk3b.d | 5 ++--
+ ld/testsuite/ld-x86-64/x86-64.exp | 4 +++
+ 31 files changed, 211 insertions(+), 47 deletions(-)
+ create mode 100644 ld/testsuite/ld-i386/pr23486a.d
+ create mode 100644 ld/testsuite/ld-i386/pr23486b.d
+ create mode 100644 ld/testsuite/ld-x86-64/pr23486a-x32.d
+ create mode 100644 ld/testsuite/ld-x86-64/pr23486a.d
+ create mode 100644 ld/testsuite/ld-x86-64/pr23486a.s
+ create mode 100644 ld/testsuite/ld-x86-64/pr23486b-x32.d
+ create mode 100644 ld/testsuite/ld-x86-64/pr23486b.d
+ create mode 100644 ld/testsuite/ld-x86-64/pr23486b.s
+
+diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c
+index 2e4ff88..7ccfd25 100644
+--- a/bfd/elfxx-x86.c
++++ b/bfd/elfxx-x86.c
+@@ -2407,12 +2407,27 @@ _bfd_x86_elf_merge_gnu_properties (struct bfd_link_info *info,
+ switch (pr_type)
+ {
+ case GNU_PROPERTY_X86_ISA_1_USED:
++ if (aprop == NULL || bprop == NULL)
++ {
++ /* Only one of APROP and BPROP can be NULL. */
++ if (aprop != NULL)
++ {
++ /* Remove this property since the other input file doesn't
++ have it. */
++ aprop->pr_kind = property_remove;
++ updated = TRUE;
++ }
++ break;
++ }
++ goto or_property;
++
+ case GNU_PROPERTY_X86_ISA_1_NEEDED:
+ if (aprop != NULL && bprop != NULL)
+ {
++or_property:
+ number = aprop->u.number;
+ aprop->u.number = number | bprop->u.number;
+- /* Remove the property if ISA bits are empty. */
++ /* Remove the property if all bits are empty. */
+ if (aprop->u.number == 0)
+ {
+ aprop->pr_kind = property_remove;
+@@ -2428,14 +2443,14 @@ _bfd_x86_elf_merge_gnu_properties (struct bfd_link_info *info,
+ {
+ if (aprop->u.number == 0)
+ {
+- /* Remove APROP if ISA bits are empty. */
++ /* Remove APROP if all bits are empty. */
+ aprop->pr_kind = property_remove;
+ updated = TRUE;
+ }
+ }
+ else
+ {
+- /* Return TRUE if APROP is NULL and ISA bits of BPROP
++ /* Return TRUE if APROP is NULL and all bits of BPROP
+ aren't empty to indicate that BPROP should be added
+ to ABFD. */
+ updated = bprop->u.number != 0;
+@@ -2582,9 +2597,9 @@ _bfd_x86_elf_link_setup_gnu_properties
+ {
+ /* If the separate code program header is needed, make sure
+ that the first read-only PT_LOAD segment has no code by
+- adding a GNU_PROPERTY_X86_ISA_1_USED note. */
++ adding a GNU_PROPERTY_X86_ISA_1_NEEDED note. */
+ prop = _bfd_elf_get_property (ebfd,
+- GNU_PROPERTY_X86_ISA_1_USED,
++ GNU_PROPERTY_X86_ISA_1_NEEDED,
+ 4);
+ prop->u.number = GNU_PROPERTY_X86_ISA_1_486;
+ prop->pr_kind = property_number;
+diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp
+index 6d794fe..78dad02 100644
+--- a/ld/testsuite/ld-i386/i386.exp
++++ b/ld/testsuite/ld-i386/i386.exp
+@@ -462,6 +462,8 @@ run_dump_test "pr23189"
+ run_dump_test "pr23194"
+ run_dump_test "pr23372a"
+ run_dump_test "pr23372b"
++run_dump_test "pr23486a"
++run_dump_test "pr23486b"
+
+ if { !([istarget "i?86-*-linux*"]
+ || [istarget "i?86-*-gnu*"]
+diff --git a/ld/testsuite/ld-i386/pr23486a.d b/ld/testsuite/ld-i386/pr23486a.d
+new file mode 100644
+index 0000000..41a6dcf
+--- /dev/null
++++ b/ld/testsuite/ld-i386/pr23486a.d
+@@ -0,0 +1,10 @@
++#source: ../ld-x86-64/pr23486a.s
++#source: ../ld-x86-64/pr23486b.s
++#as: --32
++#ld: -r -m elf_i386
++#readelf: -n
++
++Displaying notes found in: .note.gnu.property
++ Owner Data size Description
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586
+diff --git a/ld/testsuite/ld-i386/pr23486b.d b/ld/testsuite/ld-i386/pr23486b.d
+new file mode 100644
+index 0000000..08019b7
+--- /dev/null
++++ b/ld/testsuite/ld-i386/pr23486b.d
+@@ -0,0 +1,10 @@
++#source: ../ld-x86-64/pr23486b.s
++#source: ../ld-x86-64/pr23486a.s
++#as: --32
++#ld: -r -m elf_i386
++#readelf: -n
++
++Displaying notes found in: .note.gnu.property
++ Owner Data size Description
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586
+diff --git a/ld/testsuite/ld-i386/property-3.r b/ld/testsuite/ld-i386/property-3.r
+index 0ed91f5..d03203c 100644
+--- a/ld/testsuite/ld-i386/property-3.r
++++ b/ld/testsuite/ld-i386/property-3.r
+@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+ GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
+ Properties: stack size: 0x800000
+- x86 ISA used: 586, SSE
+ x86 ISA needed: i486, 586
+ #pass
+diff --git a/ld/testsuite/ld-i386/property-4.r b/ld/testsuite/ld-i386/property-4.r
+index cb2bc15..da295eb 100644
+--- a/ld/testsuite/ld-i386/property-4.r
++++ b/ld/testsuite/ld-i386/property-4.r
+@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+ GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
+ Properties: stack size: 0x800000
+- x86 ISA used: i486, 586, SSE
+ x86 ISA needed: i486, 586, SSE
+ #pass
+diff --git a/ld/testsuite/ld-i386/property-5.r b/ld/testsuite/ld-i386/property-5.r
+index 5529650..e414159 100644
+--- a/ld/testsuite/ld-i386/property-5.r
++++ b/ld/testsuite/ld-i386/property-5.r
+@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+ GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
+ Properties: stack size: 0x900000
+- x86 ISA used: i486, 586, SSE
+ x86 ISA needed: i486, 586, SSE
+ #pass
+diff --git a/ld/testsuite/ld-i386/property-x86-ibt3a.d b/ld/testsuite/ld-i386/property-x86-ibt3a.d
+index 4bb35b0..0aedea1 100644
+--- a/ld/testsuite/ld-i386/property-x86-ibt3a.d
++++ b/ld/testsuite/ld-i386/property-x86-ibt3a.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: i486, 586, SSE2, SSE3
+- x86 ISA needed: 586, SSE, SSE3, SSE4_1
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1
+diff --git a/ld/testsuite/ld-i386/property-x86-ibt3b.d b/ld/testsuite/ld-i386/property-x86-ibt3b.d
+index 418d58a..bd69ac6 100644
+--- a/ld/testsuite/ld-i386/property-x86-ibt3b.d
++++ b/ld/testsuite/ld-i386/property-x86-ibt3b.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: i486, 586, SSE2, SSE3
+- x86 ISA needed: 586, SSE, SSE3, SSE4_1
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1
+diff --git a/ld/testsuite/ld-i386/property-x86-shstk3a.d b/ld/testsuite/ld-i386/property-x86-shstk3a.d
+index e261038..76d2a39 100644
+--- a/ld/testsuite/ld-i386/property-x86-shstk3a.d
++++ b/ld/testsuite/ld-i386/property-x86-shstk3a.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: i486, 586, SSE2, SSE3
+- x86 ISA needed: 586, SSE, SSE3, SSE4_1
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1
+diff --git a/ld/testsuite/ld-i386/property-x86-shstk3b.d b/ld/testsuite/ld-i386/property-x86-shstk3b.d
+index 25f3d23..e770ecf 100644
+--- a/ld/testsuite/ld-i386/property-x86-shstk3b.d
++++ b/ld/testsuite/ld-i386/property-x86-shstk3b.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: i486, 586, SSE2, SSE3
+- x86 ISA needed: 586, SSE, SSE3, SSE4_1
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1
+diff --git a/ld/testsuite/ld-x86-64/pr23486a-x32.d b/ld/testsuite/ld-x86-64/pr23486a-x32.d
+new file mode 100644
+index 0000000..6d9fa68
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr23486a-x32.d
+@@ -0,0 +1,10 @@
++#source: pr23486a.s
++#source: pr23486b.s
++#as: --x32
++#ld: -r -m elf32_x86_64
++#readelf: -n
++
++Displaying notes found in: .note.gnu.property
++ Owner Data size Description
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586
+diff --git a/ld/testsuite/ld-x86-64/pr23486a.d b/ld/testsuite/ld-x86-64/pr23486a.d
+new file mode 100644
+index 0000000..dc2b7bf
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr23486a.d
+@@ -0,0 +1,10 @@
++#source: pr23486a.s
++#source: pr23486b.s
++#as: --64 -defsym __64_bit__=1
++#ld: -r -m elf_x86_64
++#readelf: -n
++
++Displaying notes found in: .note.gnu.property
++ Owner Data size Description
++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586
+diff --git a/ld/testsuite/ld-x86-64/pr23486a.s b/ld/testsuite/ld-x86-64/pr23486a.s
+new file mode 100644
+index 0000000..a07d0c7
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr23486a.s
+@@ -0,0 +1,30 @@
++ .section ".note.gnu.property", "a"
++.ifdef __64_bit__
++ .p2align 3
++.else
++ .p2align 2
++.endif
++ .long 1f - 0f /* name length. */
++ .long 4f - 1f /* data length. */
++ /* NT_GNU_PROPERTY_TYPE_0 */
++ .long 5 /* note type. */
++0:
++ .asciz "GNU" /* vendor name. */
++1:
++.ifdef __64_bit__
++ .p2align 3
++.else
++ .p2align 2
++.endif
++ /* GNU_PROPERTY_X86_ISA_1_USED */
++ .long 0xc0000000 /* pr_type. */
++ .long 3f - 2f /* pr_datasz. */
++2:
++ .long 0xa
++3:
++.ifdef __64_bit__
++ .p2align 3
++.else
++ .p2align 2
++.endif
++4:
+diff --git a/ld/testsuite/ld-x86-64/pr23486b-x32.d b/ld/testsuite/ld-x86-64/pr23486b-x32.d
+new file mode 100644
+index 0000000..0445e69
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr23486b-x32.d
+@@ -0,0 +1,10 @@
++#source: pr23486b.s
++#source: pr23486a.s
++#as: --x32
++#ld: -r -m elf32_x86_64
++#readelf: -n
++
++Displaying notes found in: .note.gnu.property
++ Owner Data size Description
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586
+diff --git a/ld/testsuite/ld-x86-64/pr23486b.d b/ld/testsuite/ld-x86-64/pr23486b.d
+new file mode 100644
+index 0000000..dc2b7bf
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr23486b.d
+@@ -0,0 +1,10 @@
++#source: pr23486a.s
++#source: pr23486b.s
++#as: --64 -defsym __64_bit__=1
++#ld: -r -m elf_x86_64
++#readelf: -n
++
++Displaying notes found in: .note.gnu.property
++ Owner Data size Description
++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586
+diff --git a/ld/testsuite/ld-x86-64/pr23486b.s b/ld/testsuite/ld-x86-64/pr23486b.s
+new file mode 100644
+index 0000000..c5167ee
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr23486b.s
+@@ -0,0 +1,30 @@
++ .section ".note.gnu.property", "a"
++.ifdef __64_bit__
++ .p2align 3
++.else
++ .p2align 2
++.endif
++ .long 1f - 0f /* name length. */
++ .long 4f - 1f /* data length. */
++ /* NT_GNU_PROPERTY_TYPE_0 */
++ .long 5 /* note type. */
++0:
++ .asciz "GNU" /* vendor name. */
++1:
++.ifdef __64_bit__
++ .p2align 3
++.else
++ .p2align 2
++.endif
++ /* GNU_PROPERTY_X86_ISA_1_NEEDED */
++ .long 0xc0000001 /* pr_type. */
++ .long 3f - 2f /* pr_datasz. */
++2:
++ .long 0x3
++3:
++.ifdef __64_bit__
++ .p2align 3
++.else
++ .p2align 2
++.endif
++4:
+diff --git a/ld/testsuite/ld-x86-64/property-3.r b/ld/testsuite/ld-x86-64/property-3.r
+index 0ed91f5..d03203c 100644
+--- a/ld/testsuite/ld-x86-64/property-3.r
++++ b/ld/testsuite/ld-x86-64/property-3.r
+@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+ GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
+ Properties: stack size: 0x800000
+- x86 ISA used: 586, SSE
+ x86 ISA needed: i486, 586
+ #pass
+diff --git a/ld/testsuite/ld-x86-64/property-4.r b/ld/testsuite/ld-x86-64/property-4.r
+index cb2bc15..da295eb 100644
+--- a/ld/testsuite/ld-x86-64/property-4.r
++++ b/ld/testsuite/ld-x86-64/property-4.r
+@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+ GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
+ Properties: stack size: 0x800000
+- x86 ISA used: i486, 586, SSE
+ x86 ISA needed: i486, 586, SSE
+ #pass
+diff --git a/ld/testsuite/ld-x86-64/property-5.r b/ld/testsuite/ld-x86-64/property-5.r
+index 5529650..e414159 100644
+--- a/ld/testsuite/ld-x86-64/property-5.r
++++ b/ld/testsuite/ld-x86-64/property-5.r
+@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+ GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
+ Properties: stack size: 0x900000
+- x86 ISA used: i486, 586, SSE
+ x86 ISA needed: i486, 586, SSE
+ #pass
+diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d
+index 011426f..4cec728 100644
+--- a/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d
++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1
+- x86 ISA needed: i486, 586, SSE2, SSE3
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3
+diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3a.d b/ld/testsuite/ld-x86-64/property-x86-ibt3a.d
+index 1b4229a..a8df49a 100644
+--- a/ld/testsuite/ld-x86-64/property-x86-ibt3a.d
++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3a.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1
+- x86 ISA needed: i486, 586, SSE2, SSE3
++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3
+diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d
+index 290ed6a..c112626 100644
+--- a/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d
++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1
+- x86 ISA needed: i486, 586, SSE2, SSE3
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3
+diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3b.d b/ld/testsuite/ld-x86-64/property-x86-ibt3b.d
+index 1142e03..f10dffd 100644
+--- a/ld/testsuite/ld-x86-64/property-x86-ibt3b.d
++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3b.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1
+- x86 ISA needed: i486, 586, SSE2, SSE3
++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3
+diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d
+index 819542d..0147a3c 100644
+--- a/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d
++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1
+- x86 ISA needed: i486, 586, SSE2, SSE3
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3
+diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3a.d b/ld/testsuite/ld-x86-64/property-x86-shstk3a.d
+index 4c5d0e0..1f8c2dc 100644
+--- a/ld/testsuite/ld-x86-64/property-x86-shstk3a.d
++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3a.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1
+- x86 ISA needed: i486, 586, SSE2, SSE3
++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3
+diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d
+index ba181e0..7ca2539 100644
+--- a/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d
++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1
+- x86 ISA needed: i486, 586, SSE2, SSE3
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3
+diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3b.d b/ld/testsuite/ld-x86-64/property-x86-shstk3b.d
+index 5216f38..f66a40e 100644
+--- a/ld/testsuite/ld-x86-64/property-x86-shstk3b.d
++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3b.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1
+- x86 ISA needed: i486, 586, SSE2, SSE3
++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3
+diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp
+index 6edb9e8..ae21e55 100644
+--- a/ld/testsuite/ld-x86-64/x86-64.exp
++++ b/ld/testsuite/ld-x86-64/x86-64.exp
+@@ -403,6 +403,10 @@ run_dump_test "pr23372a"
+ run_dump_test "pr23372a-x32"
+ run_dump_test "pr23372b"
+ run_dump_test "pr23372b-x32"
++run_dump_test "pr23486a"
++run_dump_test "pr23486a-x32"
++run_dump_test "pr23486b"
++run_dump_test "pr23486b-x32"
+
+ if { ![istarget "x86_64-*-linux*"] && ![istarget "x86_64-*-nacl*"]} {
+ return
+--
+2.9.3
+
diff --git a/package/binutils/2.31.1/0014-x86-Properly-add-X86_ISA_1_NEEDED-property.patch b/package/binutils/2.31.1/0014-x86-Properly-add-X86_ISA_1_NEEDED-property.patch
new file mode 100644
index 0000000000..356914c999
--- /dev/null
+++ b/package/binutils/2.31.1/0014-x86-Properly-add-X86_ISA_1_NEEDED-property.patch
@@ -0,0 +1,140 @@
+From 28a27bdbb9500797e6767f80c8128b09112aeed5 Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Sat, 11 Aug 2018 06:41:33 -0700
+Subject: [PATCH] x86: Properly add X86_ISA_1_NEEDED property
+
+Existing properties may be removed during property merging. We avoid
+adding X86_ISA_1_NEEDED property only if existing properties won't be
+removed.
+
+bfd/
+
+ PR ld/23428
+ * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Don't
+ add X86_ISA_1_NEEDED property only if existing properties won't
+ be removed.
+
+ld/
+
+ PR ld/23428
+ * testsuite/ld-elf/dummy.s: New file.
+ * testsuite/ld-elf/linux-x86.S: Add X86_FEATURE_1_AND property.
+ * testsuite/ld-elf/linux-x86.exp: Add dummy.s to pr23428.
+
+(cherry picked from commit ab9e342807d132182892de1be1a92d6e91a5c1da)
+Signed-off-by: Norbert Lange <nolange79@gmail.com>
+---
+ bfd/ChangeLog | 7 +++++++
+ bfd/elfxx-x86.c | 28 ++++++++++++++++++++++------
+ ld/ChangeLog | 7 +++++++
+ ld/testsuite/ld-elf/dummy.s | 1 +
+ ld/testsuite/ld-elf/linux-x86.S | 28 ++++++++++++++++++++++++++++
+ ld/testsuite/ld-elf/linux-x86.exp | 2 +-
+ 6 files changed, 66 insertions(+), 7 deletions(-)
+ create mode 100644 ld/testsuite/ld-elf/dummy.s
+
+diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c
+index 7ccfd25..2d8f7b6 100644
+--- a/bfd/elfxx-x86.c
++++ b/bfd/elfxx-x86.c
+@@ -2588,7 +2588,6 @@ _bfd_x86_elf_link_setup_gnu_properties
+ prop->pr_kind = property_number;
+ }
+ else if (has_text
+- && elf_properties (ebfd) == NULL
+ && elf_tdata (info->output_bfd)->o->build_id.sec == NULL
+ && !htab->elf.dynamic_sections_created
+ && !info->traditional_format
+@@ -2598,11 +2597,28 @@ _bfd_x86_elf_link_setup_gnu_properties
+ /* If the separate code program header is needed, make sure
+ that the first read-only PT_LOAD segment has no code by
+ adding a GNU_PROPERTY_X86_ISA_1_NEEDED note. */
+- prop = _bfd_elf_get_property (ebfd,
+- GNU_PROPERTY_X86_ISA_1_NEEDED,
+- 4);
+- prop->u.number = GNU_PROPERTY_X86_ISA_1_486;
+- prop->pr_kind = property_number;
++ elf_property_list *list;
++ bfd_boolean need_property = TRUE;
++
++ for (list = elf_properties (ebfd); list; list = list->next)
++ switch (list->property.pr_type)
++ {
++ case GNU_PROPERTY_STACK_SIZE:
++ case GNU_PROPERTY_NO_COPY_ON_PROTECTED:
++ case GNU_PROPERTY_X86_ISA_1_NEEDED:
++ /* These properties won't be removed during merging. */
++ need_property = FALSE;
++ break;
++ }
++
++ if (need_property)
++ {
++ prop = _bfd_elf_get_property (ebfd,
++ GNU_PROPERTY_X86_ISA_1_NEEDED,
++ 4);
++ prop->u.number = GNU_PROPERTY_X86_ISA_1_486;
++ prop->pr_kind = property_number;
++ }
+ }
+
+ /* Create the GNU property note section if needed. */
+diff --git a/ld/testsuite/ld-elf/dummy.s b/ld/testsuite/ld-elf/dummy.s
+new file mode 100644
+index 0000000..403f980
+--- /dev/null
++++ b/ld/testsuite/ld-elf/dummy.s
+@@ -0,0 +1 @@
++# Dummy
+diff --git a/ld/testsuite/ld-elf/linux-x86.S b/ld/testsuite/ld-elf/linux-x86.S
+index bdf40c6..d94abc1 100644
+--- a/ld/testsuite/ld-elf/linux-x86.S
++++ b/ld/testsuite/ld-elf/linux-x86.S
+@@ -61,3 +61,31 @@ syscall:
+ ret /* Return to caller. */
+ .size syscall, .-syscall
+ .section .note.GNU-stack,"",@progbits
++
++ .section ".note.gnu.property", "a"
++#ifdef __LP64__
++ .p2align 3
++#else
++ .p2align 2
++#endif
++ .long 1f - 0f /* name length */
++ .long 5f - 2f /* data length */
++ .long 5 /* note type */
++0: .asciz "GNU" /* vendor name */
++1:
++#ifdef __LP64__
++ .p2align 3
++#else
++ .p2align 2
++#endif
++2: .long 0xc0000002 /* pr_type. */
++ .long 4f - 3f /* pr_datasz. */
++3:
++ .long 0x2
++4:
++#ifdef __LP64__
++ .p2align 3
++#else
++ .p2align 2
++#endif
++5:
+diff --git a/ld/testsuite/ld-elf/linux-x86.exp b/ld/testsuite/ld-elf/linux-x86.exp
+index 36217c6..f6f5a80 100644
+--- a/ld/testsuite/ld-elf/linux-x86.exp
++++ b/ld/testsuite/ld-elf/linux-x86.exp
+@@ -37,7 +37,7 @@ run_ld_link_exec_tests [list \
+ "Run PR ld/23428 test" \
+ "--no-dynamic-linker -z separate-code" \
+ "" \
+- { linux-x86.S pr23428.c } \
++ { linux-x86.S pr23428.c dummy.s } \
+ "pr23428" \
+ "pass.out" \
+ "$NOPIE_CFLAGS -fno-asynchronous-unwind-tables" \
+--
+2.9.3
+
diff --git a/package/busybox/0004-udhcpc-check-that-4-byte-options-are-indeed-4-byte-closes-11506.patch b/package/busybox/0004-udhcpc-check-that-4-byte-options-are-indeed-4-byte-closes-11506.patch
new file mode 100644
index 0000000000..b40979e359
--- /dev/null
+++ b/package/busybox/0004-udhcpc-check-that-4-byte-options-are-indeed-4-byte-closes-11506.patch
@@ -0,0 +1,137 @@
+From 6d3b4bb24da9a07c263f3c1acf8df85382ff562c Mon Sep 17 00:00:00 2001
+From: Denys Vlasenko <vda.linux@googlemail.com>
+Date: Mon, 17 Dec 2018 18:07:18 +0100
+Subject: udhcpc: check that 4-byte options are indeed 4-byte, closes 11506
+
+function old new delta
+udhcp_get_option32 - 27 +27
+udhcp_get_option 231 248 +17
+------------------------------------------------------------------------------
+(add/remove: 1/0 grow/shrink: 1/0 up/down: 44/0) Total: 44 bytes
+
+Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
+Signed-off-by: Jared Bents <jared.bents@rockwellcollins.com>
+---
+ networking/udhcp/common.c | 19 +++++++++++++++++++
+ networking/udhcp/common.h | 4 ++++
+ networking/udhcp/dhcpc.c | 6 +++---
+ networking/udhcp/dhcpd.c | 6 +++---
+ 4 files changed, 29 insertions(+), 6 deletions(-)
+
+diff --git a/networking/udhcp/common.c b/networking/udhcp/common.c
+index e5fd74f91..41b05b855 100644
+--- a/networking/udhcp/common.c
++++ b/networking/udhcp/common.c
+@@ -272,6 +272,15 @@ uint8_t* FAST_FUNC udhcp_get_option(struct dhcp_packet *packet, int code)
+ goto complain; /* complain and return NULL */
+
+ if (optionptr[OPT_CODE] == code) {
++ if (optionptr[OPT_LEN] == 0) {
++ /* So far no valid option with length 0 known.
++ * Having this check means that searching
++ * for DHCP_MESSAGE_TYPE need not worry
++ * that returned pointer might be unsafe
++ * to dereference.
++ */
++ goto complain; /* complain and return NULL */
++ }
+ log_option("option found", optionptr);
+ return optionptr + OPT_DATA;
+ }
+@@ -289,6 +298,16 @@ uint8_t* FAST_FUNC udhcp_get_option(struct dhcp_packet *packet, int code)
+ return NULL;
+ }
+
++uint8_t* FAST_FUNC udhcp_get_option32(struct dhcp_packet *packet, int code)
++{
++ uint8_t *r = udhcp_get_option(packet, code);
++ if (r) {
++ if (r[-1] != 4)
++ r = NULL;
++ }
++ return r;
++}
++
+ /* Return the position of the 'end' option (no bounds checking) */
+ int FAST_FUNC udhcp_end_option(uint8_t *optionptr)
+ {
+diff --git a/networking/udhcp/common.h b/networking/udhcp/common.h
+index 7ad603d33..9511152ff 100644
+--- a/networking/udhcp/common.h
++++ b/networking/udhcp/common.h
+@@ -205,6 +205,10 @@ extern const uint8_t dhcp_option_lengths[] ALIGN1;
+ unsigned FAST_FUNC udhcp_option_idx(const char *name, const char *option_strings);
+
+ uint8_t *udhcp_get_option(struct dhcp_packet *packet, int code) FAST_FUNC;
++/* Same as above + ensures that option length is 4 bytes
++ * (returns NULL if size is different)
++ */
++uint8_t *udhcp_get_option32(struct dhcp_packet *packet, int code) FAST_FUNC;
+ int udhcp_end_option(uint8_t *optionptr) FAST_FUNC;
+ void udhcp_add_binary_option(struct dhcp_packet *packet, uint8_t *addopt) FAST_FUNC;
+ #if ENABLE_UDHCPC || ENABLE_UDHCPD
+diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c
+index 4b23e4d39..5b3fd531c 100644
+--- a/networking/udhcp/dhcpc.c
++++ b/networking/udhcp/dhcpc.c
+@@ -1691,7 +1691,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
+ * They say ISC DHCP client supports this case.
+ */
+ server_addr = 0;
+- temp = udhcp_get_option(&packet, DHCP_SERVER_ID);
++ temp = udhcp_get_option32(&packet, DHCP_SERVER_ID);
+ if (!temp) {
+ bb_error_msg("no server ID, using 0.0.0.0");
+ } else {
+@@ -1718,7 +1718,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
+ struct in_addr temp_addr;
+ uint8_t *temp;
+
+- temp = udhcp_get_option(&packet, DHCP_LEASE_TIME);
++ temp = udhcp_get_option32(&packet, DHCP_LEASE_TIME);
+ if (!temp) {
+ bb_error_msg("no lease time with ACK, using 1 hour lease");
+ lease_seconds = 60 * 60;
+@@ -1813,7 +1813,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
+ uint32_t svid;
+ uint8_t *temp;
+
+- temp = udhcp_get_option(&packet, DHCP_SERVER_ID);
++ temp = udhcp_get_option32(&packet, DHCP_SERVER_ID);
+ if (!temp) {
+ non_matching_svid:
+ log1("received DHCP NAK with wrong"
+diff --git a/networking/udhcp/dhcpd.c b/networking/udhcp/dhcpd.c
+index a8cd3f03b..477856d11 100644
+--- a/networking/udhcp/dhcpd.c
++++ b/networking/udhcp/dhcpd.c
+@@ -640,7 +640,7 @@ static void add_server_options(struct dhcp_packet *packet)
+ static uint32_t select_lease_time(struct dhcp_packet *packet)
+ {
+ uint32_t lease_time_sec = server_config.max_lease_sec;
+- uint8_t *lease_time_opt = udhcp_get_option(packet, DHCP_LEASE_TIME);
++ uint8_t *lease_time_opt = udhcp_get_option32(packet, DHCP_LEASE_TIME);
+ if (lease_time_opt) {
+ move_from_unaligned32(lease_time_sec, lease_time_opt);
+ lease_time_sec = ntohl(lease_time_sec);
+@@ -987,7 +987,7 @@ int udhcpd_main(int argc UNUSED_PARAM, char **argv)
+ }
+
+ /* Get SERVER_ID if present */
+- server_id_opt = udhcp_get_option(&packet, DHCP_SERVER_ID);
++ server_id_opt = udhcp_get_option32(&packet, DHCP_SERVER_ID);
+ if (server_id_opt) {
+ uint32_t server_id_network_order;
+ move_from_unaligned32(server_id_network_order, server_id_opt);
+@@ -1011,7 +1011,7 @@ int udhcpd_main(int argc UNUSED_PARAM, char **argv)
+ }
+
+ /* Get REQUESTED_IP if present */
+- requested_ip_opt = udhcp_get_option(&packet, DHCP_REQUESTED_IP);
++ requested_ip_opt = udhcp_get_option32(&packet, DHCP_REQUESTED_IP);
+ if (requested_ip_opt) {
+ move_from_unaligned32(requested_nip, requested_ip_opt);
+ }
+--
+cgit v1.2.1
+
diff --git a/package/busybox/0005-udhcpc-when-decoding-DHCP_SUBNET-ensure-it-is-4-bytes-long.patch b/package/busybox/0005-udhcpc-when-decoding-DHCP_SUBNET-ensure-it-is-4-bytes-long.patch
new file mode 100644
index 0000000000..05939db4ab
--- /dev/null
+++ b/package/busybox/0005-udhcpc-when-decoding-DHCP_SUBNET-ensure-it-is-4-bytes-long.patch
@@ -0,0 +1,58 @@
+From 74d9f1ba37010face4bd1449df4d60dd84450b06 Mon Sep 17 00:00:00 2001
+From: Denys Vlasenko <vda.linux@googlemail.com>
+Date: Mon, 7 Jan 2019 15:33:42 +0100
+Subject: udhcpc: when decoding DHCP_SUBNET, ensure it is 4 bytes long
+
+function old new delta
+udhcp_run_script 795 801 +6
+
+Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
+Signed-off-by: Jared Bents <jared.bents@rockwellcollins.com>
+---
+ networking/udhcp/common.c | 2 +-
+ networking/udhcp/common.h | 2 +-
+ networking/udhcp/dhcpc.c | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/networking/udhcp/common.c b/networking/udhcp/common.c
+index 4c2221b77..fc4de5716 100644
+--- a/networking/udhcp/common.c
++++ b/networking/udhcp/common.c
+@@ -302,7 +302,7 @@ uint8_t* FAST_FUNC udhcp_get_option32(struct dhcp_packet *packet, int code)
+ {
+ uint8_t *r = udhcp_get_option(packet, code);
+ if (r) {
+- if (r[-1] != 4)
++ if (r[-OPT_DATA + OPT_LEN] != 4)
+ r = NULL;
+ }
+ return r;
+diff --git a/networking/udhcp/common.h b/networking/udhcp/common.h
+index 9511152ff..62f9a2a4a 100644
+--- a/networking/udhcp/common.h
++++ b/networking/udhcp/common.h
+@@ -119,7 +119,7 @@ enum {
+ //#define DHCP_TIME_SERVER 0x04 /* RFC 868 time server (32-bit, 0 = 1.1.1900) */
+ //#define DHCP_NAME_SERVER 0x05 /* IEN 116 _really_ ancient kind of NS */
+ //#define DHCP_DNS_SERVER 0x06
+-//#define DHCP_LOG_SERVER 0x07 /* port 704 UDP log (not syslog)
++//#define DHCP_LOG_SERVER 0x07 /* port 704 UDP log (not syslog) */
+ //#define DHCP_COOKIE_SERVER 0x08 /* "quote of the day" server */
+ //#define DHCP_LPR_SERVER 0x09
+ #define DHCP_HOST_NAME 0x0c /* 12: either client informs server or server gives name to client */
+diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c
+index 5b3fd531c..dcec8cdfd 100644
+--- a/networking/udhcp/dhcpc.c
++++ b/networking/udhcp/dhcpc.c
+@@ -531,7 +531,7 @@ static char **fill_envp(struct dhcp_packet *packet)
+ temp = udhcp_get_option(packet, code);
+ *curr = xmalloc_optname_optval(temp, &dhcp_optflags[i], opt_name);
+ putenv(*curr++);
+- if (code == DHCP_SUBNET) {
++ if (code == DHCP_SUBNET && temp[-OPT_DATA + OPT_LEN] == 4) {
+ /* Subnet option: make things like "$ip/$mask" possible */
+ uint32_t subnet;
+ move_from_unaligned32(subnet, temp);
+--
+cgit v1.2.1
+
diff --git a/package/busybox/busybox.config b/package/busybox/busybox.config
index 38de13d4d9..1d9560d655 100644
--- a/package/busybox/busybox.config
+++ b/package/busybox/busybox.config
@@ -321,7 +321,7 @@ CONFIG_UNIQ=y
CONFIG_UNLINK=y
CONFIG_USLEEP=y
CONFIG_UUDECODE=y
-# CONFIG_BASE64 is not set
+CONFIG_BASE64=y
CONFIG_UUENCODE=y
CONFIG_WC=y
# CONFIG_FEATURE_WC_LARGE is not set
diff --git a/package/clamav/clamav.hash b/package/clamav/clamav.hash
index 9ac68e7607..4b61cd9654 100644
--- a/package/clamav/clamav.hash
+++ b/package/clamav/clamav.hash
@@ -1,5 +1,5 @@
# Locally calculated
-sha256 fa368fa9b2f57638696150c7d108b06dec284e8d8e3b8e702c784947c01fb806 clamav-0.101.1.tar.gz
+sha256 0a12ebdf6ff7a74c0bde2bdc2b55cae33449e6dd953ec90824a9e01291277634 clamav-0.101.2.tar.gz
sha256 0c4fd2fa9733fc9122503797648710851e4ee6d9e4969dd33fcbd8c63cd2f584 COPYING
sha256 d72a145c90918184a05ef65a04c9e6f7466faa59bc1b82c8f6a8ddc7ddcb9bed COPYING.bzip2
sha256 dfb818a0d41411c6fb1c193c68b73018ceadd1994bda41ad541cbff292894bc6 COPYING.file
diff --git a/package/clamav/clamav.mk b/package/clamav/clamav.mk
index 8900b4819a..5bb0aa09d9 100644
--- a/package/clamav/clamav.mk
+++ b/package/clamav/clamav.mk
@@ -4,7 +4,7 @@
#
################################################################################
-CLAMAV_VERSION = 0.101.1
+CLAMAV_VERSION = 0.101.2
CLAMAV_SITE = https://www.clamav.net/downloads/production
CLAMAV_LICENSE = GPL-2.0
CLAMAV_LICENSE_FILES = COPYING COPYING.bzip2 COPYING.file COPYING.getopt \
diff --git a/package/cups/0005-Fix-builds-without-PAM-Issue-5283.patch b/package/cups/0005-Fix-builds-without-PAM-Issue-5283.patch
deleted file mode 100644
index ff242f8276..0000000000
--- a/package/cups/0005-Fix-builds-without-PAM-Issue-5283.patch
+++ /dev/null
@@ -1,189 +0,0 @@
-From 570933a6a3597371bae1beeb754ee8711d6305ab Mon Sep 17 00:00:00 2001
-From: Michael R Sweet <michael.r.sweet@gmail.com>
-Date: Mon, 2 Apr 2018 20:05:13 -0400
-Subject: [PATCH] Fix builds without PAM (Issue #5283)
-
-[baruch: drop CHANGES.md hunk]
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
----
-Upstream status: commit 570933a6a3
-
- CHANGES.md | 8 ++-
- scheduler/auth.c | 134 ++---------------------------------------------
- 2 files changed, 11 insertions(+), 131 deletions(-)
-
-diff --git a/scheduler/auth.c b/scheduler/auth.c
-index 8b134b5d7257..fa4e2715de34 100644
---- a/scheduler/auth.c
-+++ b/scheduler/auth.c
-@@ -1,8 +1,8 @@
- /*
- * Authorization routines for the CUPS scheduler.
- *
-- * Copyright 2007-2016 by Apple Inc.
-- * Copyright 1997-2007 by Easy Software Products, all rights reserved.
-+ * Copyright © 2007-2018 by Apple Inc.
-+ * Copyright © 1997-2007 by Easy Software Products, all rights reserved.
- *
- * This file contains Kerberos support code, copyright 2006 by
- * Jelmer Vernooij.
-@@ -71,9 +71,6 @@ static int check_authref(cupsd_client_t *con, const char *right);
- static int compare_locations(cupsd_location_t *a,
- cupsd_location_t *b);
- static cupsd_authmask_t *copy_authmask(cupsd_authmask_t *am, void *data);
--#if !HAVE_LIBPAM
--static char *cups_crypt(const char *pw, const char *salt);
--#endif /* !HAVE_LIBPAM */
- static void free_authmask(cupsd_authmask_t *am, void *data);
- #if HAVE_LIBPAM
- static int pam_func(int, const struct pam_message **,
-@@ -694,14 +691,14 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
- * client...
- */
-
-- pass = cups_crypt(password, pw->pw_passwd);
-+ pass = crypt(password, pw->pw_passwd);
-
- if (!pass || strcmp(pw->pw_passwd, pass))
- {
- # ifdef HAVE_SHADOW_H
- if (spw)
- {
-- pass = cups_crypt(password, spw->sp_pwdp);
-+ pass = crypt(password, spw->sp_pwdp);
-
- if (pass == NULL || strcmp(spw->sp_pwdp, pass))
- {
-@@ -1995,129 +1992,6 @@ copy_authmask(cupsd_authmask_t *mask, /* I - Existing auth mask */
- }
-
-
--#if !HAVE_LIBPAM
--/*
-- * 'cups_crypt()' - Encrypt the password using the DES or MD5 algorithms,
-- * as needed.
-- */
--
--static char * /* O - Encrypted password */
--cups_crypt(const char *pw, /* I - Password string */
-- const char *salt) /* I - Salt (key) string */
--{
-- if (!strncmp(salt, "$1$", 3))
-- {
-- /*
-- * Use MD5 passwords without the benefit of PAM; this is for
-- * Slackware Linux, and the algorithm was taken from the
-- * old shadow-19990827/lib/md5crypt.c source code... :(
-- */
--
-- int i; /* Looping var */
-- unsigned long n; /* Output number */
-- int pwlen; /* Length of password string */
-- const char *salt_end; /* End of "salt" data for MD5 */
-- char *ptr; /* Pointer into result string */
-- _cups_md5_state_t state; /* Primary MD5 state info */
-- _cups_md5_state_t state2; /* Secondary MD5 state info */
-- unsigned char digest[16]; /* MD5 digest result */
-- static char result[120]; /* Final password string */
--
--
-- /*
-- * Get the salt data between dollar signs, e.g. $1$saltdata$md5.
-- * Get a maximum of 8 characters of salt data after $1$...
-- */
--
-- for (salt_end = salt + 3; *salt_end && (salt_end - salt) < 11; salt_end ++)
-- if (*salt_end == '$')
-- break;
--
-- /*
-- * Compute the MD5 sum we need...
-- */
--
-- pwlen = strlen(pw);
--
-- _cupsMD5Init(&state);
-- _cupsMD5Append(&state, (unsigned char *)pw, pwlen);
-- _cupsMD5Append(&state, (unsigned char *)salt, salt_end - salt);
--
-- _cupsMD5Init(&state2);
-- _cupsMD5Append(&state2, (unsigned char *)pw, pwlen);
-- _cupsMD5Append(&state2, (unsigned char *)salt + 3, salt_end - salt - 3);
-- _cupsMD5Append(&state2, (unsigned char *)pw, pwlen);
-- _cupsMD5Finish(&state2, digest);
--
-- for (i = pwlen; i > 0; i -= 16)
-- _cupsMD5Append(&state, digest, i > 16 ? 16 : i);
--
-- for (i = pwlen; i > 0; i >>= 1)
-- _cupsMD5Append(&state, (unsigned char *)((i & 1) ? "" : pw), 1);
--
-- _cupsMD5Finish(&state, digest);
--
-- for (i = 0; i < 1000; i ++)
-- {
-- _cupsMD5Init(&state);
--
-- if (i & 1)
-- _cupsMD5Append(&state, (unsigned char *)pw, pwlen);
-- else
-- _cupsMD5Append(&state, digest, 16);
--
-- if (i % 3)
-- _cupsMD5Append(&state, (unsigned char *)salt + 3, salt_end - salt - 3);
--
-- if (i % 7)
-- _cupsMD5Append(&state, (unsigned char *)pw, pwlen);
--
-- if (i & 1)
-- _cupsMD5Append(&state, digest, 16);
-- else
-- _cupsMD5Append(&state, (unsigned char *)pw, pwlen);
--
-- _cupsMD5Finish(&state, digest);
-- }
--
-- /*
-- * Copy the final sum to the result string and return...
-- */
--
-- memcpy(result, salt, (size_t)(salt_end - salt));
-- ptr = result + (salt_end - salt);
-- *ptr++ = '$';
--
-- for (i = 0; i < 5; i ++, ptr += 4)
-- {
-- n = ((((unsigned)digest[i] << 8) | (unsigned)digest[i + 6]) << 8);
--
-- if (i < 4)
-- n |= (unsigned)digest[i + 12];
-- else
-- n |= (unsigned)digest[5];
--
-- to64(ptr, n, 4);
-- }
--
-- to64(ptr, (unsigned)digest[11], 2);
-- ptr += 2;
-- *ptr = '\0';
--
-- return (result);
-- }
-- else
-- {
-- /*
-- * Use the standard crypt() function...
-- */
--
-- return (crypt(pw, salt));
-- }
--}
--#endif /* !HAVE_LIBPAM */
--
--
- /*
- * 'free_authmask()' - Free function for auth masks.
- */
---
-2.17.0
-
diff --git a/package/cups/cups.hash b/package/cups/cups.hash
index a19b3b09a6..3d238d61e6 100644
--- a/package/cups/cups.hash
+++ b/package/cups/cups.hash
@@ -1,3 +1,3 @@
# Locally calculated:
-sha256 3c4b637b737077565ccdfbd5f61785d03f49461ae736fcc2c0ffaf41d2c6ea6a cups-2.2.7-source.tar.gz
+sha256 77c8b2b3bb7fe8b5fbfffc307f2c817b2d7ec67b657f261a1dd1c61ab81205bb cups-2.2.10-source.tar.gz
sha256 6e0e0ffbde118aae709f7ef65590de9071e8b2cd322f84fd645c6b64f3cc452c LICENSE.txt
diff --git a/package/cups/cups.mk b/package/cups/cups.mk
index 8f33824879..b91fe7ac4c 100644
--- a/package/cups/cups.mk
+++ b/package/cups/cups.mk
@@ -4,7 +4,7 @@
#
################################################################################
-CUPS_VERSION = 2.2.7
+CUPS_VERSION = 2.2.10
CUPS_SOURCE = cups-$(CUPS_VERSION)-source.tar.gz
CUPS_SITE = https://github.com/apple/cups/releases/download/v$(CUPS_VERSION)
CUPS_LICENSE = GPL-2.0, LGPL-2.0
diff --git a/package/efl/0001-evas-gl-make-GLintptr-etc.-also-ndefed-for-GL_VERSIO.patch b/package/efl/0001-evas-gl-make-GLintptr-etc.-also-ndefed-for-GL_VERSIO.patch
new file mode 100644
index 0000000000..b64a200ffb
--- /dev/null
+++ b/package/efl/0001-evas-gl-make-GLintptr-etc.-also-ndefed-for-GL_VERSIO.patch
@@ -0,0 +1,34 @@
+From d045dd99acdd47be238642d4f9384dccacde2b42 Mon Sep 17 00:00:00 2001
+From: "Carsten Haitzler (Rasterman)" <raster@rasterman.com>
+Date: Sat, 15 Dec 2018 16:19:01 +0000
+Subject: [PATCH] evas gl - make GLintptr etc. also ndefed for GL_VERSION_1_5
+ fix typedef
+
+It seems that GL_VERSION_1_5 define == these provided by gl already. At
+least reading the mesa headers I do, so this should fix T7502
+
+Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
+---
+ src/lib/evas/Evas_GL.h | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/lib/evas/Evas_GL.h b/src/lib/evas/Evas_GL.h
+index fa3e6f4..5524d82 100644
+--- a/src/lib/evas/Evas_GL.h
++++ b/src/lib/evas/Evas_GL.h
+@@ -4272,9 +4272,11 @@ typedef signed int GLfixed; // Changed khronos_int32_t
+
+ #ifndef GL_ES_VERSION_2_0
+ /* GL types for handling large vertex buffer objects */
+-#include <stddef.h>
++# ifndef GL_VERSION_1_5
++# include <stddef.h>
+ typedef ptrdiff_t GLintptr; // Changed khronos_intptr_t
+ typedef ptrdiff_t GLsizeiptr; // Changed khronos_ssize_t
++# endif
+ #endif
+
+ /* Some definitions from GLES 3.0.
+--
+2.14.1
+
diff --git a/package/eigen/eigen.hash b/package/eigen/eigen.hash
index 4a1bcdf93d..e5c8404022 100644
--- a/package/eigen/eigen.hash
+++ b/package/eigen/eigen.hash
@@ -1,5 +1,5 @@
# Locally computed
-sha256 dd254beb0bafc695d0f62ae1a222ff85b52dbaa3a16f76e781dce22d0d20a4a6 3.3.4.tar.bz2
+sha256 9f13cf90dedbe3e52a19f43000d71fdf72e986beb9a5436dddcd61ff9d77a3ce 3.3.7.tar.bz2
sha256 4f877e5ae4672568ef82cfd0023e2cef4a7cf55d867ab249efc9569a7eb9e5b1 COPYING.BSD
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.GPL
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL
diff --git a/package/eigen/eigen.mk b/package/eigen/eigen.mk
index 27c4e212a9..5c9e028442 100644
--- a/package/eigen/eigen.mk
+++ b/package/eigen/eigen.mk
@@ -4,7 +4,7 @@
#
################################################################################
-EIGEN_VERSION = 3.3.4
+EIGEN_VERSION = 3.3.7
EIGEN_SOURCE = $(EIGEN_VERSION).tar.bz2
EIGEN_SITE = https://bitbucket.org/eigen/eigen/get
EIGEN_LICENSE = MPL2, BSD-3-Clause, LGPL-2.1
diff --git a/package/fetchmail/0002-enable-libressl.patch b/package/fetchmail/0001-enable-libressl.patch
index a98e19dda4..a98e19dda4 100644
--- a/package/fetchmail/0002-enable-libressl.patch
+++ b/package/fetchmail/0001-enable-libressl.patch
diff --git a/package/fetchmail/0001-fix-openssl-static-link.patch b/package/fetchmail/0001-fix-openssl-static-link.patch
deleted file mode 100644
index 1a5f4d6f71..0000000000
--- a/package/fetchmail/0001-fix-openssl-static-link.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Fix checking for statically build OpenSSL with libz dependency
-
-Fixes
-http://autobuild.buildroot.net/results/48a/48ad6d3659cf1f04581b7e3d115bebf454ff17fd/
-
-configure: Enabling OpenSSL support in /home/br/br/output/host/usr/i486-buildroot-linux-uclibc/sysroot/usr.
-checking for additional library dependencies of SSL... error
-configure: error: cannot link with SSL - check config.log
-
-In config.log multiple linking errors to libz can be found:
-
-configure:10099: /home/br/br/output/host/usr/bin/i486-ctng-linux-uclibc-gcc -o
- conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64
- /home/br/br/output/host/usr/i486-buildroot-linux-uclibc/sysroot/usr/lib/libcrypto.a(c_zlib.o):
- In function `zlib_stateful_c_zlib.c:(.text+0x56): undefined reference to `inflate'
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-
-diff -uNr fetchmail-6.3.26.org/configure.ac fetchmail-6.3.26/configure.ac
---- fetchmail-6.3.26.org/configure.ac 2013-04-23 22:51:10.000000000 +0200
-+++ fetchmail-6.3.26/configure.ac 2014-07-27 09:20:25.000000000 +0200
-@@ -778,7 +778,7 @@
- AC_MSG_ERROR([SSL support enabled, but OpenSSL not found])
- fi
- LDFLAGS="$LDFLAGS -L$with_ssl/lib"
-- LIBS="$LIBS -lssl -lcrypto"
-+ LIBS="-lssl -lcrypto $LIBS"
- dnl check if -ldl is needed
- AC_MSG_CHECKING([for additional library dependencies of SSL])
- found=0
diff --git a/package/fetchmail/0002-configure.ac-use-pkg-config-to-find-openssl.patch b/package/fetchmail/0002-configure.ac-use-pkg-config-to-find-openssl.patch
new file mode 100644
index 0000000000..aefed7f2e4
--- /dev/null
+++ b/package/fetchmail/0002-configure.ac-use-pkg-config-to-find-openssl.patch
@@ -0,0 +1,69 @@
+From 1ed0af7f1bbcaccbd7356bd90596f5c942b64720 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Fri, 22 Mar 2019 20:24:54 +0100
+Subject: [PATCH 1/1] configure.ac: use pkg-config to find openssl
+
+openssl can have multiples dependencies such as libatomic on sparcv8
+32 bits
+
+Fixes:
+ - http://autobuild.buildroot.org/results/58e5aa7c6ba8fe7474071d7a3cba6ed3a1b4cff4
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Upstream status:
+https://gitlab.com/fetchmail/fetchmail/merge_requests/14]
+---
+ configure.ac | 37 +++++++++++++++++++------------------
+ 1 file changed, 19 insertions(+), 18 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 16b0fcba..3a75ec6e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -778,24 +778,25 @@ then
+ else
+ AC_MSG_ERROR([SSL support enabled, but OpenSSL not found])
+ fi
+- LDFLAGS="$LDFLAGS -L$with_ssl/lib"
+- LIBS="$LIBS -lssl -lcrypto"
+- dnl check if -ldl is needed
+- AC_MSG_CHECKING([for additional library dependencies of SSL])
+- found=0
+- save_LIBS="$LIBS"
+- for i in "" "-ldl" ; do
+- LIBS="$LDFLAGS $save_LIBS $i"
+- AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <openssl/ssl.h>],[SSL_library_init()])],[found=1; break])
+- done
+- if test $found = 0 ; then
+- AC_MSG_RESULT([error])
+- AC_MSG_ERROR([cannot link with SSL - check config.log])
+- fi
+- LIBS="$save_LIBS $i"
+- if test "$i" = "" ; then i="(none)" ; fi
+- AC_MSG_RESULT($i)
+- dnl XXX FIXME: use pkg-config if available!
++ PKG_CHECK_MODULES([SSL],[libssl libcrypto],[LIBS="$LIBS $SSL_LIBS"],[
++ LDFLAGS="$LDFLAGS -L$with_ssl/lib"
++ LIBS="$LIBS -lssl -lcrypto"
++ dnl check if -ldl is needed
++ AC_MSG_CHECKING([for additional library dependencies of SSL])
++ found=0
++ save_LIBS="$LIBS"
++ for i in "" "-ldl" ; do
++ LIBS="$LDFLAGS $save_LIBS $i"
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <openssl/ssl.h>],[SSL_library_init()])],[found=1; break])
++ done
++ if test $found = 0 ; then
++ AC_MSG_RESULT([error])
++ AC_MSG_ERROR([cannot link with SSL - check config.log])
++ fi
++ LIBS="$save_LIBS $i"
++ if test "$i" = "" ; then i="(none)" ; fi
++ AC_MSG_RESULT($i)
++ ])
+ AC_DEFINE(SSL_ENABLE)
+ else
+ AC_MSG_WARN(Disabling SSL support.)
+--
+2.20.1
+
diff --git a/package/fetchmail/fetchmail.mk b/package/fetchmail/fetchmail.mk
index 37bbeabf62..41505e8637 100644
--- a/package/fetchmail/fetchmail.mk
+++ b/package/fetchmail/fetchmail.mk
@@ -13,17 +13,12 @@ FETCHMAIL_LICENSE_FILES = COPYING
FETCHMAIL_AUTORECONF = YES
FETCHMAIL_GETTEXTIZE = YES
-# needed to help fetchmail detecting the availability of openssl,
-# because it doesn't use pkg-config
-ifeq ($(BR2_STATIC_LIBS),y)
-FETCHMAIL_CONF_ENV += LIBS="-lz"
-endif
-
FETCHMAIL_CONF_OPTS = \
--with-ssl=$(STAGING_DIR)/usr
FETCHMAIL_DEPENDENCIES = \
ca-certificates \
+ host-pkgconf \
openssl \
$(TARGET_NLS_DEPENDENCIES)
diff --git a/package/file/file.hash b/package/file/file.hash
index c279dff6e1..7948e856ee 100644
--- a/package/file/file.hash
+++ b/package/file/file.hash
@@ -1,5 +1,7 @@
-# Locally calculated
-sha256 f15a50dbbfa83fec0bd1161e8e191b092ec832720e30cd14536e044ac623b20a file-5.34.tar.gz
-sha256 3c0ad13c36f891a9b4f951e59eb2fc108065a46f849697cc6fd3cdb41cc23a3d COPYING
-sha256 d98ee4d8d95e7d021a5dfc41f137ecc3b624a7b98e8bd793130202d12a21ed57 src/mygetopt.h
-sha256 85e358d575ad4ac5b38b623a25b24246ccff3c7e680d930c0a9ff5228fe434b6 src/vasprintf.c
+# Locally calculated after verifying signature
+# ftp://ftp.astron.com/pub/file/file-5.36.tar.gz.asc
+# using key BE04995BA8F90ED0C0C176C471112AB16CB33B3A
+sha256 fb608290c0fd2405a8f63e5717abf6d03e22e183fb21884413d1edd918184379 file-5.36.tar.gz
+sha256 0bfa856a9930bddadbef95d1be1cf4e163c0be618e76ea3275caaf255283e274 COPYING
+sha256 4ccb60d623884ef637af4a5bc16b2cb350163e2135e967655837336019a64462 src/mygetopt.h
+sha256 7ac061e1a1c840c4dfa0573aec6f3497676c9295b5ec4190d3576646eb1646bf src/vasprintf.c
diff --git a/package/file/file.mk b/package/file/file.mk
index b5b12978bc..1a835015a7 100644
--- a/package/file/file.mk
+++ b/package/file/file.mk
@@ -4,7 +4,7 @@
#
################################################################################
-FILE_VERSION = 5.34
+FILE_VERSION = 5.36
FILE_SITE = ftp://ftp.astron.com/pub/file
FILE_DEPENDENCIES = host-file zlib
HOST_FILE_DEPENDENCIES = host-zlib
diff --git a/package/flashrom/0001-platform-Add-riscv-to-known-platforms.patch b/package/flashrom/0001-platform-Add-riscv-to-known-platforms.patch
new file mode 100644
index 0000000000..06eb9256e4
--- /dev/null
+++ b/package/flashrom/0001-platform-Add-riscv-to-known-platforms.patch
@@ -0,0 +1,41 @@
+From a9a03cc6ba71825bfae0d64e1888f33c77345bc3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 17 Mar 2018 23:08:29 -0700
+Subject: [PATCH] platform: Add riscv to known platforms
+
+Change-Id: I724a99e2493fcbf71c2fc2d9f6a1ad607c737087
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Reviewed-on: https://review.coreboot.org/25260
+Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
+Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
+Reviewed-by: David Hendricks <david.hendricks@gmail.com>
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Retrieved from:
+https://github.com/flashrom/flashrom/commit/a9a03cc6ba71825bfae0d64e1888f33c77345bc3]
+---
+ platform.h | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/platform.h b/platform.h
+index e3b7674ae..65fe85881 100644
+--- a/platform.h
++++ b/platform.h
+@@ -69,6 +69,9 @@
+ #elif defined (__m68k__)
+ #define __FLASHROM_ARCH__ "m68k"
+ #define IS_M68K 1
++#elif defined (__riscv)
++ #define __FLASHROM_ARCH__ "riscv"
++ #define IS_RISCV 1
+ #elif defined (__sh__)
+ #define __FLASHROM_ARCH__ "sh"
+ #define IS_SH 1
+@@ -77,7 +80,7 @@
+ #define IS_S390 1
+ #endif
+
+-#if !(IS_X86 || IS_MIPS || IS_PPC || IS_ARM || IS_SPARC || IS_ALPHA || IS_HPPA || IS_M68K || IS_SH || IS_S390)
++#if !(IS_X86 || IS_MIPS || IS_PPC || IS_ARM || IS_SPARC || IS_ALPHA || IS_HPPA || IS_M68K || IS_RISCV || IS_SH || IS_S390)
+ #error Unknown architecture
+ #endif
+
diff --git a/package/flashrom/Config.in b/package/flashrom/Config.in
index e7844a0a62..c333c29730 100644
--- a/package/flashrom/Config.in
+++ b/package/flashrom/Config.in
@@ -1,13 +1,18 @@
+config BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS
+ bool
+ default y if BR2_aarch64 || BR2_aarch64_be
+ default y if BR2_arm || BR2_armeb
+ default y if BR2_i386 || BR2_x86_64
+ default y if BR2_m68k
+ default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
+ default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
+ default y if BR2_riscv
+ default y if BR2_sh
+ default y if BR2_sparc || BR2_sparc64
+
config BR2_PACKAGE_FLASHROM
bool "flashrom"
- depends on BR2_i386 || BR2_x86_64
- depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
- select BR2_PACKAGE_PCIUTILS
- select BR2_PACKAGE_LIBUSB
- select BR2_PACKAGE_LIBUSB_COMPAT
- select BR2_PACKAGE_LIBFTDI
- # dmidecode is only a runtime dependency
- select BR2_PACKAGE_DMIDECODE
+ depends on BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS
help
flashrom is a utility for identifying, reading, writing,
verifying and erasing flash chips. It is designed to flash
@@ -16,7 +21,3 @@ config BR2_PACKAGE_FLASHROM
programmer devices.
http://flashrom.org/
-
-comment "flashrom needs a toolchain w/ threads"
- depends on BR2_i386 || BR2_x86_64
- depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/flashrom/flashrom.mk b/package/flashrom/flashrom.mk
index 70f47b5a04..733ad7318d 100644
--- a/package/flashrom/flashrom.mk
+++ b/package/flashrom/flashrom.mk
@@ -7,13 +7,45 @@
FLASHROM_VERSION = 1.0
FLASHROM_SOURCE = flashrom-$(FLASHROM_VERSION).tar.bz2
FLASHROM_SITE = https://download.flashrom.org/releases
-FLASHROM_DEPENDENCIES = pciutils libusb libusb-compat libftdi host-pkgconf
FLASHROM_LICENSE = GPL-2.0+
FLASHROM_LICENSE_FILES = COPYING
+ifeq ($(BR2_PACKAGE_LIBFTDI),y)
+FLASHROM_DEPENDENCIES += host-pkgconf libftdi
+FLASHROM_MAKE_OPTS += \
+ CONFIG_FT2232_SPI=yes \
+ CONFIG_USBBLASTER_SPI=yes
+else
+FLASHROM_MAKE_OPTS += \
+ CONFIG_FT2232_SPI=no \
+ CONFIG_USBBLASTER_SPI=no
+endif
+
+ifeq ($(BR2_PACKAGE_LIBUSB),y)
+FLASHROM_DEPENDENCIES += host-pkgconf libusb
+FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=yes
+else
+FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=no
+endif
+
+ifeq ($(BR2_PACKAGE_LIBUSB_COMPAT),y)
+FLASHROM_DEPENDENCIES += host-pkgconf libusb-compat
+FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=yes
+else
+FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no
+endif
+
+ifeq ($(BR2_PACKAGE_PCIUTILS),y)
+FLASHROM_DEPENDENCIES += pciutils
+FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBPCI_PROGRAMMERS=yes
+else
+FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBPCI_PROGRAMMERS=no
+endif
+
define FLASHROM_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
- CFLAGS="$(TARGET_CFLAGS) -DHAVE_STRNLEN" -C $(@D)
+ CFLAGS="$(TARGET_CFLAGS) -DHAVE_STRNLEN" \
+ $(FLASHROM_MAKE_OPTS) -C $(@D)
endef
define FLASHROM_INSTALL_TARGET_CMDS
diff --git a/package/fltk/fltk.mk b/package/fltk/fltk.mk
index 611d79da50..c37a13176c 100644
--- a/package/fltk/fltk.mk
+++ b/package/fltk/fltk.mk
@@ -54,4 +54,11 @@ else
FLTK_CONF_OPTS += --disable-xinerama
endif
+ifeq ($(BR2_PACKAGE_XLIB_LIBXRENDER),y)
+FLTK_DEPENDENCIES += xlib_libXrender
+FLTK_CONF_OPTS += --enable-xrender
+else
+FLTK_CONF_OPTS += --disable-xrender
+endif
+
$(eval $(autotools-package))
diff --git a/package/gerbera/0001-CMakeLists.txt-fix-static-build-with-curl-and-libidn.patch b/package/gerbera/0001-CMakeLists.txt-fix-static-build-with-curl-and-libidn.patch
new file mode 100644
index 0000000000..94f742c3f8
--- /dev/null
+++ b/package/gerbera/0001-CMakeLists.txt-fix-static-build-with-curl-and-libidn.patch
@@ -0,0 +1,41 @@
+From de0e7fe3b56cff79c11aedc89448814fab8d1877 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Fri, 8 Mar 2019 19:11:11 +0100
+Subject: [PATCH] MakeLists.txt: fix static build with curl and libidn2
+
+curl can be statically linked with libidn2, in this case, build fails:
+/accts/mlweber1/rclinux/rc-buildroot-test/scripts/instance-0/output/host/m68k-buildroot-linux-uclibc/sysroot/usr/lib/libcurl.a(libcurl_la-url.o): In function `free_idnconverted_hostname.isra.1':
+url.c:(.text+0xf4): undefined reference to `idn2_free'
+
+To fix this issue, add a call to pkg_check_modules to retrieve any
+needed dependencies
+
+Fixes:
+ - http://autobuild.buildroot.org/results/be5893b507d22a23951efeea20c18642742cef5a
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Upstream status: https://github.com/gerbera/gerbera/pull/429]
+---
+ CMakeLists.txt | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d0eed230..e6b62c96 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -443,7 +443,11 @@ if(WITH_MYSQL)
+ endif()
+
+ if(WITH_CURL)
+- find_package (CURL REQUIRED)
++ find_package(PkgConfig QUIET)
++ pkg_check_modules (CURL QUIET libcurl)
++ if (NOT CURL_FOUND)
++ find_package (CURL REQUIRED)
++ endif()
+ if (CURL_FOUND)
+ include_directories(${CURL_INCLUDE_DIRS})
+ target_link_libraries (gerbera ${CURL_LIBRARIES})
+--
+2.20.1
+
diff --git a/package/gerbera/0002-cmake-FindFFMPEG-cmake-use-pkgconfig.patch b/package/gerbera/0002-cmake-FindFFMPEG-cmake-use-pkgconfig.patch
new file mode 100644
index 0000000000..b5f79173b6
--- /dev/null
+++ b/package/gerbera/0002-cmake-FindFFMPEG-cmake-use-pkgconfig.patch
@@ -0,0 +1,175 @@
+From fbbc07ce53e884b1603461ee5642d5f02788678d Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Thu, 21 Mar 2019 16:32:44 +0100
+Subject: [PATCH] cmake/FindFFMPEG.cmake: use pkgconfig
+
+ffmpeg has too many optional dependencies (opus, openssl, ...) instead
+of trying to find them all one by one, use pkg-config to get them and
+fallback on current mechanism
+
+Fixes:
+ - http://autobuild.buildroot.org/results/2b99fabd798db84a0fce26ad696c58e54c6ff626
+ - http://autobuild.buildroot.org/results/95e410e5ab34c6d4626a58f97c0d2d5e6829a300
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Retrieved (and backported) from:
+https://github.com/gerbera/gerbera/commit/fbbc07ce53e884b1603461ee5642d5f02788678d]
+---
+ cmake/FindFFMPEG.cmake | 147 +++++++++++++++++++++--------------------
+ 1 file changed, 75 insertions(+), 72 deletions(-)
+
+diff --git a/cmake/FindFFMPEG.cmake b/cmake/FindFFMPEG.cmake
+index 0a4a409f..9548b566 100644
+--- a/cmake/FindFFMPEG.cmake
++++ b/cmake/FindFFMPEG.cmake
+@@ -82,70 +82,76 @@ ENDIF (NOT FFMPEG_INCLUDE_DIR)
+ # ffmpeg uses relative includes such as <ffmpeg/avformat.h> or <libavcodec/avformat.h>
+ get_filename_component(FFMPEG_INCLUDE_DIR ${FFMPEG_INCLUDE_DIR} ABSOLUTE)
+
+-FIND_LIBRARY(FFMPEG_avformat_LIBRARY avformat
+- /usr/local/lib
+- /usr/lib
+- )
+-
+-FIND_LIBRARY(FFMPEG_avcodec_LIBRARY avcodec
+- /usr/local/lib
+- /usr/lib
+- )
+-
+-FIND_LIBRARY(FFMPEG_avutil_LIBRARY avutil
+- /usr/local/lib
+- /usr/lib
+- )
+-
+-FIND_LIBRARY(FFMPEG_swresample_LIBRARY swresample
+- /usr/local/lib
+- /usr/lib
+- )
+-
+-FIND_LIBRARY(FFMPEG_vorbis_LIBRARY vorbis
+- /usr/local/lib
+- /usr/lib
+- )
+-
+-FIND_LIBRARY(FFMPEG_dc1394_LIBRARY dc1394_control
+- /usr/local/lib
+- /usr/lib
+- )
+-
+-FIND_LIBRARY(FFMPEG_vorbisenc_LIBRARY vorbisenc
+- /usr/local/lib
+- /usr/lib
+- )
+-
+-FIND_LIBRARY(FFMPEG_theora_LIBRARY theora
+- /usr/local/lib
+- /usr/lib
+- )
+-
+-FIND_LIBRARY(FFMPEG_dts_LIBRARY dts
+- /usr/local/lib
+- /usr/lib
+- )
+-
+-FIND_LIBRARY(FFMPEG_gsm_LIBRARY gsm
+- /usr/local/lib
+- /usr/lib
+- )
+-
+-FIND_LIBRARY(FFMPEG_swscale_LIBRARY swscale
+- /usr/local/lib
+- /usr/lib
+- )
+-
+-FIND_LIBRARY(FFMPEG_z_LIBRARY z
+- /usr/local/lib
+- /usr/lib
+- )
+-
+-FIND_LIBRARY(FFMPEG_bz2_LIBRARY bz2
+- /usr/local/lib
+- /usr/lib
+- )
++CHECK_STRUCT_HAS_MEMBER("struct AVStream" codecpar libavformat/avformat.h HAVE_AVSTREAM_CODECPAR LANGUAGE C)
++
++FIND_PACKAGE(PkgConfig QUIET)
++PKG_CHECK_MODULES(FFMPEG QUIET libavformat libavutil)
++IF (NOT FFMPEG_FOUND)
++ FIND_LIBRARY(FFMPEG_avformat_LIBRARY avformat
++ /usr/local/lib
++ /usr/lib
++ )
++
++ FIND_LIBRARY(FFMPEG_avcodec_LIBRARY avcodec
++ /usr/local/lib
++ /usr/lib
++ )
++
++ FIND_LIBRARY(FFMPEG_avutil_LIBRARY avutil
++ /usr/local/lib
++ /usr/lib
++ )
++
++ FIND_LIBRARY(FFMPEG_swresample_LIBRARY swresample
++ /usr/local/lib
++ /usr/lib
++ )
++
++ FIND_LIBRARY(FFMPEG_vorbis_LIBRARY vorbis
++ /usr/local/lib
++ /usr/lib
++ )
++
++ FIND_LIBRARY(FFMPEG_dc1394_LIBRARY dc1394_control
++ /usr/local/lib
++ /usr/lib
++ )
++
++ FIND_LIBRARY(FFMPEG_vorbisenc_LIBRARY vorbisenc
++ /usr/local/lib
++ /usr/lib
++ )
++
++ FIND_LIBRARY(FFMPEG_theora_LIBRARY theora
++ /usr/local/lib
++ /usr/lib
++ )
++
++ FIND_LIBRARY(FFMPEG_dts_LIBRARY dts
++ /usr/local/lib
++ /usr/lib
++ )
++
++ FIND_LIBRARY(FFMPEG_gsm_LIBRARY gsm
++ /usr/local/lib
++ /usr/lib
++ )
++
++ FIND_LIBRARY(FFMPEG_swscale_LIBRARY swscale
++ /usr/local/lib
++ /usr/lib
++ )
++
++ FIND_LIBRARY(FFMPEG_z_LIBRARY z
++ /usr/local/lib
++ /usr/lib
++ )
++
++ FIND_LIBRARY(FFMPEG_bz2_LIBRARY bz2
++ /usr/local/lib
++ /usr/lib
++ )
++ENDIF(NOT FFMPEG_FOUND)
+
+ SET(FFMPEG_LIBRARIES)
+ IF (FFMPEG_INCLUDE_DIR)
+@@ -205,9 +211,6 @@ IF (FFMPEG_INCLUDE_DIR)
+ ENDIF (FFMPEG_bz2_LIBRARY)
+
+ SET(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} CACHE INTERNAL "All presently found FFMPEG libraries.")
+-
+- CHECK_STRUCT_HAS_MEMBER("struct AVStream" codecpar libavformat/avformat.h HAVE_AVSTREAM_CODECPAR LANGUAGE C)
+-
+ ENDIF (FFMPEG_avutil_LIBRARY)
+ ENDIF (FFMPEG_avcodec_LIBRARY)
+ ENDIF (FFMPEG_avformat_LIBRARY)
diff --git a/package/git/git.mk b/package/git/git.mk
index 9b176d3661..aec30e3eb3 100644
--- a/package/git/git.mk
+++ b/package/git/git.mk
@@ -12,9 +12,9 @@ GIT_LICENSE_FILES = COPYING LGPL-2.1
GIT_DEPENDENCIES = zlib $(TARGET_NLS_DEPENDENCIES)
ifeq ($(BR2_PACKAGE_OPENSSL),y)
-GIT_DEPENDENCIES += openssl
+GIT_DEPENDENCIES += host-pkgconf openssl
GIT_CONF_OPTS += --with-openssl
-GIT_CONF_ENV_LIBS += $(if $(BR2_STATIC_LIBS),-lz)
+GIT_MAKE_OPTS += LIB_4_CRYPTO="`$(PKG_CONFIG_HOST_BINARY) --libs libssl libcrypto`"
else
GIT_CONF_OPTS += --without-openssl
endif
diff --git a/package/glibc/glibc-2.28-69-g1e5c5303a522764d7e9d2302a60e4a32cdb902f1/glibc.hash b/package/glibc/glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a/glibc.hash
index e83b1caf4c..442ef0d7aa 100644
--- a/package/glibc/glibc-2.28-69-g1e5c5303a522764d7e9d2302a60e4a32cdb902f1/glibc.hash
+++ b/package/glibc/glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a/glibc.hash
@@ -1,5 +1,5 @@
# Locally calculated (fetched from Github)
-sha256 ebf04c7b00153d6df8beceec0666d4b13e1ac613b40d5774d1b8c6f61c1686e6 glibc-glibc-2.28-69-g1e5c5303a522764d7e9d2302a60e4a32cdb902f1.tar.gz
+sha256 295d436aac4dc45afc3b440f85fc4556c03b1140ca0f625ee015c8156d2f52ae glibc-glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a.tar.gz
# Hashes for license files
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk
index ec5b3cedc9..cb6f8097dc 100644
--- a/package/glibc/glibc.mk
+++ b/package/glibc/glibc.mk
@@ -13,7 +13,7 @@ GLIBC_SITE = $(call github,riscv,riscv-glibc,$(GLIBC_VERSION))
else
# Generate version string using:
# git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master
-GLIBC_VERSION = glibc-2.28-69-g1e5c5303a522764d7e9d2302a60e4a32cdb902f1
+GLIBC_VERSION = glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a
# Upstream doesn't officially provide an https download link.
# There is one (https://sourceware.org/git/glibc.git) but it's not reliable,
# sometimes the connection times out. So use an unofficial github mirror.
diff --git a/package/gnuradio/Config.in b/package/gnuradio/Config.in
index 3fdaea850e..6d0669779f 100644
--- a/package/gnuradio/Config.in
+++ b/package/gnuradio/Config.in
@@ -56,6 +56,12 @@ config BR2_PACKAGE_GNURADIO_FEC
help
FEC signal processing blocks
+config BR2_PACKAGE_GNURADIO_LOG
+ bool "gr-log support"
+ select BR2_PACKAGE_LOG4CPP
+ help
+ Enable logger component
+
config BR2_PACKAGE_GNURADIO_PYTHON
bool "python support"
depends on BR2_PACKAGE_PYTHON
diff --git a/package/gnuradio/gnuradio.mk b/package/gnuradio/gnuradio.mk
index 202c2213a7..ef9723cb01 100644
--- a/package/gnuradio/gnuradio.mk
+++ b/package/gnuradio/gnuradio.mk
@@ -115,6 +115,13 @@ else
GNURADIO_CONF_OPTS += -DENABLE_GR_FILTER=OFF
endif
+ifeq ($(BR2_PACKAGE_GNURADIO_LOG),y)
+GNURADIO_DEPENDENCIES += log4cpp
+GNURADIO_CONF_OPTS += -DENABLE_GR_LOG=ON
+else
+GNURADIO_CONF_OPTS += -DENABLE_GR_LOG=OFF
+endif
+
ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y)
GNURADIO_DEPENDENCIES += python
GNURADIO_CONF_OPTS += -DENABLE_PYTHON=ON
diff --git a/package/go/go.mk b/package/go/go.mk
index 1558b55e21..4daa2fe093 100644
--- a/package/go/go.mk
+++ b/package/go/go.mk
@@ -37,13 +37,16 @@ GO_GOARCH = mips64le
endif
HOST_GO_DEPENDENCIES = host-go-bootstrap
+HOST_GO_HOST_CACHE = $(HOST_DIR)/usr/share/host-go-cache
HOST_GO_ROOT = $(HOST_DIR)/lib/go
+HOST_GO_TARGET_CACHE = $(HOST_DIR)/usr/share/go-cache
# For the convienience of target packages.
HOST_GO_TOOLDIR = $(HOST_GO_ROOT)/pkg/tool/linux_$(GO_GOARCH)
HOST_GO_TARGET_ENV = \
GO111MODULE=off \
GOARCH=$(GO_GOARCH) \
+ GOCACHE="$(HOST_GO_TARGET_CACHE)" \
GOROOT="$(HOST_GO_ROOT)" \
CC="$(TARGET_CC)" \
CXX="$(TARGET_CXX)" \
@@ -63,6 +66,7 @@ endif
# HOSTCC_NOCCACHE. See https://github.com/golang/go/issues/11685.
HOST_GO_MAKE_ENV = \
GO111MODULE=off \
+ GOCACHE=$(HOST_GO_HOST_CACHE) \
GOROOT_BOOTSTRAP=$(HOST_GO_BOOTSTRAP_ROOT) \
GOROOT_FINAL=$(HOST_GO_ROOT) \
GOROOT="$(@D)" \
diff --git a/package/gstreamer/gst-plugins-bad/Config.in b/package/gstreamer/gst-plugins-bad/Config.in
index f45981f6c8..411e4b6174 100644
--- a/package/gstreamer/gst-plugins-bad/Config.in
+++ b/package/gstreamer/gst-plugins-bad/Config.in
@@ -242,10 +242,6 @@ config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_Y4M
comment "plugins with external dependencies (there may be more available)"
-config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK
- bool "apexsink"
- select BR2_PACKAGE_OPENSSL
-
config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_BZ2
bool "bz2"
select BR2_PACKAGE_BZIP2
@@ -324,14 +320,13 @@ config BR2_PACKAGE_GST_PLUGINS_BAD_ZBAR
bool "zbar"
depends on BR2_TOOLCHAIN_HAS_THREADS # zbar-> libv4l
depends on BR2_USE_MMU # zbar-> libv4l
- depends on !BR2_STATIC_LIBS # zbar-> libv4l
depends on BR2_INSTALL_LIBSTDCPP # zbar-> libv4l
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # zbar
select BR2_PACKAGE_ZBAR
-comment "zbar plugin needs a toolchain w/ threads, dynamic library, C++ and headers >= 3.17"
+comment "zbar plugin needs a toolchain w/ threads, C++ and headers >= 3.17"
depends on BR2_USE_MMU
- depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \
+ depends on !BR2_TOOLCHAIN_HAS_THREADS \
|| !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
endif
diff --git a/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk b/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk
index 856ff9665d..a98eac4235 100644
--- a/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk
+++ b/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk
@@ -12,6 +12,7 @@ GST_PLUGINS_BAD_LICENSE = LGPL-2.1+, GPL-2.0+
GST_PLUGINS_BAD_LICENSE_FILES = COPYING.LIB COPYING
GST_PLUGINS_BAD_CONF_OPTS = \
+ --disable-apexsink \
--disable-examples \
--disable-spandsp
@@ -472,13 +473,6 @@ GST_PLUGINS_BAD_CONF_OPTS += --disable-y4m
endif
# plugins with deps
-ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK),y)
-GST_PLUGINS_BAD_CONF_OPTS += --enable-apexsink
-GST_PLUGINS_BAD_DEPENDENCIES += openssl
-else
-GST_PLUGINS_BAD_CONF_OPTS += --disable-apexsink
-endif
-
ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_BZ2),y)
GST_PLUGINS_BAD_CONF_OPTS += --enable-bz2
GST_PLUGINS_BAD_DEPENDENCIES += bzip2
diff --git a/package/intel-gmmlib/Config.in b/package/intel-gmmlib/Config.in
index ef92a91128..9d5fbd9cae 100644
--- a/package/intel-gmmlib/Config.in
+++ b/package/intel-gmmlib/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_INTEL_GMMLIB
bool "intel-gmmlib"
depends on BR2_x86_64
+ depends on !BR2_STATIC_LIBS
help
The Intel(R) Graphics Memory Management Library provides
device specific and buffer management for the Intel(R)
@@ -8,3 +9,6 @@ config BR2_PACKAGE_INTEL_GMMLIB
Media Driver for VAAPI.
https://github.com/intel/gmmlib
+
+comment "intel-gmmlib needs a toolchain w/ dynamic library"
+ depends on BR2_STATIC_LIBS
diff --git a/package/jq/jq.hash b/package/jq/jq.hash
index 2cd640563a..449619b024 100644
--- a/package/jq/jq.hash
+++ b/package/jq/jq.hash
@@ -1,2 +1,3 @@
# Locally calculated
-sha256 c4d2bfec6436341113419debf479d833692cc5cdab7eb0326b5a4d4fbe9f493c jq-1.5.tar.gz
+sha256 5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72 jq-1.6.tar.gz
+sha256 111136aebcbfa68b6b0084e582b30e981da76adcff84eab6f9be32a1f38c5bf1 COPYING
diff --git a/package/jq/jq.mk b/package/jq/jq.mk
index 79629faa5e..aebe8c86e4 100644
--- a/package/jq/jq.mk
+++ b/package/jq/jq.mk
@@ -4,7 +4,7 @@
#
################################################################################
-JQ_VERSION = 1.5
+JQ_VERSION = 1.6
JQ_SITE = https://github.com/stedolan/jq/releases/download/jq-$(JQ_VERSION)
JQ_LICENSE = MIT (code), CC-BY-3.0 (documentation)
JQ_LICENSE_FILES = COPYING
@@ -17,8 +17,8 @@ JQ_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -std=c99 -D_GNU_SOURCE"
HOST_JQ_CONF_ENV += CFLAGS="$(HOST_CFLAGS) -std=c99 -D_GNU_SOURCE"
# jq explicitly enables maintainer mode, which we don't need/want
-JQ_CONF_OPTS += --disable-maintainer-mode
-HOST_JQ_CONF_OPTS += --disable-maintainer-mode
+JQ_CONF_OPTS += --disable-maintainer-mode --without-oniguruma
+HOST_JQ_CONF_OPTS += --disable-maintainer-mode --without-oniguruma
$(eval $(autotools-package))
$(eval $(host-autotools-package))
diff --git a/package/kexec/Config.in b/package/kexec/Config.in
index c8cdea5663..410e503d9e 100644
--- a/package/kexec/Config.in
+++ b/package/kexec/Config.in
@@ -2,7 +2,8 @@ config BR2_PACKAGE_KEXEC
bool "kexec"
depends on BR2_i386 || BR2_x86_64 || BR2_arm || BR2_armeb || \
BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el || \
- BR2_powerpc || BR2_sh4 || BR2_sh4a || BR2_aarch64
+ BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
+ BR2_sh4 || BR2_sh4a || BR2_aarch64
help
Kexec is a user space utility for loading another kernel
and asking the currently running kernel to do something with
diff --git a/package/kexec/kexec.hash b/package/kexec/kexec.hash
index 24294909ee..f87692b689 100644
--- a/package/kexec/kexec.hash
+++ b/package/kexec/kexec.hash
@@ -1,4 +1,4 @@
# From https://www.kernel.org/pub/linux/utils/kernel/kexec/sha256sums.asc
-sha256 504c816b769da573167b63f3b6d4fce3740f231c98d8db0c4fda47a4b90482a9 kexec-tools-2.0.17.tar.xz
+sha256 f020f07341977eb512663e301c2de60c6589e141467c16a8efd58243c0b2b238 kexec-tools-2.0.18.tar.xz
# locally calculated
sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 COPYING
diff --git a/package/kexec/kexec.mk b/package/kexec/kexec.mk
index b0f4367ddd..b011c0b4e5 100644
--- a/package/kexec/kexec.mk
+++ b/package/kexec/kexec.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KEXEC_VERSION = 2.0.17
+KEXEC_VERSION = 2.0.18
KEXEC_SOURCE = kexec-tools-$(KEXEC_VERSION).tar.xz
KEXEC_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kexec
KEXEC_LICENSE = GPL-2.0
diff --git a/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk b/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk
index 9bbeeaa760..20fbc102c6 100644
--- a/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk
+++ b/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk
@@ -13,4 +13,9 @@ KF5_MODEMMANAGER_QT_LICENSE_FILE = COPYING.LIB
KF5_MODEMMANAGER_QT_DEPENDENCIES = kf5-extra-cmake-modules modem-manager qt5base
KF5_MODEMMANAGER_QT_INSTALL_STAGING = YES
+# Uses __atomic_fetch_add_4
+ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
+KF5_MODEMMANAGER_QT_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic"
+endif
+
$(eval $(cmake-package))
diff --git a/package/leveldb/0003-Generate-position-independant-code-for-static-librar.patch b/package/leveldb/0003-Generate-position-independant-code-for-static-librar.patch
new file mode 100644
index 0000000000..dce06ec725
--- /dev/null
+++ b/package/leveldb/0003-Generate-position-independant-code-for-static-librar.patch
@@ -0,0 +1,52 @@
+From 6ed1b57ef6bcee0d497c181730710b2b0fafbfb3 Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= <gael.portay@savoirfairelinux.com>
+Date: Fri, 31 Aug 2018 12:23:46 -0400
+Subject: [PATCH] Generate position independant code for static library
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+Currently, only shared libraries are using the PIC flag.
+
+Generalize this flag for static libraries in order to let them linkable
+by dynamic libraries.
+
+Fixes:
+
+ /home/gportay/src/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-amd-linux-gnu/6.2.0/../../../../x86_64-amd-linux-gnu/bin/ld: /home/gportay/src/buildroot/output/host/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libmemenv.a(memenv.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
+ /home/gportay/src/buildroot/output/host/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libmemenv.a: error adding symbols: Bad value
+ collect2: error: ld returned 1 exit status
+
+Upstream-Status: Inappropriate [upstream has migrated to cmake]
+Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
+---
+ build_detect_platform | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/build_detect_platform b/build_detect_platform
+index d2a20ce..4839444 100755
+--- a/build_detect_platform
++++ b/build_detect_platform
+@@ -55,8 +55,8 @@ fi
+
+ COMMON_FLAGS=
+ CROSS_COMPILE=
+-PLATFORM_CCFLAGS=
+-PLATFORM_CXXFLAGS=
++PLATFORM_CCFLAGS="-fPIC"
++PLATFORM_CXXFLAGS="-fPIC"
+ PLATFORM_LDFLAGS=
+ PLATFORM_LIBS=
+ PLATFORM_SHARED_EXT="so"
+@@ -197,7 +197,7 @@ else
+ EOF
+ if [ "$?" = 0 ]; then
+ COMMON_FLAGS="$COMMON_FLAGS -DLEVELDB_PLATFORM_POSIX -DLEVELDB_ATOMIC_PRESENT"
+- PLATFORM_CXXFLAGS="-std=c++0x"
++ PLATFORM_CXXFLAGS="$PLATFORM_CXXFLAGS -std=c++0x"
+ else
+ COMMON_FLAGS="$COMMON_FLAGS -DLEVELDB_PLATFORM_POSIX"
+ fi
+--
+2.18.0
+
diff --git a/package/leveldb/leveldb.mk b/package/leveldb/leveldb.mk
index af9e879828..6078cd496c 100644
--- a/package/leveldb/leveldb.mk
+++ b/package/leveldb/leveldb.mk
@@ -25,6 +25,8 @@ define LEVELDB_INSTALL_STAGING_CMDS
$(TARGET_MAKE_ENV) $(MAKE1) \
INSTALL_ROOT=$(STAGING_DIR) INSTALL_PREFIX=/usr \
$(LEVELDB_MAKE_ARGS) -C $(@D) install
+ $(INSTALL) -D -m 0644 $(@D)/out-static/libmemenv.a $(STAGING_DIR)/usr/lib/libmemenv.a
+ $(INSTALL) -D -m 0644 $(@D)/helpers/memenv/memenv.h $(STAGING_DIR)/usr/include/helpers/memenv/memenv.h
endef
define LEVELDB_INSTALL_TARGET_CMDS
diff --git a/package/libcurl/libcurl.hash b/package/libcurl/libcurl.hash
index b158600eca..d321adcd62 100644
--- a/package/libcurl/libcurl.hash
+++ b/package/libcurl/libcurl.hash
@@ -1,5 +1,5 @@
# Locally calculated after checking pgp signature
-# https://curl.haxx.se/download/curl-7.64.0.tar.xz.asc
+# https://curl.haxx.se/download/curl-7.64.1.tar.xz.asc
# with key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2
-sha256 2f2f13fa34d44aa29cb444077ad7dc4dc6d189584ad552e0aaeb06e608af6001 curl-7.64.0.tar.xz
+sha256 9252332a7f871ce37bfa7f78bdd0a0e3924d8187cc27cb57c76c9474a7168fb3 curl-7.64.1.tar.xz
sha256 8c8824f50e73a021f5dde1fccbf69685939247399a33a32abab1fa448c9ddabb COPYING
diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk
index 509dbdb54e..852054a4bd 100644
--- a/package/libcurl/libcurl.mk
+++ b/package/libcurl/libcurl.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBCURL_VERSION = 7.64.0
+LIBCURL_VERSION = 7.64.1
LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz
LIBCURL_SITE = https://curl.haxx.se/download
LIBCURL_DEPENDENCIES = host-pkgconf \
diff --git a/package/libdrm/Config.in b/package/libdrm/Config.in
index 581f921968..3cb0e02a41 100644
--- a/package/libdrm/Config.in
+++ b/package/libdrm/Config.in
@@ -36,6 +36,7 @@ config BR2_PACKAGE_LIBDRM_RADEON
config BR2_PACKAGE_LIBDRM_AMDGPU
bool "amdgpu"
+ depends on BR2_USE_MMU # fork()
depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC
select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC
help
diff --git a/package/libftdi1/libftdi1.mk b/package/libftdi1/libftdi1.mk
index c45c83a711..014dd8401e 100644
--- a/package/libftdi1/libftdi1.mk
+++ b/package/libftdi1/libftdi1.mk
@@ -11,6 +11,7 @@ LIBFTDI1_INSTALL_STAGING = YES
LIBFTDI1_DEPENDENCIES = libusb
LIBFTDI1_LICENSE = LGPL-2.0 (libftdi1), GPL-2.0 with exception (ftdipp1)
LIBFTDI1_LICENSE_FILES = LICENSE COPYING.GPL COPYING.LIB
+LIBFTDI1_CONFIG_SCRIPTS = libftdi1-config
LIBFTDI1_CONF_OPTS = -DDOCUMENTATION=OFF -DEXAMPLES=OFF
ifeq ($(BR2_PACKAGE_LIBFTDI1_LIBFTDIPP1),y)
diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk
index f602c371f5..44c0591109 100644
--- a/package/libglib2/libglib2.mk
+++ b/package/libglib2/libglib2.mk
@@ -137,6 +137,13 @@ LIBGLIB2_CONF_OPTS += --with-libiconv=gnu
LIBGLIB2_DEPENDENCIES += libiconv
endif
+ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
+LIBGLIB2_CONF_OPTS += --enable-selinux
+LIBGLIB2_DEPENDENCIES += libselinux
+else
+LIBGLIB2_CONF_OPTS += --disable-selinux
+endif
+
# Purge gdb-related files
ifneq ($(BR2_PACKAGE_GDB),y)
define LIBGLIB2_REMOVE_GDB_FILES
diff --git a/package/libiio/libiio.hash b/package/libiio/libiio.hash
index fbb4bccb90..800b2ee8f4 100644
--- a/package/libiio/libiio.hash
+++ b/package/libiio/libiio.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 12063db7a9366aa00bfd789db30afaddb29686bc29b3ce1e5d4adfe1c3b42527 libiio-0.14.tar.gz
+sha256 a729f8ff48137ad271a3e2951f322b35c1bf2ec075b488d75c8bd071c693fd19 libiio-0.15.tar.gz
sha256 102900208eef27b766380135906d431dba87edaa7ec6aa72e6ebd3dd67f3a97b COPYING.txt
diff --git a/package/libiio/libiio.mk b/package/libiio/libiio.mk
index d2376bca34..2371a71063 100644
--- a/package/libiio/libiio.mk
+++ b/package/libiio/libiio.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBIIO_VERSION = 0.14
+LIBIIO_VERSION = 0.15
LIBIIO_SITE = $(call github,analogdevicesinc,libiio,v$(LIBIIO_VERSION))
LIBIIO_INSTALL_STAGING = YES
LIBIIO_LICENSE = LGPL-2.1+
diff --git a/package/libpcap/Config.in b/package/libpcap/Config.in
index 643acbef6e..74429f209a 100644
--- a/package/libpcap/Config.in
+++ b/package/libpcap/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_LIBPCAP
bool "libpcap"
+ select BR2_PACKAGE_BLUEZ5_UTILS_HEADERS if BR2_PACKAGE_BLUEZ5_UTILS
select BR2_PACKAGE_ZLIB
help
A system-independent library for user-level network packet
diff --git a/package/libpcap/libpcap.mk b/package/libpcap/libpcap.mk
index 126087220b..ebceca5273 100644
--- a/package/libpcap/libpcap.mk
+++ b/package/libpcap/libpcap.mk
@@ -16,6 +16,8 @@ LIBPCAP_CONF_ENV = \
CFLAGS="$(LIBPCAP_CFLAGS)"
LIBPCAP_CFLAGS = $(TARGET_CFLAGS)
LIBPCAP_CONF_OPTS = --disable-yydebug --with-pcap=linux --without-dag
+# Disable dbus to break recursive dependencies
+LIBPCAP_CONF_OPTS += --disable-dbus
LIBPCAP_CONFIG_SCRIPTS = pcap-config
# Omit -rpath from pcap-config output
@@ -24,21 +26,12 @@ define LIBPCAP_CONFIG_REMOVE_RPATH
endef
LIBPCAP_POST_BUILD_HOOKS = LIBPCAP_CONFIG_REMOVE_RPATH
-ifeq ($(BR2_PACKAGE_BLUEZ_UTILS),y)
-LIBPCAP_DEPENDENCIES += bluez_utils
-else ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS),y)
-LIBPCAP_DEPENDENCIES += bluez5_utils
+ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),y)
+LIBPCAP_DEPENDENCIES += bluez5_utils-headers
else
LIBPCAP_CONF_OPTS += --disable-bluetooth
endif
-ifeq ($(BR2_PACKAGE_DBUS),y)
-LIBPCAP_CONF_OPTS += --enable-dbus
-LIBPCAP_DEPENDENCIES += dbus
-else
-LIBPCAP_CONF_OPTS += --disable-dbus
-endif
-
ifeq ($(BR2_PACKAGE_LIBNL),y)
LIBPCAP_DEPENDENCIES += libnl
LIBPCAP_CFLAGS += "-I$(STAGING_DIR)/usr/include/libnl3"
diff --git a/package/libseccomp/0001-remove-static.patch b/package/libseccomp/0001-remove-static.patch
index 9f0ac210c7..60a1ff00b6 100644
--- a/package/libseccomp/0001-remove-static.patch
+++ b/package/libseccomp/0001-remove-static.patch
@@ -1,4 +1,4 @@
-From 8632287cf6863b580340f846ac14adf2609abdb0 Mon Sep 17 00:00:00 2001
+From 5d010fb06eae43b284e5ccc322f6de47eb42b751 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Sat, 2 Jun 2018 13:45:22 +0200
Subject: [PATCH] remove static
@@ -14,16 +14,18 @@ and slighly updated to work with 2.3.3
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Peter: updated for v2.4.0 which adds scmp_api_level]
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
- tools/Makefile.am | 2 --
- 1 file changed, 2 deletions(-)
+ tools/Makefile.am | 3 ---
+ 1 file changed, 3 deletions(-)
diff --git a/tools/Makefile.am b/tools/Makefile.am
-index 70b4aed..ef74270 100644
+index f768365..5f9d571 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
-@@ -35,8 +35,6 @@ scmp_bpf_disasm_SOURCES = scmp_bpf_disasm.c bpf.h util.h
- scmp_bpf_sim_SOURCES = scmp_bpf_sim.c bpf.h util.h
+@@ -37,10 +37,7 @@ scmp_bpf_sim_SOURCES = scmp_bpf_sim.c bpf.h util.h
+ scmp_api_level_SOURCES = scmp_api_level.c
scmp_sys_resolver_LDADD = ../src/libseccomp.la
-scmp_sys_resolver_LDFLAGS = -static
@@ -31,6 +33,8 @@ index 70b4aed..ef74270 100644
-scmp_arch_detect_LDFLAGS = -static
scmp_bpf_disasm_LDADD = util.la
scmp_bpf_sim_LDADD = util.la
+ scmp_api_level_LDADD = ../src/libseccomp.la
+-scmp_api_level_LDFLAGS = -static
--
-2.14.1
+2.11.0
diff --git a/package/libseccomp/libseccomp.hash b/package/libseccomp/libseccomp.hash
index 0362ce9ba4..0823903c36 100644
--- a/package/libseccomp/libseccomp.hash
+++ b/package/libseccomp/libseccomp.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 5a52495207f00d1254707f11226e17c16ec53f5038d65bbabf1892873fa2fe5b libseccomp-v2.3.3.tar.gz
+sha256 b7ee0299157fb7a6a81c99f2e0d7e64429b7d7c0eae43c3a6ef91e87eeed2868 libseccomp-v2.4.0.tar.gz
sha256 102900208eef27b766380135906d431dba87edaa7ec6aa72e6ebd3dd67f3a97b LICENSE
diff --git a/package/libseccomp/libseccomp.mk b/package/libseccomp/libseccomp.mk
index afa2d36122..90b981f042 100644
--- a/package/libseccomp/libseccomp.mk
+++ b/package/libseccomp/libseccomp.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBSECCOMP_VERSION = v2.3.3
+LIBSECCOMP_VERSION = v2.4.0
LIBSECCOMP_SITE = $(call github,seccomp,libseccomp,$(LIBSECCOMP_VERSION))
LIBSECCOMP_LICENSE = LGPL-2.1
LIBSECCOMP_LICENSE_FILES = LICENSE
diff --git a/package/libssh2/0003-openssl-fix-dereferencing-ambiguity-potentially-caus.patch b/package/libssh2/0003-openssl-fix-dereferencing-ambiguity-potentially-caus.patch
deleted file mode 100644
index 44eed2bac4..0000000000
--- a/package/libssh2/0003-openssl-fix-dereferencing-ambiguity-potentially-caus.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 28fe5e4de437f8fce6e428b7db9bc8640cda4c61 Mon Sep 17 00:00:00 2001
-From: Giulio Benetti <giulio.benetti@micronovasrl.com>
-Date: Thu, 13 Sep 2018 09:51:35 +0200
-Subject: [PATCH] openssl: fix dereferencing ambiguity potentially causing
- build failure
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When dereferencing from *aes_ctr_cipher, being a pointer itself,
-ambiguity can occur with compiler and build can fail reporting:
-openssl.c:574:20: error: ‘*aes_ctr_cipher’ is a pointer; did you mean to use ‘->’?
- *aes_ctr_cipher->nid = type;
-
-Sorround every *aes_ctr_cipher-> occurence with paranthesis like this
-(*aes_ctr_cipher)->
-
-Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
-Upstream: https://github.com/libssh2/libssh2/commit/b5b6673c2823a18753a14571a6c01bde33fa3a8b
----
- src/openssl.c | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/src/openssl.c b/src/openssl.c
-index 678d5de..c26aaec 100644
---- a/src/openssl.c
-+++ b/src/openssl.c
-@@ -571,13 +571,13 @@ make_ctr_evp (size_t keylen, EVP_CIPHER **aes_ctr_cipher, int type)
- EVP_CIPHER_meth_set_cleanup(*aes_ctr_cipher, aes_ctr_cleanup);
- }
- #else
-- *aes_ctr_cipher->nid = type;
-- *aes_ctr_cipher->block_size = 16;
-- *aes_ctr_cipher->key_len = keylen;
-- *aes_ctr_cipher->iv_len = 16;
-- *aes_ctr_cipher->init = aes_ctr_init;
-- *aes_ctr_cipher->do_cipher = aes_ctr_do_cipher;
-- *aes_ctr_cipher->cleanup = aes_ctr_cleanup;
-+ (*aes_ctr_cipher)->nid = type;
-+ (*aes_ctr_cipher)->block_size = 16;
-+ (*aes_ctr_cipher)->key_len = keylen;
-+ (*aes_ctr_cipher)->iv_len = 16;
-+ (*aes_ctr_cipher)->init = aes_ctr_init;
-+ (*aes_ctr_cipher)->do_cipher = aes_ctr_do_cipher;
-+ (*aes_ctr_cipher)->cleanup = aes_ctr_cleanup;
- #endif
-
- return *aes_ctr_cipher;
---
-2.17.1
-
diff --git a/package/libssh2/libssh2.hash b/package/libssh2/libssh2.hash
index d57c8d7062..c4732a2c07 100644
--- a/package/libssh2/libssh2.hash
+++ b/package/libssh2/libssh2.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 ec2b32b44ae5f8fe094f663f63953fb31314de838eb36e8c47e5a89137b5a1bc libssh2-8b870ad771cbd9cd29edbb3dbb0878e950f868ab.tar.gz
+sha256 468e7a81a8121c06cb099eef2e17106b0b8c2e1d890b1c0e34e1951f182babb1 libssh2-1b3cbaff518f32e5b70650d4b7b52361b1410d37.tar.gz
sha256 e15ed284a15e80115467d6d7f030f0d89d8fabbecd78fb6e0f861f0cfc128fd9 COPYING
diff --git a/package/libssh2/libssh2.mk b/package/libssh2/libssh2.mk
index 89cb733224..ed0dd40bec 100644
--- a/package/libssh2/libssh2.mk
+++ b/package/libssh2/libssh2.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBSSH2_VERSION = 8b870ad771cbd9cd29edbb3dbb0878e950f868ab
+LIBSSH2_VERSION = 1b3cbaff518f32e5b70650d4b7b52361b1410d37
LIBSSH2_SITE = $(call github,libssh2,libssh2,$(LIBSSH2_VERSION))
LIBSSH2_LICENSE = BSD
LIBSSH2_LICENSE_FILES = COPYING
diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host
index d04ccff858..68ec531f92 100644
--- a/package/linux-headers/Config.in.host
+++ b/package/linux-headers/Config.in.host
@@ -293,11 +293,11 @@ endchoice
config BR2_DEFAULT_KERNEL_HEADERS
string
- default "4.4.176" if BR2_KERNEL_HEADERS_4_4
- default "4.9.160" if BR2_KERNEL_HEADERS_4_9
- default "4.14.103" if BR2_KERNEL_HEADERS_4_14
- default "4.19.25" if BR2_KERNEL_HEADERS_4_19
- default "4.20.12" if BR2_KERNEL_HEADERS_4_20
+ default "4.4.177" if BR2_KERNEL_HEADERS_4_4
+ default "4.9.166" if BR2_KERNEL_HEADERS_4_9
+ default "4.14.109" if BR2_KERNEL_HEADERS_4_14
+ default "4.19.32" if BR2_KERNEL_HEADERS_4_19
+ default "4.20.17" if BR2_KERNEL_HEADERS_4_20
default "5.0.2" if BR2_KERNEL_HEADERS_5_0
default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
default "custom" if BR2_KERNEL_HEADERS_CUSTOM_TARBALL
diff --git a/package/log4cplus/log4cplus.mk b/package/log4cplus/log4cplus.mk
index 0bc4fc9aa6..82fc7135f4 100644
--- a/package/log4cplus/log4cplus.mk
+++ b/package/log4cplus/log4cplus.mk
@@ -11,6 +11,13 @@ LOG4CPLUS_LICENSE = Apache-2.0, BSD-2-Clause, BSD-like (threadpool)
LOG4CPLUS_LICENSE_FILES = LICENSE
LOG4CPLUS_INSTALL_STAGING = YES
+ifeq ($(BR2_PACKAGE_QT5BASE),y)
+LOG4CPLUS_DEPENDENCIES += host-pkgconf qt5base
+LOG4CPLUS_CONF_OPTS += --with-qt5
+else
+LOG4CPLUS_CONF_OPTS += --without-qt5
+endif
+
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
LOG4CPLUS_CONF_ENV += LIBS='-latomic'
endif
diff --git a/package/mariadb/mariadb.hash b/package/mariadb/mariadb.hash
index f68eb40224..db24f7bb9b 100644
--- a/package/mariadb/mariadb.hash
+++ b/package/mariadb/mariadb.hash
@@ -1,9 +1,9 @@
-# From https://downloads.mariadb.org/mariadb/10.3.11
-md5 e13ab133060886cda814d68ebd1dc27b mariadb-10.3.11.tar.gz
-sha1 7b75d7ec06642f26ce197e07f5ba16283061cc87 mariadb-10.3.11.tar.gz
-sha256 211655b794c9d5397ba3be6c90737eac02e882f296268299239db47ba328f1b2 mariadb-10.3.11.tar.gz
-sha512 1adc1f9bbabf848726c669a7a0ab01257ba31882758b53fbf3b1316f2295670dba1c3d1f3292d7c1a749c701504588694a55d020839e690595897b0e20435298 mariadb-10.3.11.tar.gz
+# From https://downloads.mariadb.org/mariadb/10.3.13
+md5 603ce42e35b9a688f2cca05275acb5cb mariadb-10.3.13.tar.gz
+sha1 08467885412184e99b835732913d445fd2c4b1b3 mariadb-10.3.13.tar.gz
+sha256 b2aa857ef5b84f85a7ea60a1eac7b34c0ca5151c71a0d44ce2d7fb028d71459a mariadb-10.3.13.tar.gz
+sha512 3cbd93291aa43b235e5b81d953ea69fb32df54fb518f922f69b5485952f01fae693c77b0efac37f414ed7ff132d3b58f899812bdb7be8a5b344c3640e2c3a0dd mariadb-10.3.13.tar.gz
# Hash for license files
-sha256 a298aaf95cb7e594d15b29ae6b5a9ee22a2be4344379fd29304df4e0f19f695a README.md
+sha256 43f4b5b13cecbbdb04a180cbf6c2bd64237819d1a32165b7d475c1b392e6a8d1 README.md
sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING
diff --git a/package/mariadb/mariadb.mk b/package/mariadb/mariadb.mk
index e17649209a..356dd29af3 100644
--- a/package/mariadb/mariadb.mk
+++ b/package/mariadb/mariadb.mk
@@ -4,7 +4,7 @@
#
################################################################################
-MARIADB_VERSION = 10.3.11
+MARIADB_VERSION = 10.3.13
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/mender/mender.service b/package/mender/mender.service
index 8b60a4f1aa..2a5f476ee5 100644
--- a/package/mender/mender.service
+++ b/package/mender/mender.service
@@ -12,7 +12,7 @@ if [ -L /var/lib/mender \
if rm -f /var/lib/mender >/dev/null 2>&1; then \
mkdir -p /var/lib/mender; \
else \
- echo "No persistent location to store mender data. Data will be lost\
+ echo "No persistent location to store mender data. Data will be lost" \
echo "at reboot. Are you sure this is what you want to do?"; \
mkdir -p "$(readlink /var/lib/mender)"; \
fi; \
diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index 5019f2683b..fdd64b0337 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -125,6 +125,7 @@ comment "R600 driver needs a uClibc or glibc toolchain when llvm is enabled"
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI
bool "Gallium Radeon SI driver"
+ depends on BR2_USE_MMU # libdrm
depends on BR2_i386 || BR2_x86_64
depends on BR2_PACKAGE_MESA3D_LLVM
depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils
@@ -141,6 +142,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI
# Radeon SI needs libelf
# musl is not currently compatible with elfutils
comment "Radeon SI driver needs a uClibc or glibc toolchain"
+ depends on BR2_USE_MMU
depends on BR2_PACKAGE_MESA3D_LLVM
depends on !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
diff --git a/package/mongodb/Config.in b/package/mongodb/Config.in
index 969b8e062f..7df502add6 100644
--- a/package/mongodb/Config.in
+++ b/package/mongodb/Config.in
@@ -3,11 +3,12 @@ config BR2_PACKAGE_MONGODB_ARCH_SUPPORTS
bool
# ARM needs LDREX/STREX, so ARMv6+
default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5
- default y if BR2_aarch64 || BR2_powerpc64 || BR2_x86_64
+ default y if BR2_aarch64 || BR2_x86_64
config BR2_PACKAGE_MONGODB
bool "mongodb"
depends on BR2_PACKAGE_MONGODB_ARCH_SUPPORTS
+ depends on !BR2_PACKAGE_PYTHON3
depends on BR2_TOOLCHAIN_USES_GLIBC # needs glibc malloc_usable_size
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
@@ -38,3 +39,4 @@ comment "mongodb needs a glibc toolchain w/ wchar, threads, C++, gcc >= 6"
!BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_USES_GLIBC || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_6
depends on BR2_PACKAGE_MONGODB_ARCH_SUPPORTS
+ depends on !BR2_PACKAGE_PYTHON3
diff --git a/package/mosquitto/mosquitto.hash b/package/mosquitto/mosquitto.hash
index 17a467a721..25b9910138 100644
--- a/package/mosquitto/mosquitto.hash
+++ b/package/mosquitto/mosquitto.hash
@@ -1,5 +1,5 @@
# Locally calculated after checking gpg signature
-sha256 d4024c3388502d50be4192991e90d66dfb344376104df3f63846c9f201779955 mosquitto-1.5.7.tar.gz
+sha256 78d7e70c3794dc3a1d484b4f2f8d3addebe9c2da3f5a1cebe557f7d13beb0da4 mosquitto-1.5.8.tar.gz
# License files
sha256 cc77e25bafd40637b7084f04086d606f0a200051b61806f97c93405926670bc1 LICENSE.txt
diff --git a/package/mosquitto/mosquitto.mk b/package/mosquitto/mosquitto.mk
index d17fae5df6..51c0abd0ba 100644
--- a/package/mosquitto/mosquitto.mk
+++ b/package/mosquitto/mosquitto.mk
@@ -4,7 +4,7 @@
#
################################################################################
-MOSQUITTO_VERSION = 1.5.7
+MOSQUITTO_VERSION = 1.5.8
MOSQUITTO_SITE = https://mosquitto.org/files/source
MOSQUITTO_LICENSE = EPL-1.0 or EDLv1.0
MOSQUITTO_LICENSE_FILES = LICENSE.txt epl-v10 edl-v10
diff --git a/package/musl/musl.mk b/package/musl/musl.mk
index 90c753926e..ff807c0cba 100644
--- a/package/musl/musl.mk
+++ b/package/musl/musl.mk
@@ -58,7 +58,7 @@ endef
define MUSL_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
DESTDIR=$(TARGET_DIR) install-libs
- $(RM) $(addprefix $(TARGET_DIR)/lib/,crt1.o crtn.o crti.o Scrt1.o)
+ $(RM) $(addprefix $(TARGET_DIR)/lib/,crt1.o crtn.o crti.o rcrt1.o Scrt1.o)
endef
$(eval $(generic-package))
diff --git a/package/nodejs/nodejs.hash b/package/nodejs/nodejs.hash
index 5a06e5328c..ad8ad4ad99 100644
--- a/package/nodejs/nodejs.hash
+++ b/package/nodejs/nodejs.hash
@@ -1,5 +1,5 @@
-# From https://nodejs.org/dist/v8.15.0/SHASUMS256.txt
-sha256 968523333947cc3f769d73dedc6c9c60580826d8714bc0e62ca4589de6a7c633 node-v8.15.0.tar.xz
+# From https://nodejs.org/dist/v8.15.1/SHASUMS256.txt
+sha256 6b6486a3f452624941f6e11dd5f878c298d43e9c21b5f43ca1721dc7ce25add1 node-v8.15.1.tar.xz
# Hash for license file
sha256 b87be6c1479ed977481115869c2dd8b6d59e5ea55aa09939d6c898242121b2f5 LICENSE
diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk
index 446cb77dbf..06d2eaad99 100644
--- a/package/nodejs/nodejs.mk
+++ b/package/nodejs/nodejs.mk
@@ -4,7 +4,7 @@
#
################################################################################
-NODEJS_VERSION = 8.15.0
+NODEJS_VERSION = 8.15.1
NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.xz
NODEJS_SITE = http://nodejs.org/dist/v$(NODEJS_VERSION)
NODEJS_DEPENDENCIES = host-python host-nodejs c-ares \
diff --git a/package/ntp/0003-fix-nommu.patch b/package/ntp/0003-fix-nommu.patch
deleted file mode 100644
index 0959fa0ba5..0000000000
--- a/package/ntp/0003-fix-nommu.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Fix no-MMU build
-
-The detach_from_terminal() is unused for no-MMU, but it depends on symbols
-that are not defined for no-MMU. Don't define detach_from_terminal() when
-HAVE_WORKING_FORK is not defined.
-
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
----
-Upstream status: http://bugs.ntp.org/show_bug.cgi?id=3538
-
-diff -Nuar ntp-4.2.8p12.orig/ntpd/ntpd.c ntp-4.2.8p12/ntpd/ntpd.c
---- ntp-4.2.8p12.orig/ntpd/ntpd.c 2018-08-14 14:51:30.000000000 +0300
-+++ ntp-4.2.8p12/ntpd/ntpd.c 2018-10-13 21:25:25.858261249 +0300
-@@ -534,6 +534,7 @@
- * Detach from terminal (much like daemon())
- * Nothe that this function calls exit()
- */
-+# ifdef HAVE_WORKING_FORK
- static void
- detach_from_terminal(
- int pipe_fds[2],
-@@ -617,6 +618,7 @@
-
- return;
- }
-+# endif /* HAVE_WORKING_FORK */
-
- #ifdef HAVE_DROPROOT
- /*
diff --git a/package/ntp/0004-fix-work-fork-without-droproot.patch b/package/ntp/0004-fix-work-fork-without-droproot.patch
deleted file mode 100644
index cb6fec0125..0000000000
--- a/package/ntp/0004-fix-work-fork-without-droproot.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Fix work_fork build when droproot is disabled
-
-The set_user_group_ids() depends on HAVE_DROPROOT. When HAVE_DROPROOT is not
-enabled, work_fork.c code causes a link failure:
-
-../libntp/libntp.a(work_fork.o): In function `send_blocking_req_internal':
-work_fork.c:(.text+0x498): undefined reference to `set_user_group_ids'
-
-Make the set_user_group_ids() call depend on HAVE_DROPROOT.
-
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
----
-Upstream status: http://bugs.ntp.org/show_bug.cgi?id=3539
-
---- ntp-4.2.8p12.orig/libntp/work_fork.c 2018-08-14 14:51:06.000000000 +0300
-+++ ntp-4.2.8p12/libntp/work_fork.c 2018-10-15 21:10:54.580917962 +0300
-@@ -594,7 +594,9 @@
- init_logging("ntp_intres", 0, FALSE);
- setup_logfile(NULL);
-
-+#if defined(HAVE_DROPROOT)
- (void) set_user_group_ids();
-+#endif
-
- /*
- * And now back to the portable code
diff --git a/package/ntp/ntp.hash b/package/ntp/ntp.hash
index 2fd8a8322b..4014936e61 100644
--- a/package/ntp/ntp.hash
+++ b/package/ntp/ntp.hash
@@ -1,5 +1,5 @@
-# From https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p12.tar.gz.md5
-md5 1522d66574bae14abb2622746dad2bdc ntp-4.2.8p12.tar.gz
+# From https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p13.tar.gz.md5
+md5 ea040ab9b4ca656b5229b89d6b822f13 ntp-4.2.8p13.tar.gz
# Calculated based on the hash above
-sha256 709b222b5013d77d26bfff532b5ea470a8039497ef29d09363931c036cb30454 ntp-4.2.8p12.tar.gz
-sha256 62c87b269365b38b55359b16dfde7ec28c683c722ef489db90afd0f2e478e4a1 COPYRIGHT
+sha256 288772cecfcd9a53694ffab108d1825a31ba77f3a8466b0401baeca3bc232a38 ntp-4.2.8p13.tar.gz
+sha256 3828da5fc8126889d6a64432288ace08526c490bf5427d799931689069968d91 COPYRIGHT
diff --git a/package/ntp/ntp.mk b/package/ntp/ntp.mk
index c62d59e81a..d53fcc5d0b 100644
--- a/package/ntp/ntp.mk
+++ b/package/ntp/ntp.mk
@@ -5,7 +5,7 @@
################################################################################
NTP_VERSION_MAJOR = 4.2
-NTP_VERSION = $(NTP_VERSION_MAJOR).8p12
+NTP_VERSION = $(NTP_VERSION_MAJOR).8p13
NTP_SITE = https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-$(NTP_VERSION_MAJOR)
NTP_DEPENDENCIES = host-pkgconf libevent
NTP_LICENSE = NTP
diff --git a/package/openjpeg/0004-install-static-lib.patch b/package/openjpeg/0004-install-static-lib.patch
deleted file mode 100644
index 4a3bbfa28a..0000000000
--- a/package/openjpeg/0004-install-static-lib.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 66297f07a43d2770a97c8456d20202f3d051d980 Mon Sep 17 00:00:00 2001
-From: Even Rouault <even.rouault@spatialys.com>
-Date: Mon, 9 Oct 2017 11:40:43 +0200
-Subject: [PATCH] Unix build: fix regression of 2.3.0 where a shared-only or
- static-only build lacks the installation target for the library (#1019, fixes
- regression introduced by 3dfc6ca2bcf06fd1adb6b6b4cecc6c092f08ba0b)
-
-Downloaded from upstream commit
-https://github.com/uclouvain/openjpeg/commit/66297f07a43d2770a97c8456d20202f3d051d980
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- src/lib/openjp2/CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/lib/openjp2/CMakeLists.txt b/src/lib/openjp2/CMakeLists.txt
-index 0b4520384..f8990ccf0 100644
---- a/src/lib/openjp2/CMakeLists.txt
-+++ b/src/lib/openjp2/CMakeLists.txt
-@@ -99,6 +99,7 @@ else()
- set(INSTALL_LIBS ${OPENJPEG_LIBRARY_NAME} openjp2_static)
- else()
- add_library(${OPENJPEG_LIBRARY_NAME} ${OPENJPEG_SRCS})
-+ set(INSTALL_LIBS ${OPENJPEG_LIBRARY_NAME})
- endif()
- endif()
-
diff --git a/package/openjpeg/openjpeg.hash b/package/openjpeg/openjpeg.hash
index dd3cf26cf0..8a6fda48c4 100644
--- a/package/openjpeg/openjpeg.hash
+++ b/package/openjpeg/openjpeg.hash
@@ -1,2 +1,3 @@
# Locally computed:
-sha256 3dc787c1bb6023ba846c2a0d9b1f6e179f1cd255172bde9eb75b01f1e6c7d71a openjpeg-2.3.0.tar.gz
+sha256 3389a1aa908c2b577863da213db3a170df3edbb1432e99ae5fd3f2ac721d69d3 openjpeg-51f097e6d5754ddae93e716276fe8176b44ec548.tar.gz
+sha256 a6af136f3e15038a666b61f376612a07d9a4e48cb7c01adbf3e33b3f14ab49b6 LICENSE
diff --git a/package/openjpeg/openjpeg.mk b/package/openjpeg/openjpeg.mk
index 9a8fdab7a4..6036ab95a3 100644
--- a/package/openjpeg/openjpeg.mk
+++ b/package/openjpeg/openjpeg.mk
@@ -4,8 +4,8 @@
#
################################################################################
-OPENJPEG_VERSION = 2.3.0
-OPENJPEG_SITE = $(call github,uclouvain,openjpeg,v$(OPENJPEG_VERSION))
+OPENJPEG_VERSION = 51f097e6d5754ddae93e716276fe8176b44ec548
+OPENJPEG_SITE = $(call github,uclouvain,openjpeg,$(OPENJPEG_VERSION))
OPENJPEG_LICENSE = BSD-2-Clause
OPENJPEG_LICENSE_FILES = LICENSE
OPENJPEG_INSTALL_STAGING = YES
diff --git a/package/owfs/0001-configure.ac-check-for-localtime_r.patch b/package/owfs/0001-configure.ac-check-for-localtime_r.patch
deleted file mode 100644
index b25aa59878..0000000000
--- a/package/owfs/0001-configure.ac-check-for-localtime_r.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 75e92438bcdb78a90912366b07bf503646806686 Mon Sep 17 00:00:00 2001
-From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be>
-Date: Sun, 21 Feb 2016 17:02:06 +0100
-Subject: [PATCH] configure.ac: check for localtime_r
-
-HAVE_LOCALTIME_R is used in owftp.c, so it should be checked for.
-
-Without this, static build fails because localtime_r is defined twice.
-
-Upstream-Status: Submitted
-https://sourceforge.net/p/owfs/mailman/message/34873667/
-
-Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
-[Bernd: rebased against version 3.2p1]
-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 c22dde9..12fdd18 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1646,7 +1646,7 @@
- AC_FUNC_STRFTIME
- AC_FUNC_STRTOD
- AC_TYPE_SIGNAL
--AC_CHECK_FUNCS([accept daemon getaddrinfo freeaddrinfo gethostbyname2_r gethostbyaddr_r gethostbyname_r getservbyname_r getopt getopt_long gmtime_r gettimeofday localtime_r inet_ntop inet_pton memchr memset select socket strcasecmp strchr strdup strncasecmp strtol strtoul twalk tsearch tfind tdelete tdestroy vasprintf strsep vsprintf vsnprintf writev getline])
-+AC_CHECK_FUNCS([accept daemon getaddrinfo freeaddrinfo gethostbyname2_r gethostbyaddr_r gethostbyname_r getservbyname_r getopt getopt_long gmtime_r gettimeofday localtime_r inet_ntop inet_pton memchr memset select socket strcasecmp strchr strdup strncasecmp strtol strtoul twalk tsearch tfind tdelete tdestroy vasprintf strsep vsprintf vsnprintf writev getline localtime_r])
-
- save_LIBS="$LIBS"
- LIBS=""
---
-2.7.0
-
diff --git a/package/owfs/0002-include-sys-sysmacros.h-for-major.patch b/package/owfs/0001-include-sys-sysmacros.h-for-major.patch
index dadf0276cd..dadf0276cd 100644
--- a/package/owfs/0002-include-sys-sysmacros.h-for-major.patch
+++ b/package/owfs/0001-include-sys-sysmacros.h-for-major.patch
diff --git a/package/owfs/owfs.mk b/package/owfs/owfs.mk
index e120147151..cd1c2dba6d 100644
--- a/package/owfs/owfs.mk
+++ b/package/owfs/owfs.mk
@@ -9,7 +9,7 @@ OWFS_SITE = http://downloads.sourceforge.net/project/owfs/owfs/$(OWFS_VERSION)
OWFS_DEPENDENCIES = host-pkgconf
OWFS_CONF_OPTS = --disable-owperl --without-perl5 --disable-owtcl --without-tcl
-# 0001-configure.ac-check-for-localtime_r.patch touches configure.ac
+# We're patching configure.ac
OWFS_AUTORECONF = YES
# owtcl license is declared in module/ownet/c/src/include/ow_functions.h
@@ -42,6 +42,20 @@ else
OWFS_CONF_OPTS += --disable-owfs
endif
+ifeq ($(BR2_PACKAGE_LIBFTDI1),y)
+OWFS_CONF_OPTS += \
+ --enable-ftdi \
+ --with-libftdi-config=$(STAGING_DIR)/usr/bin/libftdi1-config
+OWFS_DEPENDENCIES += libftdi1
+else ifeq ($(BR2_PACKAGE_LIBFTDI),y)
+OWFS_CONF_OPTS += \
+ --enable-ftdi \
+ --with-libftdi-config=$(STAGING_DIR)/usr/bin/libftdi-config
+OWFS_DEPENDENCIES += libftdi
+else
+OWFS_CONF_OPTS += --disable-ftdi
+endif
+
ifeq ($(BR2_PACKAGE_LIBUSB),y)
OWFS_CONF_OPTS += --enable-usb
OWFS_DEPENDENCIES += libusb
diff --git a/package/php/0005-Call-apxs-with-correct-prefix.patch b/package/php/0004-Call-apxs-with-correct-prefix.patch
index 60589b54fe..60589b54fe 100644
--- a/package/php/0005-Call-apxs-with-correct-prefix.patch
+++ b/package/php/0004-Call-apxs-with-correct-prefix.patch
diff --git a/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch b/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch
deleted file mode 100644
index 5c3814f619..0000000000
--- a/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From bedbd41ef0a5ce80b83a6f6eaebd7c90f0bc5615 Mon Sep 17 00:00:00 2001
-From: Gustavo Zacarias <gustavo@zacarias.com.ar>
-Date: Tue, 9 Aug 2016 11:52:19 +0200
-Subject: [PATCH] OPcache: flock mechanism is obviously linux so force it.
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-[Bernd: update for 7.2.12 & 7.3.2]
-Signed-off-by: Adam Duskett <aduskett@gmail.com>
-[aduskett@gmail.com: Update for 7.3.0]
----
- ext/opcache/config.m4 | 34 ++--------------------------------
- 1 file changed, 2 insertions(+), 32 deletions(-)
-
-diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4
-index fbb9b21..ffddc8e 100644
---- a/ext/opcache/config.m4
-+++ b/ext/opcache/config.m4
-@@ -334,58 +334,8 @@ int main() {
- msg=yes],[msg=no],[msg=no])
- AC_MSG_RESULT([$msg])
-
--flock_type=unknown
--AC_MSG_CHECKING(for struct flock layout)
--
--if test "$flock_type" = "unknown"; then
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
-- #include <fcntl.h>
-- struct flock lock = { 1, 2, 3, 4, 5, 6, 7 };
-- int main() {
-- if(lock.l_type == 1 && lock.l_whence == 2 && lock.l_start == 6 && lock.l_len== 7) {
-- return 0;
-- }
-- return 1;
-- }
--]])], [
-- flock_type=aix64
-- AC_DEFINE([HAVE_FLOCK_AIX64], [], [Struct flock is 64-bit AIX-type])
--], [])
--fi
--
--if test "$flock_type" = "unknown"; then
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
-- #include <fcntl.h>
-- struct flock lock = { 1, 2, 3, 4, 5 };
-- int main() {
-- if(lock.l_type == 1 && lock.l_whence == 2 && lock.l_start == 3 && lock.l_len == 4) {
-- return 0;
-- }
-- return 1;
-- }
--]])], [
-- flock_type=linux
-- AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type])
--], [])
--fi
--
--if test "$flock_type" = "unknown"; then
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
-- #include <fcntl.h>
-- struct flock lock = { 1, 2, 3, 4, 5 };
-- int main() {
-- if(lock.l_start == 1 && lock.l_len == 2 && lock.l_type == 4 && lock.l_whence == 5) {
-- return 0;
-- }
-- return 1;
-- }
--]])], [
-- flock_type=bsd
-- AC_DEFINE([HAVE_FLOCK_BSD], [], [Struct flock is BSD-type])
--], [])
--fi
--
--AC_MSG_RESULT([$flock_type])
-+flock_type=linux
-+AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type])
-
- if test "$flock_type" = "unknown"; then
- AC_MSG_ERROR([Don't know how to define struct flock on this system[,] set --enable-opcache=no])
---
-2.7.4
-
diff --git a/package/php/php.hash b/package/php/php.hash
index 5d74a28bc7..8a9814d10e 100644
--- a/package/php/php.hash
+++ b/package/php/php.hash
@@ -1,5 +1,5 @@
# From http://php.net/downloads.php
-sha256 010b868b4456644ae227d05ad236c8b0a1f57dc6320e7e5ad75e86c5baf0a9a8 php-7.3.2.tar.xz
+sha256 6bb03e79a183d0cb059a6d117bbb2e0679cab667fb713a13c6a16f56bebab9b3 php-7.3.3.tar.xz
# License file
sha256 f689b8fa63bea7950ce6a21bf52ed88ea0d77673ee76e6de12f51191174d91b8 LICENSE
diff --git a/package/php/php.mk b/package/php/php.mk
index 061b2f2609..ea6deca7c1 100644
--- a/package/php/php.mk
+++ b/package/php/php.mk
@@ -4,7 +4,7 @@
#
################################################################################
-PHP_VERSION = 7.3.2
+PHP_VERSION = 7.3.3
PHP_SITE = http://www.php.net/distributions
PHP_SOURCE = php-$(PHP_VERSION).tar.xz
PHP_INSTALL_STAGING = YES
diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 3a99df13d4..85c0162c93 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -294,7 +294,8 @@ $(BUILD_DIR)/%/.stamp_staging_installed:
$(addprefix $(STAGING_DIR)/usr/bin/,$($(PKG)_CONFIG_SCRIPTS)) ;\
fi
@$(call MESSAGE,"Fixing libtool files")
- $(Q)find $(STAGING_DIR)/usr/lib* -name "*.la" | xargs --no-run-if-empty \
+ for la in $$(find $(STAGING_DIR)/usr/lib* -name "*.la"); do \
+ cp -a "$${la}" "$${la}.fixed" && \
$(SED) "s:$(BASE_DIR):@BASE_DIR@:g" \
-e "s:$(STAGING_DIR):@STAGING_DIR@:g" \
$(if $(TOOLCHAIN_EXTERNAL_INSTALL_DIR),\
@@ -303,7 +304,14 @@ $(BUILD_DIR)/%/.stamp_staging_installed:
$(if $(TOOLCHAIN_EXTERNAL_INSTALL_DIR),\
-e "s:@TOOLCHAIN_EXTERNAL_INSTALL_DIR@:$(TOOLCHAIN_EXTERNAL_INSTALL_DIR):g") \
-e "s:@STAGING_DIR@:$(STAGING_DIR):g" \
- -e "s:@BASE_DIR@:$(BASE_DIR):g"
+ -e "s:@BASE_DIR@:$(BASE_DIR):g" \
+ "$${la}.fixed" && \
+ if cmp -s "$${la}" "$${la}.fixed"; then \
+ rm -f "$${la}.fixed"; \
+ else \
+ mv "$${la}.fixed" "$${la}"; \
+ fi || exit 1; \
+ done
@$(call step_end,install-staging)
$(Q)touch $@
diff --git a/package/pure-ftpd/pure-ftpd.mk b/package/pure-ftpd/pure-ftpd.mk
index ae3ca9d1f0..7012268874 100644
--- a/package/pure-ftpd/pure-ftpd.mk
+++ b/package/pure-ftpd/pure-ftpd.mk
@@ -31,6 +31,13 @@ ifeq ($(BR2_PACKAGE_LIBSODIUM),y)
PURE_FTPD_DEPENDENCIES += libsodium
endif
+ifeq ($(BR2_PACKAGE_OPENLDAP),y)
+PURE_FTPD_CONF_OPTS += --with-ldap
+PURE_FTPD_DEPENDENCIES += openldap
+else
+PURE_FTPD_CONF_OPTS += --without-ldap
+endif
+
ifeq ($(BR2_PACKAGE_OPENSSL),y)
PURE_FTPD_CONF_OPTS += --with-tls
PURE_FTPD_DEPENDENCIES += openssl
diff --git a/package/putty/0001-Fix-compilation-with-NO_GSSAPI.patch b/package/putty/0001-Fix-compilation-with-NO_GSSAPI.patch
new file mode 100644
index 0000000000..56a29e19dc
--- /dev/null
+++ b/package/putty/0001-Fix-compilation-with-NO_GSSAPI.patch
@@ -0,0 +1,266 @@
+From 7ad08649a223a4cd61e67d8334a147f55c79399d Mon Sep 17 00:00:00 2001
+From: Jacob Nevins <jacobn@chiark.greenend.org.uk>
+Date: Mon, 25 Mar 2019 23:46:59 +0000
+Subject: [PATCH] Fix compilation with NO_GSSAPI.
+
+This is a fairly shallow patch, which removes the UI and interactions
+with external libraries. Some other machinery (which is dead code in
+this configuration) is left in place.
+
+Adapted by me from a patch by Jeroen Roovers.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+Upstream status: commit 7ad08649a22
+
+ config.c | 4 ++++
+ settings.c | 12 ++++++++++--
+ ssh.c | 16 +++++++++++++++-
+ ssh2transport.c | 3 +--
+ ssh2userauth.c | 8 ++++++--
+ sshserver.c | 13 ++++++++++++-
+ 6 files changed, 48 insertions(+), 8 deletions(-)
+
+diff --git a/config.c b/config.c
+index 9c299feecc21..6528a9696584 100644
+--- a/config.c
++++ b/config.c
+@@ -2442,10 +2442,12 @@ void setup_config_box(struct controlbox *b, bool midsession,
+ HELPCTX(ssh_kexlist),
+ kexlist_handler, P(NULL));
+ c->listbox.height = KEX_MAX;
++#ifndef NO_GSSAPI
+ ctrl_checkbox(s, "Attempt GSSAPI key exchange",
+ 'k', HELPCTX(ssh_gssapi),
+ conf_checkbox_handler,
+ I(CONF_try_gssapi_kex));
++#endif
+
+ s = ctrl_getset(b, "Connection/SSH/Kex", "repeat",
+ "Options controlling key re-exchange");
+@@ -2455,11 +2457,13 @@ void setup_config_box(struct controlbox *b, bool midsession,
+ conf_editbox_handler,
+ I(CONF_ssh_rekey_time),
+ I(-1));
++#ifndef NO_GSSAPI
+ ctrl_editbox(s, "Minutes between GSS checks (0 for never)", NO_SHORTCUT, 20,
+ HELPCTX(ssh_kex_repeat),
+ conf_editbox_handler,
+ I(CONF_gssapirekey),
+ I(-1));
++#endif
+ ctrl_editbox(s, "Max data before rekey (0 for no limit)", 'x', 20,
+ HELPCTX(ssh_kex_repeat),
+ conf_editbox_handler,
+diff --git a/settings.c b/settings.c
+index 8d56302677d9..54f5ab7b2919 100644
+--- a/settings.c
++++ b/settings.c
+@@ -592,21 +592,25 @@ void save_open_settings(settings_w *sesskey, Conf *conf)
+ write_setting_b(sesskey, "Compression", conf_get_bool(conf, CONF_compression));
+ write_setting_b(sesskey, "TryAgent", conf_get_bool(conf, CONF_tryagent));
+ write_setting_b(sesskey, "AgentFwd", conf_get_bool(conf, CONF_agentfwd));
++#ifndef NO_GSSAPI
+ write_setting_b(sesskey, "GssapiFwd", conf_get_bool(conf, CONF_gssapifwd));
++#endif
+ write_setting_b(sesskey, "ChangeUsername", conf_get_bool(conf, CONF_change_username));
+ wprefs(sesskey, "Cipher", ciphernames, CIPHER_MAX, conf, CONF_ssh_cipherlist);
+ wprefs(sesskey, "KEX", kexnames, KEX_MAX, conf, CONF_ssh_kexlist);
+ wprefs(sesskey, "HostKey", hknames, HK_MAX, conf, CONF_ssh_hklist);
+ write_setting_i(sesskey, "RekeyTime", conf_get_int(conf, CONF_ssh_rekey_time));
++#ifndef NO_GSSAPI
+ write_setting_i(sesskey, "GssapiRekey", conf_get_int(conf, CONF_gssapirekey));
++#endif
+ write_setting_s(sesskey, "RekeyBytes", conf_get_str(conf, CONF_ssh_rekey_data));
+ write_setting_b(sesskey, "SshNoAuth", conf_get_bool(conf, CONF_ssh_no_userauth));
+ write_setting_b(sesskey, "SshBanner", conf_get_bool(conf, CONF_ssh_show_banner));
+ write_setting_b(sesskey, "AuthTIS", conf_get_bool(conf, CONF_try_tis_auth));
+ write_setting_b(sesskey, "AuthKI", conf_get_bool(conf, CONF_try_ki_auth));
++#ifndef NO_GSSAPI
+ write_setting_b(sesskey, "AuthGSSAPI", conf_get_bool(conf, CONF_try_gssapi_auth));
+ write_setting_b(sesskey, "AuthGSSAPIKEX", conf_get_bool(conf, CONF_try_gssapi_kex));
+-#ifndef NO_GSSAPI
+ wprefs(sesskey, "GSSLibs", gsslibkeywords, ngsslibs, conf, CONF_ssh_gsslist);
+ write_setting_filename(sesskey, "GSSCustom", conf_get_filename(conf, CONF_ssh_gss_custom));
+ #endif
+@@ -937,7 +941,9 @@ void load_open_settings(settings_r *sesskey, Conf *conf)
+ gppb(sesskey, "TryAgent", true, conf, CONF_tryagent);
+ gppb(sesskey, "AgentFwd", false, conf, CONF_agentfwd);
+ gppb(sesskey, "ChangeUsername", false, conf, CONF_change_username);
++#ifndef NO_GSSAPI
+ gppb(sesskey, "GssapiFwd", false, conf, CONF_gssapifwd);
++#endif
+ gprefs(sesskey, "Cipher", "\0",
+ ciphernames, CIPHER_MAX, conf, CONF_ssh_cipherlist);
+ {
+@@ -990,7 +996,9 @@ void load_open_settings(settings_r *sesskey, Conf *conf)
+ gprefs(sesskey, "HostKey", "ed25519,ecdsa,rsa,dsa,WARN",
+ hknames, HK_MAX, conf, CONF_ssh_hklist);
+ gppi(sesskey, "RekeyTime", 60, conf, CONF_ssh_rekey_time);
++#ifndef NO_GSSAPI
+ gppi(sesskey, "GssapiRekey", GSS_DEF_REKEY_MINS, conf, CONF_gssapirekey);
++#endif
+ gpps(sesskey, "RekeyBytes", "1G", conf, CONF_ssh_rekey_data);
+ {
+ /* SSH-2 only by default */
+@@ -1007,9 +1015,9 @@ void load_open_settings(settings_r *sesskey, Conf *conf)
+ gppb(sesskey, "SshBanner", true, conf, CONF_ssh_show_banner);
+ gppb(sesskey, "AuthTIS", false, conf, CONF_try_tis_auth);
+ gppb(sesskey, "AuthKI", true, conf, CONF_try_ki_auth);
++#ifndef NO_GSSAPI
+ gppb(sesskey, "AuthGSSAPI", true, conf, CONF_try_gssapi_auth);
+ gppb(sesskey, "AuthGSSAPIKEX", true, conf, CONF_try_gssapi_kex);
+-#ifndef NO_GSSAPI
+ gprefs(sesskey, "GSSLibs", "\0",
+ gsslibkeywords, ngsslibs, conf, CONF_ssh_gsslist);
+ gppfile(sesskey, "GSSCustom", conf, CONF_ssh_gss_custom);
+diff --git a/ssh.c b/ssh.c
+index e35ebc64e2b5..e8ad61b8085d 100644
+--- a/ssh.c
++++ b/ssh.c
+@@ -50,7 +50,9 @@ struct Ssh {
+ ssh_sharing_state *connshare;
+ bool attempting_connshare;
+
++#ifndef NO_GSSAPI
+ struct ssh_connection_shared_gss_state gss_state;
++#endif
+
+ char *savedhost;
+ int savedport;
+@@ -252,10 +254,18 @@ static void ssh_got_ssh_version(struct ssh_version_receiver *rcv,
+ conf_get_bool(ssh->conf, CONF_tryagent), username,
+ conf_get_bool(ssh->conf, CONF_change_username),
+ conf_get_bool(ssh->conf, CONF_try_ki_auth),
++#ifndef NO_GSSAPI
+ conf_get_bool(ssh->conf, CONF_try_gssapi_auth),
+ conf_get_bool(ssh->conf, CONF_try_gssapi_kex),
+ conf_get_bool(ssh->conf, CONF_gssapifwd),
+- &ssh->gss_state);
++ &ssh->gss_state
++#else
++ false,
++ false,
++ false,
++ NULL
++#endif
++ );
+ ssh_connect_ppl(ssh, userauth_layer);
+ transport_child_layer = userauth_layer;
+
+@@ -267,7 +277,11 @@ static void ssh_got_ssh_version(struct ssh_version_receiver *rcv,
+ ssh->fullhostname,
+ ssh_verstring_get_local(old_bpp),
+ ssh_verstring_get_remote(old_bpp),
++#ifndef NO_GSSAPI
+ &ssh->gss_state,
++#else
++ NULL,
++#endif
+ &ssh->stats, transport_child_layer, false);
+ ssh_connect_ppl(ssh, ssh->base_layer);
+
+diff --git a/ssh2transport.c b/ssh2transport.c
+index 8640d89d4be4..5e8955a0275f 100644
+--- a/ssh2transport.c
++++ b/ssh2transport.c
+@@ -1781,6 +1781,7 @@ static void ssh2_transport_gss_update(struct ssh2_transport_state *s,
+ if (mins > 0 && s->gss_ctxt_lifetime <= mins * 60)
+ s->gss_status |= GSS_CTXT_EXPIRES;
+ }
++#endif /* NO_GSSAPI */
+
+ ptrlen ssh2_transport_get_session_id(PacketProtocolLayer *ppl)
+ {
+@@ -1805,8 +1806,6 @@ void ssh2_transport_notify_auth_done(PacketProtocolLayer *ppl)
+ queue_idempotent_callback(&s->ppl.ic_process_queue);
+ }
+
+-#endif /* NO_GSSAPI */
+-
+ static bool ssh2_transport_get_specials(
+ PacketProtocolLayer *ppl, add_special_fn_t add_special, void *ctx)
+ {
+diff --git a/ssh2userauth.c b/ssh2userauth.c
+index fc4139230557..7f5a129295ab 100644
+--- a/ssh2userauth.c
++++ b/ssh2userauth.c
+@@ -613,8 +613,10 @@ static void ssh2_userauth_process_queue(PacketProtocolLayer *ppl)
+ * Scan it for method identifiers we know about.
+ */
+ bool srv_pubkey = false, srv_passwd = false;
+- bool srv_keyb_inter = false, srv_gssapi = false;
+- bool srv_gssapi_keyex_auth = false;
++ bool srv_keyb_inter = false;
++#ifndef NO_GSSAPI
++ bool srv_gssapi = false, srv_gssapi_keyex_auth = false;
++#endif
+
+ for (ptrlen method; get_commasep_word(&methods, &method) ;) {
+ if (ptrlen_eq_string(method, "publickey"))
+@@ -623,10 +625,12 @@ static void ssh2_userauth_process_queue(PacketProtocolLayer *ppl)
+ srv_passwd = true;
+ else if (ptrlen_eq_string(method, "keyboard-interactive"))
+ srv_keyb_inter = true;
++#ifndef NO_GSSAPI
+ else if (ptrlen_eq_string(method, "gssapi-with-mic"))
+ srv_gssapi = true;
+ else if (ptrlen_eq_string(method, "gssapi-keyex"))
+ srv_gssapi_keyex_auth = true;
++#endif
+ }
+
+ /*
+diff --git a/sshserver.c b/sshserver.c
+index 5f6e7ddeeaec..5c34bb356757 100644
+--- a/sshserver.c
++++ b/sshserver.c
+@@ -50,7 +50,9 @@ struct server {
+ PacketProtocolLayer *base_layer;
+ ConnectionLayer *cl;
+
++#ifndef NO_GSSAPI
+ struct ssh_connection_shared_gss_state gss_state;
++#endif
+ };
+
+ static void ssh_server_free_callback(void *vsrv);
+@@ -245,9 +247,11 @@ Plug *ssh_server_plug(
+ bufchain_init(&srv->out_raw);
+ bufchain_init(&srv->dummy_user_input);
+
++#ifndef NO_GSSAPI
+ /* FIXME: replace with sensible */
+ srv->gss_state.libs = snew(struct ssh_gss_liblist);
+ srv->gss_state.libs->nlibraries = 0;
++#endif
+
+ return &srv->plug;
+ }
+@@ -297,7 +301,9 @@ static void ssh_server_free_callback(void *vsrv)
+ conf_free(srv->conf);
+ log_free(srv->logctx);
+
++#ifndef NO_GSSAPI
+ sfree(srv->gss_state.libs); /* FIXME: replace with sensible */
++#endif
+
+ sfree(srv);
+
+@@ -442,7 +448,12 @@ static void server_got_ssh_version(struct ssh_version_receiver *rcv,
+ srv->conf, NULL, 0, NULL,
+ ssh_verstring_get_remote(old_bpp),
+ ssh_verstring_get_local(old_bpp),
+- &srv->gss_state, &srv->stats, transport_child_layer, true);
++#ifndef NO_GSSAPI
++ &srv->gss_state,
++#else
++ NULL,
++#endif
++ &srv->stats, transport_child_layer, true);
+ ssh2_transport_provide_hostkeys(
+ srv->base_layer, srv->hostkeys, srv->nhostkeys);
+ if (userauth_layer)
+--
+2.20.1
+
diff --git a/package/putty/0002-unix-uxpoll-need-_XOPEN_SOURCE.patch b/package/putty/0002-unix-uxpoll-need-_XOPEN_SOURCE.patch
new file mode 100644
index 0000000000..fb4b6c26e5
--- /dev/null
+++ b/package/putty/0002-unix-uxpoll-need-_XOPEN_SOURCE.patch
@@ -0,0 +1,39 @@
+From c1b9d07d39e33e40d2ad04be176367cf48271cfd Mon Sep 17 00:00:00 2001
+From: Baruch Siach <baruch@tkos.co.il>
+Date: Tue, 26 Mar 2019 20:00:45 +0200
+Subject: [PATCH] unix/uxpoll: need _XOPEN_SOURCE
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The code needs _XOPEN_SOURCE for some poll() flags.
+
+Fix this build failure with uClibc:
+
+./../unix/uxpoll.c: In function ‘pollwrap_add_fd_rwx’:
+./../unix/uxpoll.c:75:32: error: ‘POLLRDNORM’ undeclared (first use in this function); did you mean ‘POLLNVAL’?
+ #define SELECT_R_IN (POLLIN | POLLRDNORM | POLLRDBAND)
+ ^
+./../unix/uxpoll.c:87:19: note: in expansion of macro ‘SELECT_R_IN’
+ events |= SELECT_R_IN;
+ ^~~~~~~~~~~
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+Upstream status: issue reported to upstream developers
+
+ unix/uxpoll.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/unix/uxpoll.c b/unix/uxpoll.c
+index bbc5490d125d..6fe6ac7ba0c1 100644
+--- a/unix/uxpoll.c
++++ b/unix/uxpoll.c
+@@ -1,3 +1,4 @@
++#define _XOPEN_SOURCE
+ #include <poll.h>
+
+ #include "putty.h"
+--
+2.20.1
+
diff --git a/package/putty/0003-Fix-uClibc-build-issues.patch b/package/putty/0003-Fix-uClibc-build-issues.patch
new file mode 100644
index 0000000000..ceefded976
--- /dev/null
+++ b/package/putty/0003-Fix-uClibc-build-issues.patch
@@ -0,0 +1,93 @@
+From 0554cfbb926a2ba26efda08865b270af8536e0bb Mon Sep 17 00:00:00 2001
+From: Simon Tatham <anakin@pobox.com>
+Date: Tue, 26 Mar 2019 20:03:09 +0200
+Subject: [PATCH] Fix uClibc build issues
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fix two uClibc build failures.
+
+Missing sys/auxv.h header:
+
+./../unix/uxutils.c:5:10: fatal error: sys/auxv.h: No such file or directory
+ #include <sys/auxv.h>
+ ^~~~~~~~~~~~
+
+Missing futimes() implementation:
+
+./../unix/uxsftpserver.c: In function ‘uss_fsetstat’:
+./../unix/uxsftpserver.c:441:25: warning: implicit declaration of function ‘futimes’; did you mean ‘lutimes’? [-Wimplicit-function-declaration]
+ #define FD_PREFIX(func) f ## func
+ ^
+./../unix/uxsftpserver.c:435:17: note: in expansion of macro ‘FD_PREFIX’
+ if (api_prefix(utimes)(api_arg, tv) < 0) \
+ ^~~~~~~~~~
+./../unix/uxsftpserver.c:470:5: note: in expansion of macro ‘SETSTAT_GUTS’
+ SETSTAT_GUTS(FD_PREFIX, fd, attrs, success);
+ ^~~~~~~~~~~~
+
+unix/uxsftpserver.o: In function `uss_fsetstat':
+uxsftpserver.c:(.text+0x1058): undefined reference to `futimes'
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+Upstream status: patch suggested by upstream developer Simon Tatham
+
+ configure.ac | 3 ++-
+ unix/uxsftpserver.c | 10 ++++++++++
+ unix/uxutils.c | 3 ++-
+ 3 files changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 35552ed24dbe..1949ef62f219 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -173,8 +173,9 @@ AC_CHECK_LIB(X11, XOpenDisplay,
+ [GTK_LIBS="-lX11 $GTK_LIBS"
+ AC_DEFINE([HAVE_LIBX11],[],[Define if libX11.a is available])])
+
+-AC_CHECK_FUNCS([getaddrinfo posix_openpt ptsname setresuid strsignal updwtmpx fstatat dirfd])
++AC_CHECK_FUNCS([getaddrinfo posix_openpt ptsname setresuid strsignal updwtmpx fstatat dirfd futimes])
+ AC_CHECK_DECLS([CLOCK_MONOTONIC], [], [], [[#include <time.h>]])
++AC_CHECK_HEADERS([sys/auxv.h asm/hwcap.h])
+ AC_SEARCH_LIBS([clock_gettime], [rt], [AC_DEFINE([HAVE_CLOCK_GETTIME],[],[Define if clock_gettime() is available])])
+
+ AC_CACHE_CHECK([for SO_PEERCRED and dependencies], [x_cv_linux_so_peercred], [
+diff --git a/unix/uxsftpserver.c b/unix/uxsftpserver.c
+index 6fab0ba090d6..a90344e04219 100644
+--- a/unix/uxsftpserver.c
++++ b/unix/uxsftpserver.c
+@@ -412,6 +412,16 @@ static void uss_fstat(SftpServer *srv, SftpReplyBuilder *reply,
+ }
+ }
+
++#if !HAVE_FUTIMES
++static inline int futimes(int fd, const struct timeval tv[2])
++{
++ /* If the OS doesn't support futimes(3) then we have to pretend it
++ * always returns failure */
++ errno = EINVAL;
++ return -1;
++}
++#endif
++
+ /*
+ * The guts of setstat and fsetstat, macroised so that they can call
+ * fchown(fd,...) or chown(path,...) depending on parameters.
+diff --git a/unix/uxutils.c b/unix/uxutils.c
+index fcbcc4d422c1..f01bc2c14a2d 100644
+--- a/unix/uxutils.c
++++ b/unix/uxutils.c
+@@ -1,6 +1,7 @@
+ #include "ssh.h"
+
+-#if defined __linux__ && (defined __arm__ || defined __aarch64__)
++#if defined __linux__ && (defined __arm__ || defined __aarch64__) && \
++ HAVE_SYS_AUXV_H && HAVE_ASM_HWCAP_H
+
+ #include <sys/auxv.h>
+ #include <asm/hwcap.h>
+--
+2.20.1
+
diff --git a/package/putty/putty.hash b/package/putty/putty.hash
index e0527105c1..30f51848f8 100644
--- a/package/putty/putty.hash
+++ b/package/putty/putty.hash
@@ -1,3 +1,6 @@
-# Hashes from: http://the.earth.li/~sgtatham/putty/0.70/{sha256,sha512}sums
-sha256 bb8aa49d6e96c5a8e18a057f3150a1695ed99a24eef699e783651d1f24e7b0be putty-0.70.tar.gz
-sha512 2aaf4fa2b4ad2d82eb5cdc4419ade79e0c5d8bd3c093db92b3c048e6107f85a5f1647f9d8203cda0906ce2b926725a75319f981cb32e6f1ebf50b1f738564fed putty-0.70.tar.gz
+# Hashes from: http://the.earth.li/~sgtatham/putty/0.71/{sha256,sha512}sums
+sha256 2f931ce2f89780cc8ca7bbed90fcd22c44515d2773f5fa954069e209b48ec6b8 putty-0.71.tar.gz
+sha512 f8791210bd5925b26d51b13f0558eea15dbac40808051165b236d6436226f5c2b0aa7d69288ed9e2bddc1066455678cfd0af73ef6b715a136c42f3b6f754ac07 putty-0.71.tar.gz
+
+# Locally calculated
+sha256 b517b4a9504ba0f651d5e590245197b88d9a81d073905cc798cc9464c5ca7ba8 LICENCE
diff --git a/package/putty/putty.mk b/package/putty/putty.mk
index 52f2d4c3dd..68622a5743 100644
--- a/package/putty/putty.mk
+++ b/package/putty/putty.mk
@@ -4,13 +4,14 @@
#
################################################################################
-PUTTY_VERSION = 0.70
+PUTTY_VERSION = 0.71
PUTTY_SITE = http://the.earth.li/~sgtatham/putty/$(PUTTY_VERSION)
-PUTTY_SUBDIR = unix
PUTTY_LICENSE = MIT
PUTTY_LICENSE_FILES = LICENCE
PUTTY_CONF_OPTS = --disable-gtktest
PUTTY_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -Wno-error"
+# Patching configure.ac
+PUTTY_AUTORECONF = YES
ifeq ($(BR2_PACKAGE_LIBGTK2),y)
PUTTY_CONF_OPTS += --with-gtk=2
diff --git a/package/python-aiojobs/Config.in b/package/python-aiojobs/Config.in
index 54d6c02a8e..ab61985164 100644
--- a/package/python-aiojobs/Config.in
+++ b/package/python-aiojobs/Config.in
@@ -1,7 +1,6 @@
config BR2_PACKAGE_PYTHON_AIOJOBS
bool "python-aiojobs"
depends on BR2_PACKAGE_PYTHON3
- select BR2_PACKAGE_PYTHON_AIOHTTP # runtime
help
Jobs scheduler for managing background task (asyncio).
diff --git a/package/qt5/qt5webkit/Config.in b/package/qt5/qt5webkit/Config.in
index 72c641b9f7..e8008f7bab 100644
--- a/package/qt5/qt5webkit/Config.in
+++ b/package/qt5/qt5webkit/Config.in
@@ -3,10 +3,13 @@ config BR2_PACKAGE_QT5WEBKIT
depends on !BR2_STATIC_LIBS
depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
depends on BR2_HOST_GCC_AT_LEAST_4_8 # icu
+ depends on BR2_INSTALL_LIBSTDCPP # leveldb
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # icu
+ depends on BR2_TOOLCHAIN_HAS_THREADS # leveldb
depends on !BR2_BINFMT_FLAT # icu
# assumes a FPU is available on MIPS
depends on !BR2_MIPS_SOFT_FLOAT
+ select BR2_PACKAGE_LEVELDB
select BR2_PACKAGE_QT5BASE
select BR2_PACKAGE_QT5BASE_ICU
select BR2_PACKAGE_QT5BASE_GUI
diff --git a/package/qt5/qt5webkit/qt5webkit.mk b/package/qt5/qt5webkit/qt5webkit.mk
index e8d368fb01..a0a0998d12 100644
--- a/package/qt5/qt5webkit/qt5webkit.mk
+++ b/package/qt5/qt5webkit/qt5webkit.mk
@@ -16,7 +16,7 @@ endif
QT5WEBKIT_SOURCE = qtwebkit-opensource-src-$(QT5WEBKIT_VERSION).tar.xz
QT5WEBKIT_DEPENDENCIES = \
host-bison host-flex host-gperf host-python host-ruby \
- qt5base sqlite
+ leveldb qt5base sqlite
QT5WEBKIT_INSTALL_STAGING = YES
QT5WEBKIT_LICENSE_FILES = Source/WebCore/LICENSE-LGPL-2 Source/WebCore/LICENSE-LGPL-2.1
@@ -45,7 +45,7 @@ endef
QT5WEBKIT_PRE_CONFIGURE_HOOKS += QT5WEBKIT_PYTHON2_SYMLINK
define QT5WEBKIT_CONFIGURE_CMDS
- (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(HOST_DIR)/bin/qmake)
+ (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(HOST_DIR)/bin/qmake WEBKIT_CONFIG+=use_system_leveldb)
endef
define QT5WEBKIT_BUILD_CMDS
diff --git a/package/rdesktop/0002-openssl11.patch b/package/rdesktop/0002-openssl11.patch
deleted file mode 100644
index 050d6f6903..0000000000
--- a/package/rdesktop/0002-openssl11.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-From bd6aa6acddf0ba640a49834807872f4cc0d0a773 Mon Sep 17 00:00:00 2001
-From: Jani Hakala <jjhakala@gmail.com>
-Date: Thu, 16 Jun 2016 14:28:15 +0300
-Subject: [PATCH] Fix OpenSSL 1.1 compability issues
-
-Some data types have been made opaque in OpenSSL version 1.1 so
-stack allocation and accessing struct fields directly does not work.
-
-Downloaded from upstream commit
-https://github.com/rdesktop/rdesktop/commit/bd6aa6acddf0ba640a49834807872f4cc0d0a773
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- ssl.c | 65 ++++++++++++++++++++++++++++++++++++-----------------------
- 1 file changed, 40 insertions(+), 25 deletions(-)
-
-diff --git a/ssl.c b/ssl.c
-index 48751255..032e9b9e 100644
---- a/ssl.c
-+++ b/ssl.c
-@@ -88,7 +88,7 @@ rdssl_rsa_encrypt(uint8 * out, uint8 * in, int len, uint32 modulus_size, uint8 *
- uint8 * exponent)
- {
- BN_CTX *ctx;
-- BIGNUM mod, exp, x, y;
-+ BIGNUM *mod, *exp, *x, *y;
- uint8 inr[SEC_MAX_MODULUS_SIZE];
- int outlen;
-
-@@ -98,24 +98,24 @@ rdssl_rsa_encrypt(uint8 * out, uint8 * in, int len, uint32 modulus_size, uint8 *
- reverse(inr, len);
-
- ctx = BN_CTX_new();
-- BN_init(&mod);
-- BN_init(&exp);
-- BN_init(&x);
-- BN_init(&y);
--
-- BN_bin2bn(modulus, modulus_size, &mod);
-- BN_bin2bn(exponent, SEC_EXPONENT_SIZE, &exp);
-- BN_bin2bn(inr, len, &x);
-- BN_mod_exp(&y, &x, &exp, &mod, ctx);
-- outlen = BN_bn2bin(&y, out);
-+ mod = BN_new();
-+ exp = BN_new();
-+ x = BN_new();
-+ y = BN_new();
-+
-+ BN_bin2bn(modulus, modulus_size, mod);
-+ BN_bin2bn(exponent, SEC_EXPONENT_SIZE, exp);
-+ BN_bin2bn(inr, len, x);
-+ BN_mod_exp(y, x, exp, mod, ctx);
-+ outlen = BN_bn2bin(y, out);
- reverse(out, outlen);
- if (outlen < (int) modulus_size)
- memset(out + outlen, 0, modulus_size - outlen);
-
-- BN_free(&y);
-- BN_clear_free(&x);
-- BN_free(&exp);
-- BN_free(&mod);
-+ BN_free(y);
-+ BN_clear_free(x);
-+ BN_free(exp);
-+ BN_free(mod);
- BN_CTX_free(ctx);
- }
-
-@@ -146,12 +146,20 @@ rdssl_cert_to_rkey(RDSSL_CERT * cert, uint32 * key_len)
-
- Kudos to Richard Levitte for the following (. intiutive .)
- lines of code that resets the OID and let's us extract the key. */
-- nid = OBJ_obj2nid(cert->cert_info->key->algor->algorithm);
-+
-+ X509_PUBKEY *key = NULL;
-+ X509_ALGOR *algor = NULL;
-+
-+ key = X509_get_X509_PUBKEY(cert);
-+ algor = X509_PUBKEY_get0_param(NULL, NULL, 0, &algor, key);
-+
-+ nid = OBJ_obj2nid(algor->algorithm);
-+
- if ((nid == NID_md5WithRSAEncryption) || (nid == NID_shaWithRSAEncryption))
- {
- DEBUG_RDP5(("Re-setting algorithm type to RSA in server certificate\n"));
-- ASN1_OBJECT_free(cert->cert_info->key->algor->algorithm);
-- cert->cert_info->key->algor->algorithm = OBJ_nid2obj(NID_rsaEncryption);
-+ X509_PUBKEY_set0_param(key, OBJ_nid2obj(NID_rsaEncryption),
-+ 0, NULL, NULL, 0);
- }
- epk = X509_get_pubkey(cert);
- if (NULL == epk)
-@@ -201,14 +209,24 @@ rdssl_rkey_get_exp_mod(RDSSL_RKEY * rkey, uint8 * exponent, uint32 max_exp_len,
- {
- int len;
-
-- if ((BN_num_bytes(rkey->e) > (int) max_exp_len) ||
-- (BN_num_bytes(rkey->n) > (int) max_mod_len))
-+ BIGNUM *e = NULL;
-+ BIGNUM *n = NULL;
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ e = rkey->e;
-+ n = rkey->n;
-+#else
-+ RSA_get0_key(rkey, &e, &n, NULL);
-+#endif
-+
-+ if ((BN_num_bytes(e) > (int) max_exp_len) ||
-+ (BN_num_bytes(n) > (int) max_mod_len))
- {
- return 1;
- }
-- len = BN_bn2bin(rkey->e, exponent);
-+ len = BN_bn2bin(e, exponent);
- reverse(exponent, len);
-- len = BN_bn2bin(rkey->n, modulus);
-+ len = BN_bn2bin(n, modulus);
- reverse(modulus, len);
- return 0;
- }
-@@ -229,8 +247,5 @@ void
- rdssl_hmac_md5(const void *key, int key_len, const unsigned char *msg, int msg_len,
- unsigned char *md)
- {
-- HMAC_CTX ctx;
-- HMAC_CTX_init(&ctx);
- HMAC(EVP_md5(), key, key_len, msg, msg_len, md, NULL);
-- HMAC_CTX_cleanup(&ctx);
- }
diff --git a/package/rdesktop/rdesktop.hash b/package/rdesktop/rdesktop.hash
index cc1f55b771..a43fab76fa 100644
--- a/package/rdesktop/rdesktop.hash
+++ b/package/rdesktop/rdesktop.hash
@@ -1,3 +1,3 @@
-# From http://sourceforge.net/projects/rdesktop/files/rdesktop/1.8.3/
-md5 86e8b368a7c715e74ded92e0d7912dc5 rdesktop-1.8.3.tar.gz
-sha1 aa1e56043782e04a0121357b24874e3ad6ae7b1d rdesktop-1.8.3.tar.gz
+# Locally calculated
+sha256 516f04df92f16eba04c96bbf9aeb05b9da686689c2bb5c107e0941583e09f933 rdesktop-1.8.4.tar.gz
+sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING
diff --git a/package/rdesktop/rdesktop.mk b/package/rdesktop/rdesktop.mk
index da8a80ef92..d97422cf13 100644
--- a/package/rdesktop/rdesktop.mk
+++ b/package/rdesktop/rdesktop.mk
@@ -4,8 +4,8 @@
#
################################################################################
-RDESKTOP_VERSION = 1.8.3
-RDESKTOP_SITE = http://downloads.sourceforge.net/project/rdesktop/rdesktop/$(RDESKTOP_VERSION)
+RDESKTOP_VERSION = 1.8.4
+RDESKTOP_SITE = $(call github,rdesktop,rdesktop,v$(RDESKTOP_VERSION))
RDESKTOP_DEPENDENCIES = host-pkgconf openssl xlib_libX11 xlib_libXt \
$(if $(BR2_PACKAGE_ALSA_LIB_PCM),alsa-lib) \
$(if $(BR2_PACKAGE_LIBAO),libao) \
@@ -13,6 +13,8 @@ RDESKTOP_DEPENDENCIES = host-pkgconf openssl xlib_libX11 xlib_libXt \
RDESKTOP_CONF_OPTS = --with-openssl=$(STAGING_DIR)/usr --disable-credssp
RDESKTOP_LICENSE = GPL-3.0+
RDESKTOP_LICENSE_FILES = COPYING
+# From git
+RDESKTOP_AUTORECONF = YES
ifeq ($(BR2_PACKAGE_PCSC_LITE),y)
RDESKTOP_DEPENDENCIES += pcsc-lite
diff --git a/package/samba4/samba4.hash b/package/samba4/samba4.hash
index de349c3049..70cea4809b 100644
--- a/package/samba4/samba4.hash
+++ b/package/samba4/samba4.hash
@@ -1,4 +1,4 @@
# Locally calculated after checking pgp signature
-# https://download.samba.org/pub/samba/stable/samba-4.9.4.tar.asc
-sha256 6d98a8d8bcccbe788e4bbb406362e6676311aca711a3f3cc9b3a404bb9ff0b4f samba-4.9.4.tar.gz
+# https://download.samba.org/pub/samba/stable/samba-4.9.5.tar.asc
+sha256 078956d2d98e22011265afd4b7221efe4861067dcba4a031583b01f34d423700 samba-4.9.5.tar.gz
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
diff --git a/package/samba4/samba4.mk b/package/samba4/samba4.mk
index 9f771cf82f..9b226a0e05 100644
--- a/package/samba4/samba4.mk
+++ b/package/samba4/samba4.mk
@@ -4,7 +4,7 @@
#
################################################################################
-SAMBA4_VERSION = 4.9.4
+SAMBA4_VERSION = 4.9.5
SAMBA4_SITE = https://download.samba.org/pub/samba/stable
SAMBA4_SOURCE = samba-$(SAMBA4_VERSION).tar.gz
SAMBA4_INSTALL_STAGING = YES
diff --git a/package/sunxi-tools/0001-meminfo-Access-to-io-memory-via-pointers.patch b/package/sunxi-tools/0001-meminfo-Access-to-io-memory-via-pointers.patch
new file mode 100644
index 0000000000..997c413f23
--- /dev/null
+++ b/package/sunxi-tools/0001-meminfo-Access-to-io-memory-via-pointers.patch
@@ -0,0 +1,59 @@
+From 5c0a443ba336f10a8db6a99c769aa84ad37ed4d2 Mon Sep 17 00:00:00 2001
+From: Vadim Kochan <vadim4j@gmail.com>
+Date: Wed, 20 Feb 2019 02:48:43 +0200
+Subject: [PATCH] meminfo: Access to io memory via pointers
+
+The main reason for this is to be able compile with musl library,
+because there is no support of inx/outx functions for ARM platform.
+
+Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
+---
+ meminfo.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/meminfo.c b/meminfo.c
+index 0b0ff23..7d9f10f 100644
+--- a/meminfo.c
++++ b/meminfo.c
+@@ -22,7 +22,6 @@
+ #include <sys/mman.h>
+ #include <stdint.h>
+ #include <errno.h>
+-#include <sys/io.h>
+ #include <stdbool.h>
+
+ #include "common.h"
+@@ -74,24 +73,26 @@ static enum sunxi_soc_version soc_version;
+ unsigned int
+ sunxi_io_read(void *base, int offset)
+ {
+- return inl((unsigned long) (base + offset));
++ unsigned long port = (unsigned long) (base + offset);
++ return *((volatile unsigned long *) port);
+ }
+
+ void
+ sunxi_io_write(void *base, int offset, unsigned int value)
+ {
+- outl(value, (unsigned long) (base + offset));
++ unsigned long port = (unsigned long) (base + offset);
++ *((volatile unsigned long *) port) = value;
+ }
+
+ void
+ sunxi_io_mask(void *base, int offset, unsigned int value, unsigned int mask)
+ {
+- unsigned int tmp = inl((unsigned long) (base + offset));
++ unsigned int tmp = sunxi_io_read(base, offset);
+
+ tmp &= ~mask;
+ tmp |= value & mask;
+
+- outl(tmp, (unsigned long) (base + offset));
++ sunxi_io_write(base, offset, tmp);
+ }
+
+
+--
+2.14.1
+
diff --git a/package/supertux/0001-Fix-build-on-PowerPC.patch b/package/supertux/0001-Fix-build-on-PowerPC.patch
new file mode 100644
index 0000000000..e40abac6b0
--- /dev/null
+++ b/package/supertux/0001-Fix-build-on-PowerPC.patch
@@ -0,0 +1,81 @@
+From cfcd478fe69ca1b3923f388a349a4f67ac2c03aa Mon Sep 17 00:00:00 2001
+From: Shawn Anastasio <shawn@anastas.io>
+Date: Sun, 3 Feb 2019 13:22:57 -0600
+Subject: [PATCH] Fix build on PowerPC
+
+On PowerPC-based architectures, SDL includes the altivec.h header
+for SIMD intrinsics. Unfortunately, altivec.h defines some types which
+conflict with C++ types like bool and std::vector. This commit adds
+a wrapper for altivec.h which resolves these conflicts and allows
+supertux to build and run.
+
+Tested on a ppc64le workstation.
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Retrieved from:
+https://github.com/SuperTux/supertux/pull/1056/commits/cfcd478fe69ca1b3923f388a349a4f67ac2c03aa]
+---
+ CMakeLists.txt | 15 ++++++++++++++-
+ src/ppc/altivec.h | 6 ++++++
+ 2 files changed, 20 insertions(+), 1 deletion(-)
+ create mode 100644 src/ppc/altivec.h
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 70b9673b50..b9b6ea3ea6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -376,6 +376,11 @@ endif()
+
+ include(ConfigureChecks)
+
++# Include altivec wrapper on ppc
++if(CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc.*")
++ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/ppc)
++endif()
++
+
+ ## Also build external/squirrel
+
+@@ -420,6 +425,13 @@ if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/external/tinygettext/CMakeLists.txt)
+ message(FATAL_ERROR "tinygettext submodule is not checked out or ${CMAKE_CURRENT_SOURCE_DIR}/external/tinygettext/CMakeLists.txt is missing")
+ endif()
+
++# Include altivec wrapper on ppc
++if(CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc.*")
++ set(TINYGETTEXT_CXX_FLAGS "-isystem ${CMAKE_CURRENT_SOURCE_DIR}/src/ppc ${CMAKE_CXX_FLAGS}")
++else()
++ set(TINYGETTEXT_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
++endif()
++
+ set(TINYGETTEXT_PREFIX ${CMAKE_BINARY_DIR}/tinygettext/)
+ ExternalProject_Add(tinygettext
+ SOURCE_DIR "${CMAKE_SOURCE_DIR}/external/tinygettext/"
+@@ -428,7 +440,7 @@ ExternalProject_Add(tinygettext
+ -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
+ -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
+ -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
+- -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
++ -DCMAKE_CXX_FLAGS=${TINYGETTEXT_CXX_FLAGS}
+ -DBUILD_SHARED_LIBS=OFF
+ -DHAVE_SDL=ON
+ -DVCPKG_BUILD=${VCPKG_BUILD}
+@@ -443,6 +455,7 @@ set_target_properties(tinygettext_lib PROPERTIES IMPORTED_LOCATION "${TINYGETTEX
+
+ include_directories(SYSTEM ${TINYGETTEXT_PREFIX}/include)
+
++
+ ## external/SDL_ttf with patches
+ find_package(Freetype REQUIRED)
+ find_package(RAQM)
+diff --git a/src/ppc/altivec.h b/src/ppc/altivec.h
+new file mode 100644
+index 0000000000..7ede8246ed
+--- /dev/null
++++ b/src/ppc/altivec.h
+@@ -0,0 +1,6 @@
++#include_next <altivec.h>
++
++// The altivec headers redefine vector and bool which conflict
++// with C++'s bool type and std::vector. Undefine them here.
++#undef vector
++#undef bool
diff --git a/package/swupdate/0001-Makefile-fix-static-build.patch b/package/swupdate/0001-Makefile-fix-static-build.patch
new file mode 100644
index 0000000000..56901f9871
--- /dev/null
+++ b/package/swupdate/0001-Makefile-fix-static-build.patch
@@ -0,0 +1,62 @@
+From 15a324f8c67548f219256a5a75ba8123cc5bdac6 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Mon, 4 Mar 2019 21:51:36 +0100
+Subject: [PATCH] Makefile: fix static build
+
+Don't build and install lua_swupdate.so if HAVE_LUA isn't set to y
+otherwise build will fail if the toolchain only suports building static
+libraries
+
+Fixes:
+ - http://autobuild.buildroot.org/results/c11c4d26983e0347d96f3dda62e6d72b031967bb
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Upstream status: https://github.com/sbabic/swupdate/pull/49]
+---
+ Makefile | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index cfeb9a6..cac99b5 100644
+--- a/Makefile
++++ b/Makefile
+@@ -369,11 +369,15 @@ tools-bins := $(patsubst $(tools-y)/%.c,$(tools-y)/%,$(wildcard $(tools-y)/*.c))
+ tools-bins-unstr:= $(patsubst %,%_unstripped,$(tools-bins))
+ tools-all := $(tools-objs)
+
++ifeq ($(HAVE_LUA),y)
++lua_swupdate := lua_swupdate.so
++endif
++
+ shared-dirs := $(shareds-y)
+ shared-libs := $(patsubst %,%/built-in.o, $(shareds-y))
+ shared-all := $(shared-libs)
+
+-all: swupdate ${tools-bins} lua_swupdate.so
++all: swupdate ${tools-bins} ${lua_swupdate}
+
+ # Do modpost on a prelinked vmlinux. The finally linked vmlinux has
+ # relevant sections renamed as per the linker script.
+@@ -434,7 +438,6 @@ install: all
+ install -d ${DESTDIR}/usr/bin
+ install -d ${DESTDIR}/usr/include
+ install -d ${DESTDIR}/usr/lib
+- install -d ${DESTDIR}/usr/lib/lua/$(LUAVER)
+ install -m 755 swupdate ${DESTDIR}/usr/bin
+ for i in ${tools-bins};do \
+ install -m 755 $$i ${DESTDIR}/usr/bin; \
+@@ -443,7 +446,10 @@ install: all
+ install -m 0644 include/swupdate_status.h ${DESTDIR}/usr/include
+ install -m 0644 include/progress_ipc.h ${DESTDIR}/usr/include
+ install -m 0755 ipc/lib.a ${DESTDIR}/usr/lib/libswupdate.a
+- install -m 0755 lua_swupdate.so $(DESTDIR)/usr/lib/lua/$(LUAVER)
++ if [ $(HAVE_LUA) = y ]; then \
++ install -d ${DESTDIR}/usr/lib/lua/$(LUAVER); \
++ install -m 0755 ${lua_swupdate} $(DESTDIR)/usr/lib/lua/$(LUAVER); \
++ fi
+
+ PHONY += run-tests
+ tests: \
+--
+2.14.1
+
diff --git a/package/tpm2-abrmd/Config.in b/package/tpm2-abrmd/Config.in
index d18f736182..db0ea66112 100644
--- a/package/tpm2-abrmd/Config.in
+++ b/package/tpm2-abrmd/Config.in
@@ -16,8 +16,8 @@ config BR2_PACKAGE_TPM2_ABRMD
The package also provides a client library for interacting
with the daemon via TPM Command Transmission Interface (TCTI).
- It is intended for use with the SAPI library (libsapi) like
- any other TCTI.
+ It is intended for use with the SAPI library (libtss2-sys)
+ like any other TCTI.
https://github.com/tpm2-software/tpm2-abrmd
diff --git a/package/tpm2-tss/Config.in b/package/tpm2-tss/Config.in
index 2fb5b0f213..2d619750f8 100644
--- a/package/tpm2-tss/Config.in
+++ b/package/tpm2-tss/Config.in
@@ -17,7 +17,7 @@ config BR2_PACKAGE_TPM2_TSS
variants may be useful for integration into event-driven
programming environments. Both the synchronous and
asynchronous API are exposed through a single library:
- libsapi.
+ libtss2-sys.
* TPM Command Transmission Interface (TCTI) that is described
in the same specification. This API provides a standard
@@ -26,10 +26,10 @@ config BR2_PACKAGE_TPM2_TSS
implementing the TCTI API will be implemented as a way to
abstract various platform specific IPC mechanisms. Currently
this repository provides two TCTI implementations:
- libtcti-device and libtcti-socket. The prior should be used
- for direct access to the TPM through the Linux kernel
- driver. The later implements the protocol exposed by the
- Microsoft software TPM2 simulator.
+ libtss2-tcti-device and libtss2-tcti-mssim. The prior should
+ be used for direct access to the TPM through the Linux
+ kernel driver. The later implements the protocol exposed by
+ the Microsoft software TPM2 simulator.
https://github.com/tpm2-software/tpm2-tss
diff --git a/package/vsftpd/0004-Prevent-hang-in-SIGCHLD-handler.patch b/package/vsftpd/0004-Prevent-hang-in-SIGCHLD-handler.patch
new file mode 100644
index 0000000000..0732c5f632
--- /dev/null
+++ b/package/vsftpd/0004-Prevent-hang-in-SIGCHLD-handler.patch
@@ -0,0 +1,87 @@
+From 1e65a0a15f819b8bf1b551bd84f71d0da1f5a00c Mon Sep 17 00:00:00 2001
+From: Martin Sehnoutka <msehnout@redhat.com>
+Date: Thu, 17 Nov 2016 13:02:27 +0100
+Subject: [PATCH] Prevent hanging in SIGCHLD handler.
+
+vsftpd can now handle pam_exec.so in pam.d config without hanging
+in SIGCHLD handler.
+
+[Abdelmalek:
+Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1198259
+Fetched from:
+https://src.fedoraproject.org/cgit/rpms/vsftpd.git/plain/0026-Prevent-hanging-in-SIGCHLD-handler.patch]
+Signed-off-by: Abdelmalek Benelouezzane <abdelmalek.benelouezzane@savoirfairelinux.com>
+---
+ sysutil.c | 4 ++--
+ sysutil.h | 2 +-
+ twoprocess.c | 13 +++++++++++--
+ 3 files changed, 14 insertions(+), 5 deletions(-)
+
+diff --git a/sysutil.c b/sysutil.c
+index 6d7cb3f..099748f 100644
+--- a/sysutil.c
++++ b/sysutil.c
+@@ -608,13 +608,13 @@ vsf_sysutil_exit(int exit_code)
+ }
+
+ struct vsf_sysutil_wait_retval
+-vsf_sysutil_wait(void)
++vsf_sysutil_wait(int hang)
+ {
+ struct vsf_sysutil_wait_retval retval;
+ vsf_sysutil_memclr(&retval, sizeof(retval));
+ while (1)
+ {
+- int sys_ret = wait(&retval.exit_status);
++ int sys_ret = waitpid(-1, &retval.exit_status, hang ? 0 : WNOHANG);
+ if (sys_ret < 0 && errno == EINTR)
+ {
+ vsf_sysutil_check_pending_actions(kVSFSysUtilUnknown, 0, 0);
+diff --git a/sysutil.h b/sysutil.h
+index c145bdf..13153cd 100644
+--- a/sysutil.h
++++ b/sysutil.h
+@@ -177,7 +177,7 @@ struct vsf_sysutil_wait_retval
+ int PRIVATE_HANDS_OFF_syscall_retval;
+ int PRIVATE_HANDS_OFF_exit_status;
+ };
+-struct vsf_sysutil_wait_retval vsf_sysutil_wait(void);
++struct vsf_sysutil_wait_retval vsf_sysutil_wait(int hang);
+ int vsf_sysutil_wait_reap_one(void);
+ int vsf_sysutil_wait_get_retval(
+ const struct vsf_sysutil_wait_retval* p_waitret);
+diff --git a/twoprocess.c b/twoprocess.c
+index 33d84dc..b1891e7 100644
+--- a/twoprocess.c
++++ b/twoprocess.c
+@@ -47,8 +47,17 @@ static void
+ handle_sigchld(void* duff)
+ {
+
+- struct vsf_sysutil_wait_retval wait_retval = vsf_sysutil_wait();
++ struct vsf_sysutil_wait_retval wait_retval = vsf_sysutil_wait(0);
+ (void) duff;
++ if (!vsf_sysutil_wait_get_exitcode(&wait_retval) &&
++ !vsf_sysutil_wait_get_retval(&wait_retval))
++ /* There was nobody to wait for, possibly caused by underlying library
++ * which created a new process through fork()/vfork() and already picked
++ * it up, e.g. by pam_exec.so or integrity check routines for libraries
++ * when FIPS mode is on (nss freebl), which can lead to calling prelink
++ * if the prelink package is installed.
++ */
++ return;
+ /* Child died, so we'll do the same! Report it as an error unless the child
+ * exited normally with zero exit code
+ */
+@@ -390,7 +399,7 @@ common_do_login(struct vsf_session* p_sess, const struct mystr* p_user_str,
+ priv_sock_send_result(p_sess->parent_fd, PRIV_SOCK_RESULT_OK);
+ if (!p_sess->control_use_ssl)
+ {
+- (void) vsf_sysutil_wait();
++ (void) vsf_sysutil_wait(1);
+ }
+ else
+ {
+--
+2.14.4
+
diff --git a/package/wavemon/Config.in b/package/wavemon/Config.in
index b72a617759..0cb4cb5c69 100644
--- a/package/wavemon/Config.in
+++ b/package/wavemon/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_WAVEMON
bool "wavemon"
- depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+ depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_NCURSES
select BR2_PACKAGE_LIBNL
help
@@ -15,5 +15,5 @@ config BR2_PACKAGE_WAVEMON
https://github.com/uoaerg/wavemon
-comment "wavemon needs a toolchain w/ NPTL"
- depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
+comment "wavemon needs a toolchain w/ threads"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/wireshark/0001-packet-gtp-c-remove-unneeded-named-structures.patch b/package/wireshark/0001-packet-gtp-c-remove-unneeded-named-structures.patch
new file mode 100644
index 0000000000..0a894a282e
--- /dev/null
+++ b/package/wireshark/0001-packet-gtp-c-remove-unneeded-named-structures.patch
@@ -0,0 +1,75 @@
+From 020e25b660250c97c8085e64cf85074ccfcdd06b Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Tue, 5 Mar 2019 20:59:49 +0100
+Subject: [PATCH] packet-gtp.c: remove unneeded named structures
+
+In uclibc, _header is already in sigcontext.h:
+
+packet-gtp.c:2361:16: error: redefinition of 'struct _header'
+ typedef struct _header {
+ ^~~~~~~
+In file included from /home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/bits/sigcontext.h:30:0,
+ from /home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/signal.h:311,
+ from /home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/glib-2.0/glib/gbacktrace.h:36,
+ from /home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/glib-2.0/glib.h:34,
+ from ../../epan/proto.h:28,
+ from ../../epan/packet.h:14,
+ from packet-gtp.c:43:
+/home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/asm/sigcontext.h:173:8: note: originally defined here
+ struct _header {
+
+To fix this issue, transform _header and other named structures (with
+the exception of gtp_conv_info_t) into unnamed structures
+
+Fixes:
+ - http://autobuild.buildroot.org/results/c41d42fe3489bc63c42e7ce7a9eccb1b4ca7b9b2
+
+Change-Id: I78116233c2a8dd7c54723b7cb558254bd5143bd2
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Reviewed-on: https://code.wireshark.org/review/32335
+Petri-Dish: Guy Harris <guy@alum.mit.edu>
+Tested-by: Petri Dish Buildbot
+Reviewed-by: Guy Harris <guy@alum.mit.edu>
+[Retrieved from:
+https://github.com/wireshark/wireshark/commit/020e25b660250c97c8085e64cf85074ccfcdd06b]
+---
+ epan/dissectors/packet-gtp.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/epan/dissectors/packet-gtp.c b/epan/dissectors/packet-gtp.c
+index 4c40e7aa54..971197e4ae 100644
+--- a/epan/dissectors/packet-gtp.c
++++ b/epan/dissectors/packet-gtp.c
+@@ -2170,7 +2170,7 @@ GHashTable* session_table;
+ /* Relation between <teid,ip> -> frame */
+ wmem_tree_t* frame_tree;
+
+-typedef struct gtp_info {
++typedef struct {
+ guint32 teid;
+ guint32 frame;
+ } gtp_info_t;
+@@ -2482,7 +2482,7 @@ static int decode_gtp_node_addr(tvbuff_t * tvb, int offset, packet_info * pinfo,
+ static int decode_gtp_priv_ext(tvbuff_t * tvb, int offset, packet_info * pinfo, proto_tree * tree, session_args_t * args _U_);
+ static int decode_gtp_unknown(tvbuff_t * tvb, int offset, packet_info * pinfo, proto_tree * tree, session_args_t * args _U_);
+
+-typedef struct _gtp_opt {
++typedef struct {
+ int optcode;
+ int (*decode) (tvbuff_t *, int, packet_info *, proto_tree *, session_args_t *);
+ } gtp_opt_t;
+@@ -2661,12 +2661,12 @@ id_to_str(tvbuff_t *tvb, gint offset)
+ /* Next definitions and function check_field_presence checks if given field
+ * in GTP packet is compliant with ETSI
+ */
+-typedef struct _header {
++typedef struct {
+ guint8 code;
+ guint8 presence;
+ } ext_header;
+
+-typedef struct _message {
++typedef struct {
+ guint8 code;
+ ext_header fields[32];
+ } _gtp_mess_items;
diff --git a/package/wireshark/wireshark.hash b/package/wireshark/wireshark.hash
index bad0a0fd45..071940e1c1 100644
--- a/package/wireshark/wireshark.hash
+++ b/package/wireshark/wireshark.hash
@@ -1,4 +1,4 @@
-# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.6.6.txt
-sha256 487933ea075bdbb25d8df06017d9c4f49fc20eb7f6ec80af086718ed5550e863 wireshark-2.6.6.tar.xz
+# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.6.7.txt
+sha256 747b3e7a37414942959f76f198be49dcbcca936bda538c4408942ce71bfd2b71 wireshark-2.6.7.tar.xz
# Locally calculated
sha256 7cdbed2b697efaa45576a033f1ac0e73cd045644a91c79bbf41d4a7d81dac7bf COPYING
diff --git a/package/wireshark/wireshark.mk b/package/wireshark/wireshark.mk
index c01238826b..a917efb5f6 100644
--- a/package/wireshark/wireshark.mk
+++ b/package/wireshark/wireshark.mk
@@ -4,7 +4,7 @@
#
################################################################################
-WIRESHARK_VERSION = 2.6.6
+WIRESHARK_VERSION = 2.6.7
WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.xz
WIRESHARK_SITE = https://www.wireshark.org/download/src/all-versions
WIRESHARK_LICENSE = wireshark license
@@ -145,6 +145,13 @@ else
WIRESHARK_CONF_OPTS += --without-snappy
endif
+ifeq ($(BR2_PACKAGE_SPANDSP),y)
+WIRESHARK_CONF_OPTS += --with-spandsp
+WIRESHARK_DEPENDENCIES += spandsp
+else
+WIRESHARK_CONF_OPTS += --without-spandsp
+endif
+
define WIRESHARK_REMOVE_DOCS
find $(TARGET_DIR)/usr/share/wireshark -name '*.txt' -print0 \
-o -name '*.html' -print0 | xargs -0 rm -f
diff --git a/package/x11r7/xapp_xdm/xapp_xdm.hash b/package/x11r7/xapp_xdm/xapp_xdm.hash
index 207d769fbf..605be9debc 100644
--- a/package/x11r7/xapp_xdm/xapp_xdm.hash
+++ b/package/x11r7/xapp_xdm/xapp_xdm.hash
@@ -1,2 +1,7 @@
-# From http://lists.x.org/archives/xorg-announce/2011-September/001737.html
-sha256 d4da426ddea0124279a3f2e00a26db61944690628ee818a64df9d27352081c47 xdm-1.1.11.tar.bz2
+# From https://lists.x.org/archives/xorg-announce/2019-March/002959.html
+md5 47c4c3bf8d59b64b64d134df8b5e5ec5 xdm-1.1.12.tar.bz2
+sha1 5cc5590e40837949b1a63cb030878f8ceebd4d85 xdm-1.1.12.tar.bz2
+sha256 0dd283f72dda098d09e2925b9278c95e21551e693a5802ab442d1b577d8327f4 xdm-1.1.12.tar.bz2
+sha512 1a4be0a070ced5db8fda6fc74794c9f9ed0cb37fa440fda6a3a7652aff62dfc3d7ba68b9facf054671ebf0f4db2a0eec29d0aa3716e3407ccd5529bac3553bdb xdm-1.1.12.tar.bz2
+# Locally computed
+sha256 b33b4bebbd6511b3e15315e8e29d67f25334ee45da8b7da6e6e97c53a70c6923 COPYING
diff --git a/package/x11r7/xapp_xdm/xapp_xdm.mk b/package/x11r7/xapp_xdm/xapp_xdm.mk
index 422ee53b10..3c91e21579 100644
--- a/package/x11r7/xapp_xdm/xapp_xdm.mk
+++ b/package/x11r7/xapp_xdm/xapp_xdm.mk
@@ -4,7 +4,7 @@
#
################################################################################
-XAPP_XDM_VERSION = 1.1.11
+XAPP_XDM_VERSION = 1.1.12
XAPP_XDM_SOURCE = xdm-$(XAPP_XDM_VERSION).tar.bz2
XAPP_XDM_SITE = http://xorg.freedesktop.org/releases/individual/app
XAPP_XDM_LICENSE = MIT
diff --git a/package/x11r7/xdriver_xf86-video-amdgpu/Config.in b/package/x11r7/xdriver_xf86-video-amdgpu/Config.in
index 43090c7559..c42255f55c 100644
--- a/package/x11r7/xdriver_xf86-video-amdgpu/Config.in
+++ b/package/x11r7/xdriver_xf86-video-amdgpu/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_XDRIVER_XF86_VIDEO_AMDGPU
bool "xf86-video-amdgpu"
+ depends on BR2_USE_MMU # libdrm
depends on BR2_PACKAGE_MESA3D_DRI_DRIVER
depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # gbm
select BR2_PACKAGE_LIBDRM
@@ -11,5 +12,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_AMDGPU
AMD GPU video driver
comment "xf86-video-amdgpu needs egl/opengl support from mesa3d"
+ depends on BR2_USE_MMU
depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL || \
!BR2_PACKAGE_MESA3D_DRI_DRIVER
diff --git a/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.hash b/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.hash
index 0f34e5178e..d0cbc09038 100644
--- a/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.hash
+++ b/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.hash
@@ -1,2 +1,2 @@
# From http://lists.x.org/archives/xorg-announce/2013-September/002324.html
-sha256 9dd4b326498223abbfdf786089a46ea3db4fa6bbd341308eb48a9e00bc3fd51b xf86-video-fbdev-0.4.4.tar.bz2
+sha256 dcc3d85f378022180e437a9ec00a59b6cb7680ff79c40394d695060af2374699 xf86-video-fbdev-0.5.0.tar.bz2
diff --git a/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk b/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk
index f39311e611..a480befdd0 100644
--- a/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk
+++ b/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk
@@ -4,7 +4,7 @@
#
################################################################################
-XDRIVER_XF86_VIDEO_FBDEV_VERSION = 0.4.4
+XDRIVER_XF86_VIDEO_FBDEV_VERSION = 0.5.0
XDRIVER_XF86_VIDEO_FBDEV_SOURCE = xf86-video-fbdev-$(XDRIVER_XF86_VIDEO_FBDEV_VERSION).tar.bz2
XDRIVER_XF86_VIDEO_FBDEV_SITE = http://xorg.freedesktop.org/releases/individual/driver
XDRIVER_XF86_VIDEO_FBDEV_LICENSE = MIT
diff --git a/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.hash b/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.hash
index 6b50cb1c79..0dbea635f2 100644
--- a/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.hash
+++ b/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.hash
@@ -1,2 +1,7 @@
-# From http://lists.x.org/archives/xorg-announce/2015-March/002554.html
-sha256 81fe09867918fff258296e1e1e159f0dc639cb30d201c53519f25ab73af4e4e2 libXdmcp-1.1.2.tar.bz2
+# From https://lists.x.org/archives/xorg-announce/2019-March/002974.html
+md5 115c5c12ecce0e749cd91d999a5fd160 libXdmcp-1.1.3.tar.bz2
+sha1 0a8f8a274f829331efb1e8e2027c38631b204dd0 libXdmcp-1.1.3.tar.bz2
+sha256 20523b44aaa513e17c009e873ad7bbc301507a3224c232610ce2e099011c6529 libXdmcp-1.1.3.tar.bz2
+sha512 cb1d4650f97d66e73acd2465ec7d757b9b797cce2f85e301860a44997a461837eea845ec9bd5b639ec5ca34c804f8bdd870697a5ce3f4e270b687c9ef74f25ec libXdmcp-1.1.3.tar.bz2
+# Locally computed
+sha256 8a3c3f35b0dbcb60a4e242b9e4394a352a65bb27deb2938ea1e2e62a626e16e9 COPYING
diff --git a/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk b/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk
index 44a6f00543..1182903e87 100644
--- a/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk
+++ b/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk
@@ -4,7 +4,7 @@
#
################################################################################
-XLIB_LIBXDMCP_VERSION = 1.1.2
+XLIB_LIBXDMCP_VERSION = 1.1.3
XLIB_LIBXDMCP_SOURCE = libXdmcp-$(XLIB_LIBXDMCP_VERSION).tar.bz2
XLIB_LIBXDMCP_SITE = http://xorg.freedesktop.org/releases/individual/lib
XLIB_LIBXDMCP_LICENSE = MIT
diff --git a/package/xen/0004-xenpmd-make-32-bit-gcc-8-1-non-debug-build-work.patch b/package/xen/0004-xenpmd-make-32-bit-gcc-8-1-non-debug-build-work.patch
new file mode 100644
index 0000000000..9c51c554cd
--- /dev/null
+++ b/package/xen/0004-xenpmd-make-32-bit-gcc-8-1-non-debug-build-work.patch
@@ -0,0 +1,79 @@
+From e75c9dc85fdeeeda0b98d8cd8d784e0508c3ffb8 Mon Sep 17 00:00:00 2001
+From: Wei Liu <wei.liu2@citrix.com>
+Date: Thu, 26 Jul 2018 15:58:54 +0100
+Subject: [PATCH] xenpmd: make 32 bit gcc 8.1 non-debug build work
+
+32 bit gcc 8.1 non-debug build yields:
+
+xenpmd.c:354:23: error: '%02x' directive output may be truncated writing between 2 and 8 bytes into a region of size 3 [-Werror=format-truncation=]
+ snprintf(val, 3, "%02x",
+ ^~~~
+xenpmd.c:354:22: note: directive argument in the range [40, 2147483778]
+ snprintf(val, 3, "%02x",
+ ^~~~~~
+xenpmd.c:354:5: note: 'snprintf' output between 3 and 9 bytes into a destination of size 3
+ snprintf(val, 3, "%02x",
+ ^~~~~~~~~~~~~~~~~~~~~~~~
+ (unsigned int)(9*4 +
+ ~~~~~~~~~~~~~~~~~~~~
+ strlen(info->model_number) +
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ strlen(info->serial_number) +
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ strlen(info->battery_type) +
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ strlen(info->oem_info) + 4));
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+All info->* used in calculation are 32 bytes long, and the parsing
+code makes sure they are null-terminated, so the end result of the
+expression won't exceed 255, which should be able to be fit into 3
+bytes in hexadecimal format.
+
+Add an assertion to make gcc happy.
+
+Signed-off-by: Wei Liu <wei.liu2@citrix.com>
+Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Retrieved from:
+https://github.com/xen-project/xen/commit/e75c9dc85fdeeeda0b98d8cd8d784e0508c3ffb8]
+---
+ tools/xenpmd/xenpmd.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/tools/xenpmd/xenpmd.c b/tools/xenpmd/xenpmd.c
+index 56412a9a81c..1c801caa712 100644
+--- a/tools/xenpmd/xenpmd.c
++++ b/tools/xenpmd/xenpmd.c
+@@ -40,6 +40,7 @@
+ #include <unistd.h>
+ #include <sys/stat.h>
+ #include <xenstore.h>
++#include <assert.h>
+
+ /* #define RUN_STANDALONE */
+ #define RUN_IN_SIMULATE_MODE
+@@ -345,18 +346,17 @@ void write_ulong_lsb_first(char *temp_val, unsigned long val)
+ void write_battery_info_to_xenstore(struct battery_info *info)
+ {
+ char val[1024], string_info[256];
++ unsigned int len;
+
+ xs_mkdir(xs, XBT_NULL, "/pm");
+
+ memset(val, 0, 1024);
+ memset(string_info, 0, 256);
+ /* write 9 dwords (so 9*4) + length of 4 strings + 4 null terminators */
+- snprintf(val, 3, "%02x",
+- (unsigned int)(9*4 +
+- strlen(info->model_number) +
+- strlen(info->serial_number) +
+- strlen(info->battery_type) +
+- strlen(info->oem_info) + 4));
++ len = 9 * 4 + strlen(info->model_number) + strlen(info->serial_number) +
++ strlen(info->battery_type) + strlen(info->oem_info) + 4;
++ assert(len < 255);
++ snprintf(val, 3, "%02x", len);
+ write_ulong_lsb_first(val+2, info->present);
+ write_ulong_lsb_first(val+10, info->design_capacity);
+ write_ulong_lsb_first(val+18, info->last_full_capacity);
diff --git a/utils/test-pkg b/utils/test-pkg
index 1995fa8578..cce4679b04 100755
--- a/utils/test-pkg
+++ b/utils/test-pkg
@@ -2,12 +2,20 @@
set -e
TOOLCHAINS_CSV='support/config-fragments/autobuild/toolchain-configs.csv'
+TEMP_CONF=""
+
+do_clean() {
+ if [ ! -z "${TEMP_CONF}" ]; then
+ rm -f "${TEMP_CONF}"
+ fi
+}
main() {
local o O opts
local cfg dir pkg random toolchains_dir toolchain all number mode
local ret nb nb_skip nb_fail nb_legal nb_tc build_dir
local -a toolchains
+ local pkg_br_name
o='hac:d:n:p:r:t:'
O='help,config-snippet:build-dir:package:,random:,toolchains-dir:'
@@ -50,8 +58,15 @@ main() {
;;
esac
done
+
+ trap do_clean INT TERM HUP EXIT
+
if [ -z "${cfg}" ]; then
- printf "error: no config snippet specified\n" >&2; exit 1
+ pkg_br_name="${pkg//-/_}"
+ pkg_br_name="BR2_PACKAGE_${pkg_br_name^^}"
+ TEMP_CONF=$(mktemp /tmp/test-${pkg}-config.XXXXXX)
+ echo "${pkg_br_name}=y" > ${TEMP_CONF}
+ cfg="${TEMP_CONF}"
fi
if [ ! -e "${cfg}" ]; then
printf "error: %s: no such file\n" "${cfg}" >&2; exit 1
OpenPOWER on IntegriCloud