diff options
Diffstat (limited to 'package')
249 files changed, 7582 insertions, 3018 deletions
diff --git a/package/Config.in b/package/Config.in index ad26def67..6a770a3ad 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1327,7 +1327,7 @@ endif source "package/mpfr/Config.in" source "package/msgpack/Config.in" source "package/mtdev2tuio/Config.in" - source "package/netbsd-queue/Config.in" + source "package/musl-compat-headers/Config.in" source "package/openblas/Config.in" source "package/orc/Config.in" source "package/p11-kit/Config.in" diff --git a/package/aircrack-ng/0004-fix-musl-build.patch b/package/aircrack-ng/0004-fix-musl-build.patch deleted file mode 100644 index cc093d38d..000000000 --- a/package/aircrack-ng/0004-fix-musl-build.patch +++ /dev/null @@ -1,53 +0,0 @@ -From da6e87670ad4639371da056f9e36201a9236dfa2 Mon Sep 17 00:00:00 2001 -From: Romain Naour <romain.naour@openwide.fr> -Date: Wed, 29 Jul 2015 19:38:46 +0200 -Subject: [PATCH] fix musl build - -aircrack-ng doesn't build with a musl toolchain due to -cdefs.h internal glibc header being used in internal -ethernet.h [1]. - -[1] http://wiki.musl-libc.org/wiki/FAQ - -Signed-off-by: Romain Naour <romain.naour@openwide.fr> ---- - src/include/ethernet.h | 20 +++++++++++--------- - 1 file changed, 11 insertions(+), 9 deletions(-) - -diff --git a/src/include/ethernet.h b/src/include/ethernet.h -index 72d5e81..e9d9236 100644 ---- a/src/include/ethernet.h -+++ b/src/include/ethernet.h -@@ -389,18 +389,20 @@ void ether_vlan_mtap(struct bpf_if *, struct mbuf *, - - #else /* _KERNEL */ - --#include <sys/cdefs.h> -- - /* - * Ethernet address conversion/parsing routines. - */ --__BEGIN_DECLS --struct ether_addr *ether_aton(const char *); --int ether_hostton(const char *, struct ether_addr *); --int ether_line(const char *, struct ether_addr *, char *); --char *ether_ntoa(const struct ether_addr *); --int ether_ntohost(char *, const struct ether_addr *); --__END_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif -+ struct ether_addr *ether_aton(const char *); -+ int ether_hostton(const char *, struct ether_addr *); -+ int ether_line(const char *, struct ether_addr *, char *); -+ char *ether_ntoa(const struct ether_addr *); -+ int ether_ntohost(char *, const struct ether_addr *); -+#ifdef __cplusplus -+} -+#endif - - #endif /* !_KERNEL */ - --- -2.4.3 - diff --git a/package/am33x-cm3/Config.in b/package/am33x-cm3/Config.in index 060d0efc8..d33dfaa61 100644 --- a/package/am33x-cm3/Config.in +++ b/package/am33x-cm3/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_AM33X_CM3 bool "am33x-cm3" depends on BR2_arm # only relevant for TI am335x + depends on BR2_BINFMT_ELF # assumes the compiler builds ELF file help Cortex-M3 binary blob for suspend-resume on am335x diff --git a/package/android-tools/0004-Fix-build-issue-with-musl.patch b/package/android-tools/0004-Fix-build-issue-with-musl.patch index e5ba0e6ec..964eb87a6 100644 --- a/package/android-tools/0004-Fix-build-issue-with-musl.patch +++ b/package/android-tools/0004-Fix-build-issue-with-musl.patch @@ -1,9 +1,6 @@ [PATCH] Fix build issue with musl -cdefs.h header doesn't exist in musl toolchains: -http://wiki.musl-libc.org/wiki/FAQ - -Also arpa/nameser.h doesn't use the same macro name to avoid several +arpa/nameser.h doesn't use the same macro name to avoid several inclusions. Finally had an issue with framebuffer_service.c since it was missing the @@ -26,7 +23,7 @@ diff --git a/core/adbd/arpa_nameser.h b/core/adbd/arpa_nameser.h index 438dc04..b2a28d6 100644 --- a/core/adbd/arpa_nameser.h +++ b/core/adbd/arpa_nameser.h -@@ -52,11 +52,12 @@ +@@ -52,6 +52,8 @@ #ifndef _ARPA_NAMESER_H_ #define _ARPA_NAMESER_H_ @@ -35,51 +32,12 @@ index 438dc04..b2a28d6 100644 #define BIND_4_COMPAT - #include <sys/types.h> --#include <sys/cdefs.h> - - /* - * Revision information. This is the release date in YYYYMMDD format. -@@ -505,7 +506,9 @@ typedef enum __ns_cert_types { - #define ns_makecanon __ns_makecanon - #define ns_samename __ns_samename - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - int ns_msg_getflag(ns_msg, int); - uint16_t ns_get16(const u_char *); - uint32_t ns_get32(const u_char *); -@@ -560,7 +563,9 @@ int ns_samedomain(const char *, const char *); - int ns_subdomain(const char *, const char *); - int ns_makecanon(const char *, char *, size_t); - int ns_samename(const char *, const char *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #ifdef BIND_4_COMPAT - #include "arpa_nameser_compat.h" @@ -574,4 +579,5 @@ __END_DECLS #define XLOG(...) do {} while (0) #endif +#endif /* !_ARPA_NAMESER_H */ #endif /* !_ARPA_NAMESER_H_ */ -diff --git a/core/adbd/base64.c b/core/adbd/base64.c -index 7270703..73725f5 100644 ---- a/core/adbd/base64.c -+++ b/core/adbd/base64.c -@@ -42,7 +42,6 @@ - * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. - */ - --#include <sys/cdefs.h> - #if defined(LIBC_SCCS) && !defined(lint) - __RCSID("$NetBSD: base64.c,v 1.8 2002/11/11 01:15:17 thorpej Exp $"); - #endif /* LIBC_SCCS and not lint */ diff --git a/core/adbd/framebuffer_service.c b/core/adbd/framebuffer_service.c index 20c08d2..48e0241 100644 --- a/core/adbd/framebuffer_service.c @@ -92,140 +50,5 @@ index 20c08d2..48e0241 100644 #include <linux/fb.h> #include <sys/ioctl.h> #include <sys/mman.h> -diff --git a/core/adbd/qemu_pipe.h b/core/adbd/qemu_pipe.h -index 1a67022..572a242 100644 ---- a/core/adbd/qemu_pipe.h -+++ b/core/adbd/qemu_pipe.h -@@ -16,7 +16,6 @@ - #ifndef ANDROID_INCLUDE_HARDWARE_QEMU_PIPE_H - #define ANDROID_INCLUDE_HARDWARE_QEMU_PIPE_H - --#include <sys/cdefs.h> - #include <unistd.h> - #include <fcntl.h> - #include <sys/mman.h> -diff --git a/core/include/cutils/android_reboot.h b/core/include/cutils/android_reboot.h -index 0c79be7..2ebe1cf 100644 ---- a/core/include/cutils/android_reboot.h -+++ b/core/include/cutils/android_reboot.h -@@ -17,7 +17,9 @@ - #ifndef __CUTILS_ANDROID_REBOOT_H__ - #define __CUTILS_ANDROID_REBOOT_H__ - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - /* Commands */ - #define ANDROID_RB_RESTART 0xDEAD0001 -@@ -30,6 +32,8 @@ __BEGIN_DECLS - - int android_reboot(int cmd, int flags, char *arg); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* __CUTILS_ANDROID_REBOOT_H__ */ -diff --git a/core/include/cutils/bitops.h b/core/include/cutils/bitops.h -index 1b3b762..a7c8cab 100644 ---- a/core/include/cutils/bitops.h -+++ b/core/include/cutils/bitops.h -@@ -17,9 +17,9 @@ - #ifndef __CUTILS_BITOPS_H - #define __CUTILS_BITOPS_H - --#include <sys/cdefs.h> -- --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - static inline int popcount(unsigned int x) - { -@@ -36,6 +36,8 @@ static inline int popcountll(unsigned long long x) - return __builtin_popcountll(x); - } - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* __CUTILS_BITOPS_H */ -diff --git a/core/include/cutils/partition_utils.h b/core/include/cutils/partition_utils.h -index 597df92..0da9d5b 100644 ---- a/core/include/cutils/partition_utils.h -+++ b/core/include/cutils/partition_utils.h -@@ -17,11 +17,15 @@ - #ifndef __CUTILS_PARTITION_WIPED_H__ - #define __CUTILS_PARTITION_WIPED_H__ - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - int partition_wiped(char *source); - void erase_footer(const char *dev_path, long long size); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* __CUTILS_PARTITION_WIPED_H__ */ -diff --git a/extras/ext4_utils/sha1.c b/extras/ext4_utils/sha1.c -index 463ec38..e2e29cf 100644 ---- a/extras/ext4_utils/sha1.c -+++ b/extras/ext4_utils/sha1.c -@@ -17,9 +17,6 @@ - - #define SHA1HANDSOFF /* Copies data before messing with it. */ - --#ifndef USE_MINGW --#include <sys/cdefs.h> --#endif - #include <sys/types.h> - #include <assert.h> - #include <string.h> -diff --git a/extras/ext4_utils/sha1.h b/extras/ext4_utils/sha1.h -index 9a8f7e3..fe3217e 100644 ---- a/extras/ext4_utils/sha1.h -+++ b/extras/ext4_utils/sha1.h -@@ -17,11 +17,6 @@ typedef unsigned char u_char; - typedef unsigned int uint32_t; - typedef unsigned int u_int32_t; - typedef unsigned int u_int; -- --#define __BEGIN_DECLS --#define __END_DECLS --#else --#include <sys/cdefs.h> - #endif - - #define SHA1_DIGEST_LENGTH 20 -@@ -33,11 +28,15 @@ typedef struct { - u_char buffer[64]; - } SHA1_CTX; - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - void SHA1Transform(uint32_t[5], const u_char[64]); - void SHA1Init(SHA1_CTX *); - void SHA1Update(SHA1_CTX *, const u_char *, u_int); - void SHA1Final(u_char[SHA1_DIGEST_LENGTH], SHA1_CTX *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* _SYS_SHA1_H_ */ -- 2.6.1 - diff --git a/package/android-tools/0005-fix-big-endian-build.patch b/package/android-tools/0006-fix-big-endian-build.patch index c35fdcb8c..c35fdcb8c 100644 --- a/package/android-tools/0005-fix-big-endian-build.patch +++ b/package/android-tools/0006-fix-big-endian-build.patch diff --git a/package/android-tools/0007-include-cdefs-h-when-needed.patch b/package/android-tools/0007-include-cdefs-h-when-needed.patch new file mode 100644 index 000000000..da4ee13a1 --- /dev/null +++ b/package/android-tools/0007-include-cdefs-h-when-needed.patch @@ -0,0 +1,41 @@ +Include cdefs.h wherever it is needed + +cdefs.h is included from within a lot of glibc headers, so it almost +invariably and automagically gets pulled in with glibc. + +However, this might not be the case with other C libraries. musl does +not provide cdefs.h so it does not include it from its own headers +(cdefs.h must be provided separately). + +So we must include it when we are going to use macros it provides. + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> +--- + core/adbd/services.c | 1 + + core/libcutils/android_reboot.c | 1 + + 2 files changed, 2 insertions(+), 0 deletion(-) + +diff --git a/core/adbd/services.c b/core/adbd/services.c +index 20c08d2..48e0241 100644 +--- a/core/adbd/services.c ++++ b/core/adbd/services.c +@@ -20,6 +20,7 @@ + #include <string.h> + #include <errno.h> + #include <pwd.h> ++#include <sys/cdefs.h> + + #include "sysdeps.h" + +diff --git a/core/libcutils/android_reboot.c b/core/libcutils/android_reboot.c +index 20c08d2..48e0241 100644 +--- a/core/libcutils/android_reboot.c ++++ b/core/libcutils/android_reboot.c +@@ -23,6 +23,7 @@ + #include <string.h> + #include <linux/reboot.h> + #include <sys/syscall.h> ++#include <sys/cdefs.h> + + #include <cutils/android_reboot.h> + diff --git a/package/android-tools/Config.in b/package/android-tools/Config.in index 2503a2808..19772ad4d 100644 --- a/package/android-tools/Config.in +++ b/package/android-tools/Config.in @@ -17,6 +17,21 @@ config BR2_PACKAGE_ANDROID_TOOLS if BR2_PACKAGE_ANDROID_TOOLS +# We need kernel headers that support the __SANE_USERSPACE_TYPES__ +# mechanism for 64 bits architectures, so that u64 gets defined as +# "unsigned long long" and not "unsigned long". We know that >= 3.16 +# is needed for MIPS64 (kernel commit +# f4b3aa7cd9d32407670e67238c5ee752bb98f481) and >= 3.10 is needed for +# PowerPC64 (kernel commit +# 2c9c6ce0199a4d252e20c531cfdc9d24e39235c0). Without this, the build +# fails with a bad redefinition of u64 (the android-tools fastboot +# code defines it as "unsigned long long"). +config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS + bool + default y if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 && (BR2_powerpc64 || BR2_powerpc64le) + default y if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 && (BR2_mips64 || BR2_mips64el) + default y if !BR2_powerpc64 && !BR2_powerpc64le && !BR2_mips64 && !BR2_mips64el + config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT bool "fastboot" select BR2_PACKAGE_LIBSELINUX @@ -25,6 +40,7 @@ config BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT depends on !BR2_STATIC_LIBS # libselinux depends on BR2_TOOLCHAIN_USES_GLIBC # libselinux depends on !BR2_arc # libselinux + depends on BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS help This option will build and install the fastboot utility for the target, which can be used to reflash other target devices @@ -35,6 +51,10 @@ comment "fastboot needs a glibc toolchain w/ threads, dynamic library" depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_USES_GLIBC +comment "fastboot needs headers >= 3.10 (PowerPC64), headers >= 3.16 (MIPS64)" + depends on !BR2_arc + depends on !BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS + config BR2_PACKAGE_ANDROID_TOOLS_ADB bool "adb" depends on BR2_USE_MMU # uses fork() diff --git a/package/armadillo/Config.in b/package/armadillo/Config.in index 1f3f3569d..9483f181c 100644 --- a/package/armadillo/Config.in +++ b/package/armadillo/Config.in @@ -3,6 +3,7 @@ comment "armadillo needs a toolchain w/ C++" depends on !(BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) depends on !BR2_powerpc depends on !BR2_bfin + depends on !BR2_m68k_cf comment "armadillo needs a glibc toolchain w/ C++" depends on BR2_powerpc @@ -14,6 +15,7 @@ config BR2_PACKAGE_ARMADILLO depends on !(BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) # clapack depends on !BR2_powerpc || BR2_TOOLCHAIN_USES_GLIBC # clapack depends on !BR2_bfin # clapack + depends on !BR2_m68k_cf # clapack select BR2_PACKAGE_CLAPACK help Armadillo: An Open Source C++ Linear Algebra Library for diff --git a/package/axel/axel.mk b/package/axel/axel.mk index 6328d997e..25357a379 100644 --- a/package/axel/axel.mk +++ b/package/axel/axel.mk @@ -9,13 +9,14 @@ AXEL_SITE = http://sources.buildroot.net AXEL_LICENSE = GPLv2+ AXEL_LICENSE_FILES = COPYING -AXEL_LDFLAGS = -lpthread - ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) AXEL_DEPENDENCIES += gettext AXEL_LDFLAGS += -lintl endif +# -lintl may use symbols from -lpthread +AXEL_LDFLAGS += -lpthread + ifneq ($(BR2_ENABLE_LOCALE),y) AXEL_DISABLE_I18N = --i18n=0 endif diff --git a/package/babeld/0001-kernel_netlink.c-don-t-include-linux-if_bridge.h.patch b/package/babeld/0001-kernel_netlink.c-don-t-include-linux-if_bridge.h.patch new file mode 100644 index 000000000..efadd2038 --- /dev/null +++ b/package/babeld/0001-kernel_netlink.c-don-t-include-linux-if_bridge.h.patch @@ -0,0 +1,78 @@ +From 723bbfd8bdb76012a3da937c7499cf3c0b111dd5 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Sat, 20 Aug 2016 11:13:56 +0200 +Subject: [PATCH] kernel_netlink.c: don't include <linux/if_bridge.h> +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Including <linux/if_bridge.h> causes the inclusion of <linux/in6.h>, +which defines 'struct in6_addr', also defined in <netinet/in.h>, causing +a build failure with the musl C library: + +In file included from /home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/if_bridge.h:18:0, + from kernel_netlink.c:42, + from kernel.c:31: +/home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/in6.h:32:8: error: redefinition of ‘struct in6_addr’ + struct in6_addr { + ^ +In file included from kernel_netlink.c:33:0, + from kernel.c:31: +/home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:23:8: note: originally defined here + struct in6_addr { + ^ +In file included from /home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/if_bridge.h:18:0, + from kernel_netlink.c:42, + from kernel.c:31: +/home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/in6.h:49:8: error: redefinition of ‘struct sockaddr_in6’ + struct sockaddr_in6 { + ^ +In file included from kernel_netlink.c:33:0, + from kernel.c:31: +/home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:34:8: note: originally defined here + struct sockaddr_in6 { + ^ +In file included from /home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/if_bridge.h:18:0, + from kernel_netlink.c:42, + from kernel.c:31: +/home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/in6.h:59:8: error: redefinition of ‘struct ipv6_mreq’ + struct ipv6_mreq { + ^ +In file included from kernel_netlink.c:33:0, + from kernel.c:31: +/home/thomas/projets/buildroot/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:42:8: note: originally defined here + struct ipv6_mreq { + ^ + +In order to address this, this patch removes the <linux/if_bridge.h> +inclusion, and instead defines BRCTL_GET_BRIDGES to the appropriate +value if it's not provided by the C library. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + kernel_netlink.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/kernel_netlink.c b/kernel_netlink.c +index 4eadc39..1a5b3dd 100644 +--- a/kernel_netlink.c ++++ b/kernel_netlink.c +@@ -39,10 +39,14 @@ THE SOFTWARE. + #include <sys/socket.h> + #include <linux/netlink.h> + #include <linux/rtnetlink.h> +-#include <linux/if_bridge.h> + #include <linux/fib_rules.h> + #include <net/if_arp.h> + ++/* From <linux/if_bridge.h> */ ++#ifndef BRCTL_GET_BRIDGES ++#define BRCTL_GET_BRIDGES 1 ++#endif ++ + #if(__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 5) + #define RTA_TABLE 15 + #endif +-- +2.7.4 + diff --git a/package/bcusdk/0001-Do-not-use-the-non-standard-sys-cdefs.h-header.patch b/package/bcusdk/0001-Do-not-use-the-non-standard-sys-cdefs.h-header.patch deleted file mode 100644 index fc64386ca..000000000 --- a/package/bcusdk/0001-Do-not-use-the-non-standard-sys-cdefs.h-header.patch +++ /dev/null @@ -1,48 +0,0 @@ -From c36db3f798bf576f42d81a0c51198b17d7112e8c Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Sat, 8 Aug 2015 17:43:28 +0200 -Subject: [PATCH] Do not use the non-standard <sys/cdefs.h> header - -<sys/cdefs.h> is glibc-specific, and should be used only internally by -glibc, not by external libraries/programs. It is not available in all -standard C libraries. - -Submitted upstream: https://sourceforge.net/p/bcusdk/patches/3/ - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---- - eibd/include/eibclient.h | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -diff --git a/eibd/include/eibclient.h b/eibd/include/eibclient.h -index 2781878..b095a1c 100644 ---- a/eibd/include/eibclient.h -+++ b/eibd/include/eibclient.h -@@ -27,10 +27,11 @@ - #ifndef EIBCLIENT_H - #define EIBCLIENT_H - --#include <sys/cdefs.h> - #include <stdint.h> - --__BEGIN_DECLS; -+#ifdef __cplusplus -+extern "C" { -+#endif - - #include "eibloadresult.h" - -@@ -889,5 +890,9 @@ int EIB_Cache_LastUpdates_async (EIBConnection * con, uint16_t start, - uint16_t * end); - - --__END_DECLS -+ -+#ifdef __cplusplus -+} -+#endif -+ - #endif --- -2.5.0 - diff --git a/package/bcusdk/0002-fd_set-requires-inclusion-of-sys-select.h.patch b/package/bcusdk/0001-fd_set-requires-inclusion-of-sys-select.h.patch index 723de5c1a..723de5c1a 100644 --- a/package/bcusdk/0002-fd_set-requires-inclusion-of-sys-select.h.patch +++ b/package/bcusdk/0001-fd_set-requires-inclusion-of-sys-select.h.patch diff --git a/package/bdwgc/0004-configure-match-uclinux-pattern.patch b/package/bdwgc/0004-configure-match-uclinux-pattern.patch new file mode 100644 index 000000000..78bad1c59 --- /dev/null +++ b/package/bdwgc/0004-configure-match-uclinux-pattern.patch @@ -0,0 +1,32 @@ +From f8ecc7fb09adf34a23d324f373e667c81311fc1c Mon Sep 17 00:00:00 2001 +From: Romain Naour <romain.naour@gmail.com> +Date: Sat, 6 Aug 2016 23:24:35 +0200 +Subject: [PATCH] configure: match uclinux pattern + +bdwgc does not recognize "uclinux" as a valid OS part of the target +tuple which is used by some arm cortex-M toolchains. + +Fixes: +http://autobuild.buildroot.net/results/94f/94fbc1e5afe183e5b071d1e869b2d780025389e2 + +Signed-off-by: Romain Naour <romain.naour@gmail.com> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index b1ce2b2..a69d101 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -186,7 +186,7 @@ case "$THREADS" in + AC_DEFINE(THREAD_LOCAL_ALLOC) + AC_MSG_WARN("Explicit GC_INIT() calls may be required."); + ;; +- *-*-linux*) ++ *-*-*linux*) + AC_DEFINE(GC_LINUX_THREADS) + AC_DEFINE(_REENTRANT) + ;; +-- +2.5.5 + diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host index 92ca998fb..86daa0cb4 100644 --- a/package/binutils/Config.in.host +++ b/package/binutils/Config.in.host @@ -28,7 +28,7 @@ endchoice config BR2_BINUTILS_VERSION string - default "arc-2016.09-eng007" if BR2_arc + default "arc-2016.09-eng010" if BR2_arc default "2.24" if BR2_BINUTILS_VERSION_2_24_X default "2.25.1" if BR2_BINUTILS_VERSION_2_25_X default "2.26.1" if BR2_BINUTILS_VERSION_2_26_X diff --git a/package/binutils/arc-2016.09-eng007/0700-PIE-fixes-in-for-ARC-bfd.patch b/package/binutils/arc-2016.09-eng007/0700-PIE-fixes-in-for-ARC-bfd.patch deleted file mode 100644 index 9301928c1..000000000 --- a/package/binutils/arc-2016.09-eng007/0700-PIE-fixes-in-for-ARC-bfd.patch +++ /dev/null @@ -1,289 +0,0 @@ -From f73e79e550cd92dcdd002b62931d11c79db50115 Mon Sep 17 00:00:00 2001 -From: Cupertino Miranda <cmiranda@synopsys.com> -Date: Wed, 13 Jul 2016 18:04:20 +0200 -Subject: [PATCH 700/703] PIE fixes in for ARC bfd. - -Signed-off-by: Cupertino Miranda <cmiranda@synopsys.com> -Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com> ---- - bfd/elf-bfd.h | 1 + - bfd/elf32-arc.c | 187 ++++++++++++++++++++++++++++++++++++++++++++------------ - 2 files changed, 149 insertions(+), 39 deletions(-) - -diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h -index bb3371f..fbe0464 100644 ---- a/bfd/elf-bfd.h -+++ b/bfd/elf-bfd.h -@@ -444,6 +444,7 @@ enum elf_target_id - { - AARCH64_ELF_DATA = 1, - ALPHA_ELF_DATA, -+ ARC_ELF_DATA, - ARM_ELF_DATA, - AVR_ELF_DATA, - BFIN_ELF_DATA, -diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c -index 00828be..17670f0 100644 ---- a/bfd/elf32-arc.c -+++ b/bfd/elf32-arc.c -@@ -301,6 +301,92 @@ struct arc_reloc_map - unsigned char elf_reloc_val; - }; - -+/* ARC ELF linker hash entry. */ -+struct elf_arc_link_hash_entry -+{ -+ struct elf_link_hash_entry root; -+ -+ /* Track dynamic relocs copied for this symbol. */ -+ struct elf_dyn_relocs *dyn_relocs; -+}; -+ -+/* ARC ELF linker hash table. */ -+struct elf_arc_link_hash_table -+{ -+ struct elf_link_hash_table elf; -+ -+ /* Short-cuts to get to dynamic linker sections. */ -+ asection *srelbss; -+}; -+ -+static struct bfd_hash_entry * -+elf_arc_link_hash_newfunc (struct bfd_hash_entry *entry, -+ struct bfd_hash_table *table, -+ const char *string) -+{ -+ /* Allocate the structure if it has not already been allocated by a -+ subclass. */ -+ if (entry == NULL) -+ { -+ entry = (struct bfd_hash_entry *) -+ bfd_hash_allocate (table, -+ sizeof (struct elf_arc_link_hash_entry)); -+ if (entry == NULL) -+ return entry; -+ } -+ -+ /* Call the allocation method of the superclass. */ -+ entry = _bfd_elf_link_hash_newfunc (entry, table, string); -+ if (entry != NULL) -+ { -+ struct elf_arc_link_hash_entry *eh; -+ -+ eh = (struct elf_arc_link_hash_entry *) entry; -+ eh->dyn_relocs = NULL; -+ } -+ -+ return entry; -+} -+ -+/* Destroy an ARC ELF linker hash table. */ -+/* -+static void -+elf_arc_link_hash_table_free (bfd *obfd) -+{ -+ _bfd_elf_link_hash_table_free (obfd); -+} -+*/ -+ -+/* Create an X86-64 ELF linker hash table. */ -+ -+static struct bfd_link_hash_table * -+arc_elf_link_hash_table_create (bfd *abfd) -+{ -+ struct elf_arc_link_hash_table *ret; -+ -+ ret = (struct elf_arc_link_hash_table *) bfd_zmalloc (sizeof (*ret)); -+ if (ret == NULL) -+ return NULL; -+ -+ if (!_bfd_elf_link_hash_table_init (&ret->elf, abfd, -+ elf_arc_link_hash_newfunc, -+ sizeof (struct elf_arc_link_hash_entry), -+ ARC_ELF_DATA)) -+ { -+ free (ret); -+ return NULL; -+ } -+ -+ ret->srelbss = NULL; -+ -+ ret->elf.init_got_refcount.refcount = 0; -+ ret->elf.init_got_refcount.glist = NULL; -+ ret->elf.init_got_offset.offset = 0; -+ ret->elf.init_got_offset.glist = NULL; -+ -+ return &ret->elf.root; -+} -+ - #define ARC_RELOC_HOWTO(TYPE, VALUE, SIZE, BITSIZE, RELOC_FUNCTION, OVERFLOW, FORMULA) \ - { BFD_RELOC_##TYPE, R_##TYPE }, - static const struct arc_reloc_map arc_reloc_map[] = -@@ -1317,7 +1403,7 @@ elf_arc_relocate_section (bfd * output_bfd, - case R_ARC_32_ME: - case R_ARC_PC32: - case R_ARC_32_PCREL: -- if ((bfd_link_pic (info))// || bfd_link_pie (info)) -+ if ((bfd_link_pic (info)) - && ((r_type != R_ARC_PC32 && r_type != R_ARC_32_PCREL) - || (h != NULL - && h->dynindx != -1 -@@ -1470,6 +1556,49 @@ elf_arc_relocate_section (bfd * output_bfd, - return TRUE; - } - -+#define elf_arc_hash_table(p) \ -+ (elf_hash_table_id ((struct elf_link_hash_table *) ((p)->hash)) \ -+ == ARC_ELF_DATA ? ((struct elf_arc_link_hash_table *) ((p)->hash)) : NULL) -+ -+/* Create .plt, .rela.plt, .got, .got.plt, .rela.got, .dynbss, and -+ .rela.bss sections in DYNOBJ, and set up shortcuts to them in our -+ hash table. */ -+ -+static bfd_boolean -+arc_elf_create_dynamic_sections (bfd *dynobj, -+ struct bfd_link_info *info) -+{ -+ struct elf_arc_link_hash_table *htab; -+ -+ if (!_bfd_elf_create_dynamic_sections (dynobj, info)) -+ return FALSE; -+ -+ htab = elf_arc_hash_table (info); -+ if (htab == NULL) -+ return FALSE; -+ -+ if (bfd_link_executable (info)) -+ { -+ /* Always allow copy relocs for building executables. */ -+ asection *s = bfd_get_linker_section (dynobj, ".rela.bss"); -+ if (s == NULL) -+ { -+ const struct elf_backend_data *bed = get_elf_backend_data (dynobj); -+ s = bfd_make_section_anyway_with_flags (dynobj, -+ ".rela.bss", -+ (bed->dynamic_sec_flags -+ | SEC_READONLY)); -+ if (s == NULL -+ || ! bfd_set_section_alignment (dynobj, s, -+ bed->s->log_file_align)) -+ return FALSE; -+ } -+ htab->srelbss = s; -+ } -+ -+ return TRUE; -+} -+ - static struct dynamic_sections - arc_create_dynamic_sections (bfd * abfd, struct bfd_link_info *info) - { -@@ -1615,7 +1744,7 @@ elf_arc_check_relocs (bfd * abfd, - /* FALLTHROUGH */ - case R_ARC_PC32: - case R_ARC_32_PCREL: -- if ((bfd_link_pic (info))// || bfd_link_pie (info)) -+ if ((bfd_link_pic (info)) - && ((r_type != R_ARC_PC32 && r_type != R_ARC_32_PCREL) - || (h != NULL - && h->dynindx != -1 -@@ -1967,14 +2096,14 @@ elf_arc_adjust_dynamic_symbol (struct bfd_link_info *info, - .rela.bss section we are going to use. */ - if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) - { -- asection *srel; -+ struct elf_arc_link_hash_table *arc_htab = elf_arc_hash_table (info); - -- srel = bfd_get_section_by_name (dynobj, ".rela.bss"); -- BFD_ASSERT (srel != NULL); -- srel->size += sizeof (Elf32_External_Rela); -+ BFD_ASSERT (arc_htab->srelbss != NULL); -+ arc_htab->srelbss->size += sizeof (Elf32_External_Rela); - h->needs_copy = 1; - } - -+ /* TODO: Move this also to arc_hash_table. */ - s = bfd_get_section_by_name (dynobj, ".dynbss"); - BFD_ASSERT (s != NULL); - -@@ -2020,17 +2149,21 @@ elf_arc_finish_dynamic_symbol (bfd * output_bfd, - - if (h->needs_copy) - { -+ struct elf_arc_link_hash_table *arc_htab = elf_arc_hash_table (info); -+ -+ if (h->dynindx == -1 -+ || (h->root.type != bfd_link_hash_defined -+ && h->root.type != bfd_link_hash_defweak) -+ || arc_htab->srelbss == NULL) -+ abort (); -+ - bfd_vma rel_offset = (h->root.u.def.value - + h->root.u.def.section->output_section->vma - + h->root.u.def.section->output_offset); - -- asection *srelbss -- = bfd_get_section_by_name (h->root.u.def.section->owner, -- ".rela.bss"); -- -- bfd_byte * loc = srelbss->contents -- + (srelbss->reloc_count * sizeof (Elf32_External_Rela)); -- srelbss->reloc_count++; -+ bfd_byte * loc = arc_htab->srelbss->contents -+ + (arc_htab->srelbss->reloc_count * sizeof (Elf32_External_Rela)); -+ arc_htab->srelbss->reloc_count++; - - Elf_Internal_Rela rel; - rel.r_addend = 0; -@@ -2394,31 +2527,6 @@ const struct elf_size_info arc_elf32_size_info = - - #define elf_backend_size_info arc_elf32_size_info - --static struct bfd_link_hash_table * --arc_elf_link_hash_table_create (bfd *abfd) --{ -- struct elf_link_hash_table *htab; -- -- htab = bfd_zmalloc (sizeof (*htab)); -- if (htab == NULL) -- return NULL; -- -- if (!_bfd_elf_link_hash_table_init (htab, abfd, -- _bfd_elf_link_hash_newfunc, -- sizeof (struct elf_link_hash_entry), -- GENERIC_ELF_DATA)) -- { -- free (htab); -- return NULL; -- } -- -- htab->init_got_refcount.refcount = 0; -- htab->init_got_refcount.glist = NULL; -- htab->init_got_offset.offset = 0; -- htab->init_got_offset.glist = NULL; -- return (struct bfd_link_hash_table *) htab; --} -- - /* Hook called by the linker routine which adds symbols from an object - file. */ - -@@ -2444,6 +2552,7 @@ elf_arc_add_symbol_hook (bfd * abfd, - #define TARGET_BIG_SYM arc_elf32_be_vec - #define TARGET_BIG_NAME "elf32-bigarc" - #define ELF_ARCH bfd_arch_arc -+#define ELF_TARGET_ID ARC_ELF_DATA - #define ELF_MACHINE_CODE EM_ARC_COMPACT - #define ELF_MACHINE_ALT1 EM_ARC_COMPACT2 - #define ELF_MAXPAGESIZE 0x2000 -@@ -2462,7 +2571,7 @@ elf_arc_add_symbol_hook (bfd * abfd, - - #define elf_backend_relocate_section elf_arc_relocate_section - #define elf_backend_check_relocs elf_arc_check_relocs --#define elf_backend_create_dynamic_sections _bfd_elf_create_dynamic_sections -+#define elf_backend_create_dynamic_sections arc_elf_create_dynamic_sections - - #define elf_backend_reloc_type_class elf32_arc_reloc_type_class - --- -2.5.5 - diff --git a/package/binutils/arc-2016.09-eng007/0701-Fixed-init-fini-linker-options.patch b/package/binutils/arc-2016.09-eng007/0701-Fixed-init-fini-linker-options.patch deleted file mode 100644 index e4628bb25..000000000 --- a/package/binutils/arc-2016.09-eng007/0701-Fixed-init-fini-linker-options.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 156a0ec59728ae2b27ad84bcf86fec77c01aec5d Mon Sep 17 00:00:00 2001 -From: Cupertino Miranda <cmiranda@synopsys.com> -Date: Tue, 19 Jul 2016 14:33:34 +0200 -Subject: [PATCH 701/703] Fixed -init, -fini linker options. - -ARC was overloading this options by forcing DT_INIT AND DT_FINI -to always point to _init and _fini, respectively. - -Signed-off-by: Cupertino Miranda <cmiranda@synopsys.com> -Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com> ---- - bfd/elf32-arc.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c -index 17670f0..a0533f2 100644 ---- a/bfd/elf32-arc.c -+++ b/bfd/elf32-arc.c -@@ -2228,8 +2228,8 @@ elf_arc_finish_dynamic_sections (bfd * output_bfd, - - switch (internal_dyn.d_tag) - { -- GET_SYMBOL_OR_SECTION (DT_INIT, "_init", NULL) -- GET_SYMBOL_OR_SECTION (DT_FINI, "_fini", NULL) -+ GET_SYMBOL_OR_SECTION (DT_INIT, info->init_function, NULL) -+ GET_SYMBOL_OR_SECTION (DT_FINI, info->fini_function, NULL) - GET_SYMBOL_OR_SECTION (DT_PLTGOT, NULL, ".plt") - GET_SYMBOL_OR_SECTION (DT_JMPREL, NULL, ".rela.plt") - GET_SYMBOL_OR_SECTION (DT_PLTRELSZ, NULL, ".rela.plt") -@@ -2377,8 +2377,8 @@ elf_arc_size_dynamic_sections (bfd * output_bfd, - section. Checking if the .init section is present. We also - create DT_INIT and DT_FINI entries if the init_str has been - changed by the user. */ -- ADD_DYNAMIC_SYMBOL ("init", DT_INIT); -- ADD_DYNAMIC_SYMBOL ("fini", DT_FINI); -+ ADD_DYNAMIC_SYMBOL (info->init_function, DT_INIT); -+ ADD_DYNAMIC_SYMBOL (info->fini_function, DT_FINI); - } - else - { --- -2.5.5 - diff --git a/package/binutils/arc-2016.09-eng007/0702-Fix-undefined-symbols-aborting-on-PIE-cases.patch b/package/binutils/arc-2016.09-eng007/0702-Fix-undefined-symbols-aborting-on-PIE-cases.patch deleted file mode 100644 index 23b8ed121..000000000 --- a/package/binutils/arc-2016.09-eng007/0702-Fix-undefined-symbols-aborting-on-PIE-cases.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 5bc929f1609ddcc1180d9f004dd0064fa1f351ca Mon Sep 17 00:00:00 2001 -From: Cupertino Miranda <cmiranda@synopsys.com> -Date: Fri, 22 Jul 2016 13:53:35 +0200 -Subject: [PATCH 702/703] Fix undefined symbols aborting on PIE cases. - -In the context of STAR 9000925001. -Extended check instruction to validate for this case. - -Signed-off-by: Cupertino Miranda <cmiranda@synopsys.com> -Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com> ---- - bfd/elf32-arc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c -index a0533f2..f4e1521 100644 ---- a/bfd/elf32-arc.c -+++ b/bfd/elf32-arc.c -@@ -1359,7 +1359,7 @@ elf_arc_relocate_section (bfd * output_bfd, - - reloc_data.should_relocate = TRUE; - } -- else if (!bfd_link_pic (info)) -+ else if (!bfd_link_pic (info) || bfd_link_executable (info)) - (*info->callbacks->undefined_symbol) - (info, h->root.root.string, input_bfd, input_section, - rel->r_offset, TRUE); --- -2.5.5 - diff --git a/package/binutils/arc-2016.09-eng007/0800-Fixed-issue-in-tvheadend-package.patch b/package/binutils/arc-2016.09-eng007/0800-Fixed-issue-in-tvheadend-package.patch deleted file mode 100644 index 8dae34290..000000000 --- a/package/binutils/arc-2016.09-eng007/0800-Fixed-issue-in-tvheadend-package.patch +++ /dev/null @@ -1,26 +0,0 @@ -From d10d05e66fd2f8431a08ceaf8b655bc47ce13a21 Mon Sep 17 00:00:00 2001 -From: Cupertino Miranda <cmiranda@synopsys.com> -Date: Tue, 26 Jul 2016 17:34:05 +0200 -Subject: [PATCH 703/703] Fixed issue in tvheadend package. - -Signed-off-by: Cupertino Miranda <cmiranda@synopsys.com> -Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com> ---- - bfd/elf32-arc.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c -index f4e1521..857b7b6 100644 ---- a/bfd/elf32-arc.c -+++ b/bfd/elf32-arc.c -@@ -1747,7 +1747,6 @@ elf_arc_check_relocs (bfd * abfd, - if ((bfd_link_pic (info)) - && ((r_type != R_ARC_PC32 && r_type != R_ARC_32_PCREL) - || (h != NULL -- && h->dynindx != -1 - && (!info->symbolic || !h->def_regular)))) - { - if (sreloc == NULL) --- -2.5.5 - diff --git a/package/binutils/arc-2016.09-eng007/0300-ld-makefile.patch b/package/binutils/arc-2016.09-eng010/0300-ld-makefile.patch index 73cc09802..73cc09802 100644 --- a/package/binutils/arc-2016.09-eng007/0300-ld-makefile.patch +++ b/package/binutils/arc-2016.09-eng010/0300-ld-makefile.patch diff --git a/package/binutils/arc-2016.09-eng007/0301-check-ldrunpath-length.patch b/package/binutils/arc-2016.09-eng010/0301-check-ldrunpath-length.patch index 3b4c204c7..3b4c204c7 100644 --- a/package/binutils/arc-2016.09-eng007/0301-check-ldrunpath-length.patch +++ b/package/binutils/arc-2016.09-eng010/0301-check-ldrunpath-length.patch diff --git a/package/binutils/arc-2016.09-eng007/0500-add-sysroot-fix-from-bug-3049.patch b/package/binutils/arc-2016.09-eng010/0500-add-sysroot-fix-from-bug-3049.patch index f67a43efd..f67a43efd 100644 --- a/package/binutils/arc-2016.09-eng007/0500-add-sysroot-fix-from-bug-3049.patch +++ b/package/binutils/arc-2016.09-eng010/0500-add-sysroot-fix-from-bug-3049.patch diff --git a/package/binutils/arc-2016.09-eng007/0600-poison-system-directories.patch b/package/binutils/arc-2016.09-eng010/0600-poison-system-directories.patch index d16994ec0..d16994ec0 100644 --- a/package/binutils/arc-2016.09-eng007/0600-poison-system-directories.patch +++ b/package/binutils/arc-2016.09-eng010/0600-poison-system-directories.patch diff --git a/package/binutils/binutils.hash b/package/binutils/binutils.hash index 502e33859..397962880 100644 --- a/package/binutils/binutils.hash +++ b/package/binutils/binutils.hash @@ -4,4 +4,4 @@ sha512 0b36dda0e6d32cd25613c0e64b56b28312515c54d6a159efd3db9a86717f114ab0a0a1f6 sha512 9d9165609fd3b0f20d616f9891fc8e2b466eb13e2bfce40125e12427f8f201d20e2b8322bb6cb2b45e8df812f0e8ac059149f8a1f69ba3ed9d86a35c6a540b67 binutils-2.26.1.tar.bz2 # Locally calculated (fetched from Github) -sha512 5ab5d45671ad57eff8f8688260c425ca5b10440b89fd54387a68e7834abee190c540bd2d19292d119f2add6fdf5d39d378315f97384ae26e74d9917b1e163291 binutils-arc-2016.09-eng007.tar.gz +sha512 32d2f04ec62ee0491fd711baf7e6f28052170b1fa4cb8f6046ca4709e03250335a65b362295c13c7c44f8a28d91d2c54b0ab7c8f0f2e2324ea8ba2c80cbee29a binutils-arc-2016.09-eng010.tar.gz diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk index 68f770761..ff90a16d8 100644 --- a/package/binutils/binutils.mk +++ b/package/binutils/binutils.mk @@ -9,7 +9,7 @@ BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION)) ifeq ($(BINUTILS_VERSION),) ifeq ($(BR2_arc),y) -BINUTILS_VERSION = arc-2016.09-eng007 +BINUTILS_VERSION = arc-2016.09-eng010 else BINUTILS_VERSION = 2.25.1 endif @@ -58,6 +58,7 @@ BINUTILS_CONF_OPTS = \ --host=$(GNU_TARGET_NAME) \ --target=$(GNU_TARGET_NAME) \ --enable-install-libiberty \ + --enable-build-warnings=no \ $(BINUTILS_DISABLE_GDB_CONF_OPTS) \ $(BINUTILS_EXTRA_CONFIG_OPTIONS) @@ -70,6 +71,12 @@ endif BINUTILS_CONF_ENV += ac_cv_prog_MAKEINFO=missing HOST_BINUTILS_CONF_ENV += ac_cv_prog_MAKEINFO=missing +# gcc bug with Os/O2/O3, PR77311 +# error: unable to find a register to spill in class 'CCREGS' +ifeq ($(BR2_bfin),y) +BINUTILS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O1" +endif + # Install binutils after busybox to prefer full-blown utilities ifeq ($(BR2_PACKAGE_BUSYBOX),y) BINUTILS_DEPENDENCIES += busybox diff --git a/package/boa/boa.conf b/package/boa/boa.conf index f51c23731..e94029665 100644 --- a/package/boa/boa.conf +++ b/package/boa/boa.conf @@ -46,7 +46,7 @@ Port 80 # Group: The group name or GID the server should run as. User nobody -Group nobody +Group nogroup # ServerAdmin: The email address where server problems should be sent. # Note: this is not currently used, except as an environment variable diff --git a/package/busybox/0003-gzip.patch b/package/busybox/0003-gzip.patch new file mode 100644 index 000000000..f9b321fc5 --- /dev/null +++ b/package/busybox/0003-gzip.patch @@ -0,0 +1,18 @@ +From upstream: https://busybox.net/downloads/fixes-1.25.0/ + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +--- busybox-1.25.0/archival/gzip.c ++++ busybox-1.25.0-gzip/archival/gzip.c +@@ -2220,10 +2220,7 @@ int gzip_main(int argc UNUSED_PARAM, cha + opt >>= ENABLE_GUNZIP ? 7 : 5; /* drop cfv[dt]qn bits */ + if (opt == 0) + opt = 1 << 6; /* default: 6 */ +- /* Map 1..3 to 4 */ +- if (opt & 0x7) +- opt |= 1 << 4; +- opt = ffs(opt >> 3); ++ opt = ffs(opt >> 4); /* Maps -1..-4 to [0], -5 to [1] ... -9 to [5] */ + max_chain_length = 1 << gzip_level_config[opt].chain_shift; + good_match = gzip_level_config[opt].good; + max_lazy_match = gzip_level_config[opt].lazy2 * 2; diff --git a/package/busybox/0004-ip.patch b/package/busybox/0004-ip.patch new file mode 100644 index 000000000..d392adc19 --- /dev/null +++ b/package/busybox/0004-ip.patch @@ -0,0 +1,18 @@ +From upstream: https://busybox.net/downloads/fixes-1.25.0/ + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +--- busybox-1.25.0/networking/libiproute/iproute.c ++++ busybox-1.25.0-ip/networking/libiproute/iproute.c +@@ -362,10 +362,9 @@ IF_FEATURE_IP_RULE(ARG_table,) + req.r.rtm_scope = RT_SCOPE_NOWHERE; + + if (cmd != RTM_DELROUTE) { ++ req.r.rtm_scope = RT_SCOPE_UNIVERSE; + if (RTPROT_BOOT != 0) + req.r.rtm_protocol = RTPROT_BOOT; +- if (RT_SCOPE_UNIVERSE != 0) +- req.r.rtm_scope = RT_SCOPE_UNIVERSE; + if (RTN_UNICAST != 0) + req.r.rtm_type = RTN_UNICAST; + } diff --git a/package/busybox/0005-ntpd.patch b/package/busybox/0005-ntpd.patch new file mode 100644 index 000000000..f652ec667 --- /dev/null +++ b/package/busybox/0005-ntpd.patch @@ -0,0 +1,20 @@ +From upstream: https://busybox.net/downloads/fixes-1.25.0/ + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +--- busybox-1.25.0/networking/ntpd.c ++++ busybox-1.25.0-ntpd/networking/ntpd.c +@@ -2051,6 +2051,13 @@ recv_and_process_client_pkt(void /*int f + goto bail; + } + ++ /* Respond only to client and symmetric active packets */ ++ if ((msg.m_status & MODE_MASK) != MODE_CLIENT ++ && (msg.m_status & MODE_MASK) != MODE_SYM_ACT ++ ) { ++ goto bail; ++ } ++ + query_status = msg.m_status; + query_xmttime = msg.m_xmttime; + diff --git a/package/busybox/0006-top-move-free-prev_hist-out-of-signal-path.patch b/package/busybox/0006-top-move-free-prev_hist-out-of-signal-path.patch new file mode 100644 index 000000000..f5e294201 --- /dev/null +++ b/package/busybox/0006-top-move-free-prev_hist-out-of-signal-path.patch @@ -0,0 +1,48 @@ +From aedc3fe19fac368dc363050e0387d263b7e01cc6 Mon Sep 17 00:00:00 2001 +From: Denys Vlasenko <vda.linux@googlemail.com> +Date: Fri, 19 Aug 2016 11:07:31 +0200 +Subject: [PATCH] top: move free(prev_hist) out of signal path + +It was seen being called recursively on repeated signals, +leading to double free + +Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> +Backported-from: https://git.busybox.net/busybox/commit/?id=aedc3fe19fac368dc363050e0387d263b7e01cc6 +Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> + +--- + procps/top.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/procps/top.c b/procps/top.c +index 73cd285..6f7f7d3 100644 +--- a/procps/top.c ++++ b/procps/top.c +@@ -728,12 +728,6 @@ static void reset_term(void) + { + if (!OPT_BATCH_MODE) + tcsetattr_stdin_TCSANOW(&initial_settings); +- if (ENABLE_FEATURE_CLEAN_UP) { +- clearmems(); +-# if ENABLE_FEATURE_TOP_CPU_USAGE_PERCENTAGE +- free(prev_hist); +-# endif +- } + } + + static void sig_catcher(int sig) +@@ -1258,5 +1252,11 @@ int top_main(int argc UNUSED_PARAM, char **argv) + #if ENABLE_FEATURE_USE_TERMIOS + reset_term(); + #endif ++ if (ENABLE_FEATURE_CLEAN_UP) { ++ clearmems(); ++#if ENABLE_FEATURE_TOP_CPU_USAGE_PERCENTAGE ++ free(prev_hist); ++#endif ++ } + return EXIT_SUCCESS; + } +-- +2.7.4 + diff --git a/package/cairo/cairo.mk b/package/cairo/cairo.mk index b79899565..d7e370ae7 100644 --- a/package/cairo/cairo.mk +++ b/package/cairo/cairo.mk @@ -12,6 +12,11 @@ CAIRO_SITE = http://cairographics.org/releases CAIRO_INSTALL_STAGING = YES CAIRO_AUTORECONF = YES +# relocation truncated to fit: R_68K_GOT16O +ifeq ($(BR2_m68k_cf),y) +CAIRO_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -mxgot" +endif + ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) CAIRO_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -DCAIRO_NO_MUTEX=1" endif diff --git a/package/connman-gtk/Config.in b/package/connman-gtk/Config.in index c7857d0ef..467bf7ec8 100644 --- a/package/connman-gtk/Config.in +++ b/package/connman-gtk/Config.in @@ -1,8 +1,9 @@ -comment "connman-gtk needs libgtk3 and a toolchain w/ wchar, threads, resolver, dynamic library" +comment "connman-gtk needs libgtk3 and a glibc or uClibc toolchain w/ wchar, threads, resolver, dynamic library" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - BR2_STATIC_LIBS || !BR2_PACKAGE_LIBGTK3 + BR2_STATIC_LIBS || !BR2_PACKAGE_LIBGTK3 || \ + BR2_TOOLCHAIN_USES_MUSL config BR2_PACKAGE_CONNMAN_GTK bool "connman-gtk" @@ -11,6 +12,7 @@ config BR2_PACKAGE_CONNMAN_GTK depends on BR2_USE_MMU # libglib2 depends on !BR2_STATIC_LIBS # connman depends on BR2_TOOLCHAIN_HAS_SYNC_4 # connman + depends on !BR2_TOOLCHAIN_USES_MUSL # connman depends on BR2_PACKAGE_LIBGTK3 select BR2_PACKAGE_CONNMAN select BR2_PACKAGE_LIBGLIB2 diff --git a/package/connman/Config.in b/package/connman/Config.in index f723a31aa..6ed40beab 100644 --- a/package/connman/Config.in +++ b/package/connman/Config.in @@ -8,6 +8,7 @@ config BR2_PACKAGE_CONNMAN depends on BR2_USE_MMU # dbus, libglib2 depends on !BR2_STATIC_LIBS # needs dlopen() depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_TOOLCHAIN_USES_MUSL # mixes userspace and kernel headers help The Connection Manager (ConnMan) project provides a daemon for managing internet connections within embedded devices @@ -66,7 +67,8 @@ config BR2_PACKAGE_CONNMAN_CLIENT endif # BR2_PACKAGE_CONNMAN -comment "connman needs a toolchain w/ wchar, threads, resolver, dynamic library" +comment "connman needs a glibc or uClibc toolchain w/ wchar, threads, resolver, dynamic library" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \ + || BR2_TOOLCHAIN_USES_MUSL diff --git a/package/dante/0002-compiler.m4-do-not-remove-g-flag.patch b/package/dante/0002-compiler.m4-do-not-remove-g-flag.patch new file mode 100644 index 000000000..0b41de619 --- /dev/null +++ b/package/dante/0002-compiler.m4-do-not-remove-g-flag.patch @@ -0,0 +1,42 @@ +From c00e284dd2baa5ecdb0c9586044399cd7cacce3e Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Mon, 8 Aug 2016 12:31:40 +0200 +Subject: [PATCH] compiler.m4: do not remove -g flag + +A sed expression such as 's/-g//' not only removes the -g +debugging-related flag, but also turns more specific flags such as +-mfloat-gprs=double into -mfloatprs=double, which is no longer a valid +flag. + +However, it turns out that removing -g is not necessary: having -g0 +after -g negates the -g, and having -ggdb after -g is enough to produce +debugging information for GDB. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + compiler.m4 | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/compiler.m4 b/compiler.m4 +index 3a23406..621372c 100644 +--- a/compiler.m4 ++++ b/compiler.m4 +@@ -378,15 +378,9 @@ else + gcc) + if test x"$aixldbug" != x; then + #disable debug info +- if echo $CFLAGS | grep -- "-g" >/dev/null; then +- CFLAGS="`echo $CFLAGS | sed -e 's/-g//g'`" +- fi + CFLAGS="$CFLAGS${CFLAGS:+ }-g0" + else + #use -ggdb also when not debugging +- if echo $CFLAGS | grep -- "-g" >/dev/null; then +- CFLAGS="`echo $CFLAGS | sed -e 's/-g//g'`" +- fi + CFLAGS="$CFLAGS${CFLAGS:+ }-ggdb" + fi + ;; +-- +2.7.4 + diff --git a/package/domoticz/0001-add-proper-check-for-detecting-header-execinfo.h.patch b/package/domoticz/0001-add-proper-check-for-detecting-header-execinfo.h.patch new file mode 100644 index 000000000..55bbb7dc9 --- /dev/null +++ b/package/domoticz/0001-add-proper-check-for-detecting-header-execinfo.h.patch @@ -0,0 +1,58 @@ +From f0da50118f7bd01ed7fa97e75b790a8232d8d4dc Mon Sep 17 00:00:00 2001 +From: Rahul Bedarkar <rahul.bedarkar@imgtec.com> +Date: Thu, 25 Aug 2016 17:23:38 +0530 +Subject: [PATCH] add proper check for detecting header <execinfo.h> + +domoticz.cpp currently assumes that on GNU/Linux systems header +<execinfo.h> is available. But that is not true. Since it provided by +C library and uClibc can be built without backtrace support. And in +such cases we get following build error. + + domoticz-3.4834/main/domoticz.cpp:48:22: fatal error: execinfo.h: No such file or directory + #include <execinfo.h> + ^ + compilation terminated. + +Instead of depending on __gnu_linux__, add check for detecting +presence of <execinfo.h> and guard code for dumpstack accordingly. + +This build failure is detected by Buildroot autobuilder. +http://autobuild.buildroot.net/results/393/393f839e160b51ca12ac36058718ad2f0c1b50a6/ + +Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com> +--- + CMakeLists.txt | 7 +++++++ + main/domoticz.cpp | 2 +- + 2 files changed, 8 insertions(+), 1 deletion(-) + +Index: b/CMakeLists.txt +=================================================================== +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -61,6 +61,13 @@ + "Where to put the executables for Domoticz" + ) + ++INCLUDE(CheckIncludeFiles) ++CHECK_INCLUDE_FILES (execinfo.h HAVE_EXECINFO_H) ++ ++IF(HAVE_EXECINFO_H) ++ ADD_DEFINITIONS(-DHAVE_EXECINFO_H) ++ENDIF(HAVE_EXECINFO_H) ++ + #set(CMAKE_EXE_LINKER_FLAGS "-static") + + # Macro for setting up precompiled headers. Usage: +Index: b/main/domoticz.cpp +=================================================================== +--- a/main/domoticz.cpp ++++ b/main/domoticz.cpp +@@ -44,7 +44,7 @@ + #include <string.h>
+ #endif
+
+-#ifdef __gnu_linux__
++#ifdef HAVE_EXECINFO_H
+ #include <execinfo.h>
+ static void dumpstack(void) {
+ // Notes :
diff --git a/package/elf2flt/0001-elf2flt-fix-relocation-support-for-R_ARM_TARGET-type.patch b/package/elf2flt/0001-elf2flt-fix-relocation-support-for-R_ARM_TARGET-type.patch new file mode 100644 index 000000000..b9615ab34 --- /dev/null +++ b/package/elf2flt/0001-elf2flt-fix-relocation-support-for-R_ARM_TARGET-type.patch @@ -0,0 +1,34 @@ +From dedce8765d203c1c162a57e6259375e0b457173f Mon Sep 17 00:00:00 2001 +From: Greg Ungerer <gerg@linux-m68k.org> +Date: Fri, 19 Aug 2016 23:49:51 +1000 +Subject: [PATCH] elf2flt: fix relocation support for R_ARM_TARGET types + +R_ARM_TARGET1 (and I think R_ARM_TARGET2) relocation types should be +treated in the same way as R_ARM_ABS32. Fix them to write out the addend +to the flat binary in network byte order. + +Signed-off-by: Greg Ungerer <gerg@uclinux.org> +Tested-by: Waldemar Brodkorb <wbx@openadk.org> + +--- + elf2flt.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/elf2flt.c b/elf2flt.c +index 5ae7dd9..3f31569 100644 +--- a/elf2flt.c ++++ b/elf2flt.c +@@ -1505,7 +1505,9 @@ DIS29_RELOCATION: + (((*p)->howto->type != R_ARM_PC24) && + ((*p)->howto->type != R_ARM_PLT32))) + tmp.c[i3] = (hl >> 24) & 0xff; +- if ((*p)->howto->type == R_ARM_ABS32) ++ if (((*p)->howto->type == R_ARM_ABS32) || ++ ((*p)->howto->type == R_ARM_TARGET1) || ++ ((*p)->howto->type == R_ARM_TARGET2)) + *(uint32_t *)r_mem = htonl(hl); + else + *(uint32_t *)r_mem = tmp.l; +-- +1.9.1 + diff --git a/package/enlightenment/0001-E-include-uuid.h-only-when-Wayland-support-is-enable.patch b/package/enlightenment/0001-E-include-uuid.h-only-when-Wayland-support-is-enable.patch new file mode 100644 index 000000000..3f33fa328 --- /dev/null +++ b/package/enlightenment/0001-E-include-uuid.h-only-when-Wayland-support-is-enable.patch @@ -0,0 +1,39 @@ +From 368c4c7cc5722b2edfe98fb3a8999f8f01bc9b56 Mon Sep 17 00:00:00 2001 +From: Romain Naour <romain.naour@gmail.com> +Date: Fri, 5 Aug 2016 21:14:46 +0200 +Subject: [PATCH] E: include uuid.h only when Wayland support is enabled. + +libuuid is checked only when Wayland support is enabled and +uuid_t uuid is guarded by HAVE_WAYLAND. + +So move include uuid.h below a HAVE_WAYLAND. + +Signed-off-by: Romain Naour <romain.naour@gmail.com> +--- + src/bin/e_pixmap.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c +index 2bd94a7..0b01473 100644 +--- a/src/bin/e_pixmap.c ++++ b/src/bin/e_pixmap.c +@@ -2,6 +2,7 @@ + + #ifdef HAVE_WAYLAND + # include "e_comp_wl.h" ++# include <uuid.h> + # ifndef EGL_TEXTURE_FORMAT + # define EGL_TEXTURE_FORMAT 0x3080 + # endif +@@ -13,8 +14,6 @@ + # include "e_comp_x.h" + #endif + +-#include <uuid.h> +- + static Eina_Hash *pixmaps[2] = {NULL}; + static Eina_Hash *aliases[2] = {NULL}; + +-- +2.5.5 + diff --git a/package/fbterm/0003-C++11-compliance.patch b/package/fbterm/0003-C++11-compliance.patch new file mode 100644 index 000000000..1a06da3d1 --- /dev/null +++ b/package/fbterm/0003-C++11-compliance.patch @@ -0,0 +1,93 @@ +lib/vterm_states: fix C++11 compliance + +In C++11, narrowing a type is no longer allowed in structure +initializers: + + struct foo { u16 u; }; + foo f[] = { {0}, {-1} }; + +results in the gcc-6 to whine out loudly, and fail: + + error: narrowing conversion of ‘-1’ from ‘int’ to ‘u16 {aka short unsigned int}’ inside { } [-Wnarrowing] + }; + ^ + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +diff -durN fbterm-1.7.0.orig/src/lib/vterm_states.cpp fbterm-1.7.0/src/lib/vterm_states.cpp +--- fbterm-1.7.0.orig/src/lib/vterm_states.cpp 2010-10-06 06:23:08.000000000 +0200 ++++ fbterm-1.7.0/src/lib/vterm_states.cpp 2016-08-13 16:54:29.495451127 +0200 +@@ -22,6 +22,7 @@ + #include "vterm.h" + + #define ADDSAME(len) ((len) << 8) ++#define ENDSEQ { ((u16)-1) } + + const VTerm::Sequence VTerm::control_sequences[] = { + { 0, 0, ESkeep }, +@@ -39,14 +40,14 @@ + { 0x1B, 0, ESesc }, + { 0x7F, 0, ESkeep }, + { 0x9B, 0, ESsquare }, +- { -1} ++ ENDSEQ + }; + + const VTerm::Sequence VTerm::escape_sequences[] = { + { 0, 0, ESnormal }, + + // ESnormal +- { -1 }, ++ ENDSEQ, + + // ESesc + { '[', &VTerm::clear_param, ESsquare }, +@@ -65,7 +66,7 @@ + { '8', &VTerm::restore_cursor, ESnormal }, + { '>', &VTerm::keypad_numeric, ESnormal }, + { '=', &VTerm::keypad_application, ESnormal }, +- { -1 }, ++ ENDSEQ, + + // ESsquare + { '[', 0, ESfunckey }, +@@ -104,7 +105,7 @@ + { '`', &VTerm::cursor_position_col, ESnormal }, + { ']', &VTerm::linux_specific, ESnormal }, + { '}', &VTerm::fbterm_specific, ESnormal }, +- { -1 }, ++ ENDSEQ, + + // ESnonstd + { '0' | ADDSAME(9), &VTerm::set_palette, ESkeep }, +@@ -112,25 +113,25 @@ + { 'a' | ADDSAME(5), &VTerm::set_palette, ESkeep }, + { 'P', &VTerm::begin_set_palette, ESkeep }, + { 'R', &VTerm::reset_palette, ESnormal }, +- { -1 }, ++ ENDSEQ, + + // ESpercent + { '@', &VTerm::clear_utf8, ESnormal }, + { 'G', &VTerm::set_utf8, ESnormal }, + { '8', &VTerm::set_utf8, ESnormal }, +- { -1 }, ++ ENDSEQ, + + // EScharset + { '0', &VTerm::set_charset, ESnormal }, + { 'B', &VTerm::set_charset, ESnormal }, + { 'U', &VTerm::set_charset, ESnormal }, + { 'K', &VTerm::set_charset, ESnormal }, +- { -1 }, ++ ENDSEQ, + + // EShash + { '8', &VTerm::screen_align, ESnormal }, +- { -1 }, ++ ENDSEQ, + + // ESfunckey +- { -1 }, ++ ENDSEQ, + }; diff --git a/package/ffmpeg/0013-bfin-disable-optimization.patch b/package/ffmpeg/0013-bfin-disable-optimization.patch new file mode 100644 index 000000000..1d8a4f015 --- /dev/null +++ b/package/ffmpeg/0013-bfin-disable-optimization.patch @@ -0,0 +1,26 @@ +Fix bfin compile error + +See gcc bug report: +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77311 + +Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> + +diff -Nur ffmpeg-2.8.7.orig/libavcodec/hevcdsp_template.c ffmpeg-2.8.7/libavcodec/hevcdsp_template.c +--- ffmpeg-2.8.7.orig/libavcodec/hevcdsp_template.c 2016-03-29 04:25:16.000000000 +0200 ++++ ffmpeg-2.8.7/libavcodec/hevcdsp_template.c 2016-08-12 21:32:36.728178969 +0200 +@@ -1517,7 +1517,14 @@ + #define TQ2 pix[2 * xstride + 3 * ystride] + #define TQ3 pix[3 * xstride + 3 * ystride] + +-static void FUNC(hevc_loop_filter_luma)(uint8_t *_pix, ++// Blackfin gcc 6.1.x fails with ++// unable to find a register to spill in class CCREGS ++#if defined(__bfin__) ++#define disable_opt __attribute__ ((optimize("O1"))) ++#else ++#define disable_opt ++#endif ++static void disable_opt FUNC(hevc_loop_filter_luma)(uint8_t *_pix, + ptrdiff_t _xstride, ptrdiff_t _ystride, + int beta, int *_tc, + uint8_t *_no_p, uint8_t *_no_q) diff --git a/package/ffmpeg/Config.in b/package/ffmpeg/Config.in index 6b7a6e7b1..a3ca1054d 100644 --- a/package/ffmpeg/Config.in +++ b/package/ffmpeg/Config.in @@ -1,7 +1,8 @@ config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS bool # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2 - default y if !BR2_nios2 + # No support for ARMv7-M in the ARM assembly logic + default y if !BR2_nios2 && !BR2_ARM_CPU_ARMV7M menuconfig BR2_PACKAGE_FFMPEG bool "ffmpeg" diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk index fe6aa3d04..a90d437e4 100644 --- a/package/ffmpeg/ffmpeg.mk +++ b/package/ffmpeg/ffmpeg.mk @@ -437,13 +437,17 @@ FFMPEG_CONF_OPTS += --disable-vfp endif ifeq ($(BR2_ARM_CPU_HAS_NEON),y) FFMPEG_CONF_OPTS += --enable-neon +else +FFMPEG_CONF_OPTS += --disable-neon endif +ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y) ifeq ($(BR2_MIPS_SOFT_FLOAT),y) FFMPEG_CONF_OPTS += --disable-mipsfpu else FFMPEG_CONF_OPTS += --enable-mipsfpu endif +endif # MIPS ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y) FFMPEG_CONF_OPTS += --enable-altivec diff --git a/package/flex/0002-fix-CVE-2016-6354.patch b/package/flex/0002-fix-CVE-2016-6354.patch new file mode 100644 index 000000000..b0c780b99 --- /dev/null +++ b/package/flex/0002-fix-CVE-2016-6354.patch @@ -0,0 +1,25 @@ +From a5cbe929ac3255d371e698f62dc256afe7006466 Mon Sep 17 00:00:00 2001 +From: Will Estes <westes575@gmail.com> +Date: Sat, 27 Feb 2016 11:56:05 -0500 +Subject: [PATCH] Fixed incorrect integer type + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> +--- +Status: upstream + + flex.skl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/flex.skl b/src/flex.skl +index 36a526a..64f853d 100644 +--- a/flex.skl ++++ b/flex.skl +@@ -1703,7 +1703,7 @@ int yyFlexLexer::yy_get_next_buffer() + + else + { +- yy_size_t num_to_read = ++ int num_to_read = + YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; + + while ( num_to_read <= 0 ) diff --git a/package/fontconfig/fontconfig.hash b/package/fontconfig/fontconfig.hash index e4ec1ac17..ad3582557 100644 --- a/package/fontconfig/fontconfig.hash +++ b/package/fontconfig/fontconfig.hash @@ -1,2 +1,2 @@ -# From http://lists.freedesktop.org/archives/fontconfig/2014-March/005167.html -sha256 b6b066c7dce3f436fdc0dfbae9d36122b38094f4f53bd8dffd45e195b0540d8d fontconfig-2.11.1.tar.gz +# From https://lists.freedesktop.org/archives/fontconfig/2016-August/005794.html +sha256 b449a3e10c47e1d1c7a6ec6e2016cca73d3bd68fbbd4f0ae5cc6b573f7d6c7f3 fontconfig-2.12.1.tar.bz2 diff --git a/package/fontconfig/fontconfig.mk b/package/fontconfig/fontconfig.mk index f3bf0d405..93f2a1593 100644 --- a/package/fontconfig/fontconfig.mk +++ b/package/fontconfig/fontconfig.mk @@ -4,8 +4,9 @@ # ################################################################################ -FONTCONFIG_VERSION = 2.11.1 +FONTCONFIG_VERSION = 2.12.1 FONTCONFIG_SITE = http://fontconfig.org/release +FONTCONFIG_SOURCE = fontconfig-$(FONTCONFIG_VERSION).tar.bz2 FONTCONFIG_INSTALL_STAGING = YES FONTCONFIG_DEPENDENCIES = freetype expat host-pkgconf HOST_FONTCONFIG_DEPENDENCIES = host-freetype host-expat host-pkgconf diff --git a/package/freescale-imx/imx-uuc/Config.in b/package/freescale-imx/imx-uuc/Config.in index d18157540..ed734ad7e 100644 --- a/package/freescale-imx/imx-uuc/Config.in +++ b/package/freescale-imx/imx-uuc/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_IMX_UUC bool "imx-uuc" depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_arm # Only relevant for i.MX + depends on BR2_USE_MMU # fork() select BR2_PACKAGE_HOST_DOSFSTOOLS help This package provides the Universal Adapter user-space @@ -16,4 +17,5 @@ config BR2_PACKAGE_IMX_UUC comment "imx-uuc needs a toolchain w/ threads" depends on BR2_arm + depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/fwup/fwup.hash b/package/fwup/fwup.hash index 6d9a1eabe..e21eff0a6 100644 --- a/package/fwup/fwup.hash +++ b/package/fwup/fwup.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 56d30f4ddf7929d693c022455978aebef1f6adb5896437a199bde43d5459da68 fwup-v0.8.0.tar.gz +sha256 64c3a0ac38dc11c0c05b2588a89638cbc37f5552ac0f1c290f7ee5365f2bba49 fwup-v0.8.2.tar.gz diff --git a/package/fwup/fwup.mk b/package/fwup/fwup.mk index ae8571690..3d3e3befb 100644 --- a/package/fwup/fwup.mk +++ b/package/fwup/fwup.mk @@ -4,7 +4,7 @@ # ############################################################# -FWUP_VERSION = v0.8.0 +FWUP_VERSION = v0.8.2 FWUP_SITE = $(call github,fhunleth,fwup,$(FWUP_VERSION)) FWUP_LICENSE = Apache-2.0 FWUP_LICENSE_FILES = LICENSE diff --git a/package/gcc/6.1.0/892-disable-dwarf-bfin.patch b/package/gcc/6.1.0/892-disable-dwarf-bfin.patch deleted file mode 100644 index ebd31a185..000000000 --- a/package/gcc/6.1.0/892-disable-dwarf-bfin.patch +++ /dev/null @@ -1,24 +0,0 @@ -Dwarf support does not compile on Blackfin - -Reported upstream: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68468 - -Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> - -diff -Nur gcc-6.1.0.orig/libgcc/config.host gcc-6.1.0/libgcc/config.host ---- gcc-6.1.0.orig/libgcc/config.host 2016-02-26 21:02:28.000000000 +0100 -+++ gcc-6.1.0/libgcc/config.host 2016-05-12 19:26:30.973350274 +0200 -@@ -230,6 +230,13 @@ - ;; - esac - ;; -+bfin-*-*linux*) -+ tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux" -+ extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" -+ if test x$enable_vtable_verify = xyes; then -+ extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o" -+ fi -+ ;; - *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu) - tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux" - extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" diff --git a/package/gcc/6.1.0/892-libgcc-mkmap-symver-support-skip_underscore.patch b/package/gcc/6.1.0/892-libgcc-mkmap-symver-support-skip_underscore.patch new file mode 100644 index 000000000..1f779ed6f --- /dev/null +++ b/package/gcc/6.1.0/892-libgcc-mkmap-symver-support-skip_underscore.patch @@ -0,0 +1,74 @@ +From ae9c3e354440c4a0f105a9eabfb2f77be085ebc1 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Thu, 18 Aug 2016 17:59:16 +0200 +Subject: [PATCH] libgcc/mkmap-symver: support skip_underscore + +Some platforms, such as Blackfin, have a special prefix for assembly +symbols as opposed to C symbols. For this reason, a function named +"foo()" in C will in fact be visible as a symbol called "_foo" in the +ELF binary. + +The current linker version script logic in libgcc doesn't take into +account this situation properly. The Blackfin specific +libgcc/config/bfin/libgcc-glibc.ver has an additional "_" in front of +every symbol so that it matches the output of "nm" (which gets parsed to +produce the final linker version script). But due to this additional +"_", ld no longer matches with the symbols since "ld" does the matching +with the original symbol name, not the one prefixed with "_". + +Due to this, none of the symbols in libgcc/config/bfin/libgcc-glibc.ver +are actually matched with symbols in libgcc. This causes all libgcc +symbols to be left as "LOCAL", which causes lots of "undefined +reference" whenever some C or C++ code that calls a function of libgcc +is compiled. + +To address this, this commit introduces a "skip_underscore" variable to +the mkmap-symver script. It tells mkmap-symver to ignore the leading +underscore from the "nm" output. + +Note that this new argument is different from the existing +"leading_underscore" argument, which *adds* an additional underscore to +the generated linker version script. + +Having this functionality paves the way to using the generic linker +version information for Blackfin, instead of using a custom one. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + libgcc/ChangeLog | 5 +++++ + libgcc/mkmap-symver.awk | 6 +++++- + 2 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog +index 6559564..129e43f 100644 +--- a/libgcc/ChangeLog ++++ b/libgcc/ChangeLog +@@ -1,3 +1,8 @@ ++2016-08-19 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ++ ++ PR gcc/74748 ++ * libgcc/mkmap-symver.awk: add support for skip_underscore ++ + 2016-04-27 Release Manager + + * GCC 6.1.0 released. +diff --git a/libgcc/mkmap-symver.awk b/libgcc/mkmap-symver.awk +index 266832a..30bb179 100644 +--- a/libgcc/mkmap-symver.awk ++++ b/libgcc/mkmap-symver.awk +@@ -47,7 +47,11 @@ state == "nm" && ($1 == "U" || $2 == "U") { + + state == "nm" && NF == 3 { + split ($3, s, "@") +- def[s[1]] = 1; ++ if (skip_underscore) ++ symname = substr(s[1], 2); ++ else ++ symname = s[1]; ++ def[symname] = 1; + sawsymbol = 1; + next; + } +-- +2.7.4 + diff --git a/package/gcc/6.1.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch b/package/gcc/6.1.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch new file mode 100644 index 000000000..8db50b589 --- /dev/null +++ b/package/gcc/6.1.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch @@ -0,0 +1,1962 @@ +From 56d606931716de30a89a40dc69a9282c1b4e2880 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Thu, 18 Aug 2016 18:04:06 +0200 +Subject: [PATCH] libgcc/config/bfin: use the generic linker version + information + +This commit makes the Blackfin platform use the generic linker version +information, rather than a completely duplicated file, specific for the +Blackfin architecture. + +This is made possible using the newly introduced skip_underscore +variable of the mkmap-symver script. + +This also allows to get a correct linker version file, with symbol names +matching the ones found in libgcc. Thanks to this, the necessary symbols +are marked "GLOBAL" instead of "LOCAL", which makes them visible at link +time, and solves a large number of "undefined reference" +issues. Indeed, the Blackfin specific linker version script had an extra +underscore in front of all symbols, which meant none of them matched the +symbols in libgcc, and therefore all libgcc symbols were marked as +"LOCAL", making them invisible for linking. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + libgcc/ChangeLog | 6 + + libgcc/config/bfin/libgcc-glibc.ver | 1894 +---------------------------------- + libgcc/config/bfin/t-linux | 3 +- + 3 files changed, 10 insertions(+), 1893 deletions(-) + +diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog +index 129e43f..36c0194 100644 +--- a/libgcc/ChangeLog ++++ b/libgcc/ChangeLog +@@ -1,6 +1,12 @@ + 2016-08-19 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + + PR gcc/74748 ++ * libgcc/config/bfin/libgcc-glibc.ver, libgcc/config/bfin/t-linux: ++ use generic linker version information on Blackfin. ++ ++2016-08-19 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ++ ++ PR gcc/74748 + * libgcc/mkmap-symver.awk: add support for skip_underscore + + 2016-04-27 Release Manager +diff --git a/libgcc/config/bfin/libgcc-glibc.ver b/libgcc/config/bfin/libgcc-glibc.ver +index b1bd2df..2af3df7 100644 +--- a/libgcc/config/bfin/libgcc-glibc.ver ++++ b/libgcc/config/bfin/libgcc-glibc.ver +@@ -16,1898 +16,8 @@ + # along with GCC; see the file COPYING3. If not see + # <http://www.gnu.org/licenses/>. + +-GCC_3.0 { +- # libgcc1 integer symbols +- ___absvsi2 +- ___addvsi3 +- ___ashlsi3 +- ___ashrsi3 +- ___divsi3 +- ___lshrsi3 +- ___modsi3 +- ___mulsi3 +- ___mulvsi3 +- ___negvsi2 +- ___subvsi3 +- ___udivsi3 +- ___umodsi3 +- +- # libgcc1 floating point symbols +- ___addsf3 +- ___adddf3 +- ___addxf3 +- ___addtf3 +- ___divsf3 +- ___divdf3 +- ___divxf3 +- ___divtf3 +- ___eqsf2 +- ___eqdf2 +- ___eqxf2 +- ___eqtf2 +- ___extenddfxf2 +- ___extenddftf2 +- ___extendsfdf2 +- ___extendsfxf2 +- ___extendsftf2 +- ___fixsfsi +- ___fixdfsi +- ___fixxfsi +- ___fixtfsi +- ___floatsisf +- ___floatsidf +- ___floatsixf +- ___floatsitf +- ___gesf2 +- ___gedf2 +- ___gexf2 +- ___getf2 +- ___gtsf2 +- ___gtdf2 +- ___gtxf2 +- ___gttf2 +- ___lesf2 +- ___ledf2 +- ___lexf2 +- ___letf2 +- ___ltsf2 +- ___ltdf2 +- ___ltxf2 +- ___lttf2 +- ___mulsf3 +- ___muldf3 +- ___mulxf3 +- ___multf3 +- ___negsf2 +- ___negdf2 +- ___negxf2 +- ___negtf2 +- ___nesf2 +- ___nedf2 +- ___nexf2 +- ___netf2 +- ___subsf3 +- ___subdf3 +- ___subxf3 +- ___subtf3 +- ___truncdfsf2 +- ___truncxfsf2 +- ___trunctfsf2 +- ___truncxfdf2 +- ___trunctfdf2 +- +- # libgcc2 DImode arithmetic (for 32-bit targets). +- ___absvdi2 +- ___addvdi3 +- ___ashldi3 +- ___ashrdi3 +- ___cmpdi2 +- ___divdi3 +- ___ffsdi2 +- ___fixdfdi +- ___fixsfdi +- ___fixtfdi +- ___fixxfdi +- ___fixunsdfdi +- ___fixunsdfsi +- ___fixunssfsi +- ___fixunssfdi +- ___fixunstfdi +- ___fixunstfsi +- ___fixunsxfdi +- ___fixunsxfsi +- ___floatdidf +- ___floatdisf +- ___floatdixf +- ___floatditf +- ___lshrdi3 +- ___moddi3 +- ___muldi3 +- ___mulvdi3 +- ___negdi2 +- ___negvdi2 +- ___subvdi3 +- ___ucmpdi2 +- ___udivdi3 +- ___udivmoddi4 +- ___umoddi3 +- +- # libgcc2 TImode arithmetic (for 64-bit targets). +- ___ashlti3 +- ___ashrti3 +- ___cmpti2 +- ___divti3 +- ___ffsti2 +- ___fixdfti +- ___fixsfti +- ___fixtfti +- ___fixxfti +- ___lshrti3 +- ___modti3 +- ___multi3 +- ___negti2 +- ___ucmpti2 +- ___udivmodti4 +- ___udivti3 +- ___umodti3 +- ___fixunsdfti +- ___fixunssfti +- ___fixunstfti +- ___fixunsxfti +- ___floattidf +- ___floattisf +- ___floattixf +- ___floattitf +- +- # Used to deal with trampoline initialization on some platforms +- ___clear_cache +- +- # EH symbols +- __Unwind_DeleteException +- __Unwind_Find_FDE +- __Unwind_ForcedUnwind +- __Unwind_GetGR +- __Unwind_GetIP +- __Unwind_GetLanguageSpecificData +- __Unwind_GetRegionStart +- __Unwind_GetTextRelBase +- __Unwind_GetDataRelBase +- __Unwind_RaiseException +- __Unwind_Resume +- __Unwind_SetGR +- __Unwind_SetIP +- ___deregister_frame +- ___deregister_frame_info +- ___deregister_frame_info_bases +- ___register_frame +- ___register_frame_info +- ___register_frame_info_bases +- ___register_frame_info_table +- ___register_frame_info_table_bases +- ___register_frame_table +- +- # SjLj EH symbols +- __Unwind_SjLj_Register +- __Unwind_SjLj_Unregister +- __Unwind_SjLj_RaiseException +- __Unwind_SjLj_ForcedUnwind +- __Unwind_SjLj_Resume +-} +- +-%inherit GCC_3.3 GCC_3.0 +-GCC_3.3 { +- __Unwind_FindEnclosingFunction +- __Unwind_GetCFA +- __Unwind_Backtrace +- __Unwind_Resume_or_Rethrow +- __Unwind_SjLj_Resume_or_Rethrow +-} +- +-%inherit GCC_3.3.1 GCC_3.3 +-GCC_3.3.1 { +- ___gcc_personality_sj0 +- ___gcc_personality_v0 +-} +- +-%inherit GCC_3.3.2 GCC_3.3.1 +-GCC_3.3.2 { +-} +-%inherit GCC_3.3.4 GCC_3.3.2 +-GCC_3.3.4 { +- ___unorddf2 +- ___unordsf2 +-} +- +-%inherit GCC_3.4 GCC_3.3.4 +-GCC_3.4 { +- # bit scanning and counting built-ins +- ___clzsi2 +- ___clzdi2 +- ___clzti2 +- ___ctzsi2 +- ___ctzdi2 +- ___ctzti2 +- ___popcountsi2 +- ___popcountdi2 +- ___popcountti2 +- ___paritysi2 +- ___paritydi2 +- ___parityti2 +-} +- +-%inherit GCC_3.4.2 GCC_3.4 +-GCC_3.4.2 { +- # Used to deal with trampoline initialization on some platforms +- ___enable_execute_stack +- ___trampoline_setup +-} +- +-%inherit GCC_3.4.4 GCC_3.4.2 +-GCC_3.4.4 { +- # libgcc2 TImode arithmetic (for 64-bit targets). +- ___absvti2 +- ___addvti3 +- ___mulvti3 +- ___negvti2 +- ___subvti3 +-} +- +-%inherit GCC_4.0.0 GCC_3.4.4 +-GCC_4.0.0 { +- # libgcc2 __builtin_powi helpers. +- ___powisf2 +- ___powidf2 +- ___powixf2 +- ___powitf2 +- +- # c99 compliant complex arithmetic +- ___divsc3 +- ___divdc3 +- ___divxc3 +- ___divtc3 +- ___mulsc3 +- ___muldc3 +- ___mulxc3 +- ___multc3 +-} +- + %inherit GCC_4.1.0 GCC_4.0.0 + GCC_4.1.0 { +- ___smulsi3_highpart +- ___umulsi3_highpart +-} +- +-%inherit GCC_4.2.0 GCC_4.1.0 +-GCC_4.2.0 { +- # unsigned-to-floating conversions +- ___floatunsisf +- ___floatunsidf +- ___floatunsixf +- ___floatunsitf +- ___floatundidf +- ___floatundisf +- ___floatundixf +- ___floatunditf +- ___floatuntidf +- ___floatuntisf +- ___floatuntixf +- ___floatuntitf +- __Unwind_GetIPInfo +-} +- +-%inherit GCC_4.3.0 GCC_4.2.0 +-GCC_4.3.0 { +- # byte swapping routines +- ___bswapsi2 +- ___bswapdi2 +- ___emutls_get_address +- ___emutls_register_common +- ___ffssi2 +- ___extendxftf2 +- ___trunctfxf2 +- +- # fixed-point routines +- ___addqq3 +- ___addhq3 +- ___addsq3 +- ___adddq3 +- ___addtq3 +- ___adduqq3 +- ___adduhq3 +- ___addusq3 +- ___addudq3 +- ___addutq3 +- ___addha3 +- ___addsa3 +- ___addda3 +- ___addta3 +- ___adduha3 +- ___addusa3 +- ___adduda3 +- ___adduta3 +- ___ssaddqq3 +- ___ssaddhq3 +- ___ssaddsq3 +- ___ssadddq3 +- ___ssaddtq3 +- ___ssaddha3 +- ___ssaddsa3 +- ___ssaddda3 +- ___ssaddta3 +- ___usadduqq3 +- ___usadduhq3 +- ___usaddusq3 +- ___usaddudq3 +- ___usaddutq3 +- ___usadduha3 +- ___usaddusa3 +- ___usadduda3 +- ___usadduta3 +- ___subqq3 +- ___subhq3 +- ___subsq3 +- ___subdq3 +- ___subtq3 +- ___subuqq3 +- ___subuhq3 +- ___subusq3 +- ___subudq3 +- ___subutq3 +- ___subha3 +- ___subsa3 +- ___subda3 +- ___subta3 +- ___subuha3 +- ___subusa3 +- ___subuda3 +- ___subuta3 +- ___sssubqq3 +- ___sssubhq3 +- ___sssubsq3 +- ___sssubdq3 +- ___sssubtq3 +- ___sssubha3 +- ___sssubsa3 +- ___sssubda3 +- ___sssubta3 +- ___ussubuqq3 +- ___ussubuhq3 +- ___ussubusq3 +- ___ussubudq3 +- ___ussubutq3 +- ___ussubuha3 +- ___ussubusa3 +- ___ussubuda3 +- ___ussubuta3 +- ___mulqq3 +- ___mulhq3 +- ___mulsq3 +- ___muldq3 +- ___multq3 +- ___muluqq3 +- ___muluhq3 +- ___mulusq3 +- ___muludq3 +- ___mulutq3 +- ___mulha3 +- ___mulsa3 +- ___mulda3 +- ___multa3 +- ___muluha3 +- ___mulusa3 +- ___muluda3 +- ___muluta3 +- ___ssmulqq3 +- ___ssmulhq3 +- ___ssmulsq3 +- ___ssmuldq3 +- ___ssmultq3 +- ___ssmulha3 +- ___ssmulsa3 +- ___ssmulda3 +- ___ssmulta3 +- ___usmuluqq3 +- ___usmuluhq3 +- ___usmulusq3 +- ___usmuludq3 +- ___usmulutq3 +- ___usmuluha3 +- ___usmulusa3 +- ___usmuluda3 +- ___usmuluta3 +- ___divqq3 +- ___divhq3 +- ___divsq3 +- ___divdq3 +- ___divtq3 +- ___divha3 +- ___divsa3 +- ___divda3 +- ___divta3 +- ___udivuqq3 +- ___udivuhq3 +- ___udivusq3 +- ___udivudq3 +- ___udivutq3 +- ___udivuha3 +- ___udivusa3 +- ___udivuda3 +- ___udivuta3 +- ___ssdivqq3 +- ___ssdivhq3 +- ___ssdivsq3 +- ___ssdivdq3 +- ___ssdivtq3 +- ___ssdivha3 +- ___ssdivsa3 +- ___ssdivda3 +- ___ssdivta3 +- ___usdivuqq3 +- ___usdivuhq3 +- ___usdivusq3 +- ___usdivudq3 +- ___usdivutq3 +- ___usdivuha3 +- ___usdivusa3 +- ___usdivuda3 +- ___usdivuta3 +- ___negqq2 +- ___neghq2 +- ___negsq2 +- ___negdq2 +- ___negtq2 +- ___neguqq2 +- ___neguhq2 +- ___negusq2 +- ___negudq2 +- ___negutq2 +- ___negha2 +- ___negsa2 +- ___negda2 +- ___negta2 +- ___neguha2 +- ___negusa2 +- ___neguda2 +- ___neguta2 +- ___ssnegqq2 +- ___ssneghq2 +- ___ssnegsq2 +- ___ssnegdq2 +- ___ssnegtq2 +- ___ssnegha2 +- ___ssnegsa2 +- ___ssnegda2 +- ___ssnegta2 +- ___usneguqq2 +- ___usneguhq2 +- ___usnegusq2 +- ___usnegudq2 +- ___usnegutq2 +- ___usneguha2 +- ___usnegusa2 +- ___usneguda2 +- ___usneguta2 +- ___ashlqq3 +- ___ashlhq3 +- ___ashlsq3 +- ___ashldq3 +- ___ashltq3 +- ___ashluqq3 +- ___ashluhq3 +- ___ashlusq3 +- ___ashludq3 +- ___ashlutq3 +- ___ashlha3 +- ___ashlsa3 +- ___ashlda3 +- ___ashlta3 +- ___ashluha3 +- ___ashlusa3 +- ___ashluda3 +- ___ashluta3 +- ___ashrqq3 +- ___ashrhq3 +- ___ashrsq3 +- ___ashrdq3 +- ___ashrtq3 +- ___ashrha3 +- ___ashrsa3 +- ___ashrda3 +- ___ashrta3 +- ___lshruqq3 +- ___lshruhq3 +- ___lshrusq3 +- ___lshrudq3 +- ___lshrutq3 +- ___lshruha3 +- ___lshrusa3 +- ___lshruda3 +- ___lshruta3 +- ___ssashlqq3 +- ___ssashlhq3 +- ___ssashlsq3 +- ___ssashldq3 +- ___ssashltq3 +- ___ssashlha3 +- ___ssashlsa3 +- ___ssashlda3 +- ___ssashlta3 +- ___usashluqq3 +- ___usashluhq3 +- ___usashlusq3 +- ___usashludq3 +- ___usashlutq3 +- ___usashluha3 +- ___usashlusa3 +- ___usashluda3 +- ___usashluta3 +- ___cmpqq2 +- ___cmphq2 +- ___cmpsq2 +- ___cmpdq2 +- ___cmptq2 +- ___cmpuqq2 +- ___cmpuhq2 +- ___cmpusq2 +- ___cmpudq2 +- ___cmputq2 +- ___cmpha2 +- ___cmpsa2 +- ___cmpda2 +- ___cmpta2 +- ___cmpuha2 +- ___cmpusa2 +- ___cmpuda2 +- ___cmputa2 +- ___fractqqhq2 +- ___fractqqsq2 +- ___fractqqdq2 +- ___fractqqtq2 +- ___fractqqha +- ___fractqqsa +- ___fractqqda +- ___fractqqta +- ___fractqquqq +- ___fractqquhq +- ___fractqqusq +- ___fractqqudq +- ___fractqqutq +- ___fractqquha +- ___fractqqusa +- ___fractqquda +- ___fractqquta +- ___fractqqqi +- ___fractqqhi +- ___fractqqsi +- ___fractqqdi +- ___fractqqti +- ___fractqqsf +- ___fractqqdf +- ___fracthqqq2 +- ___fracthqsq2 +- ___fracthqdq2 +- ___fracthqtq2 +- ___fracthqha +- ___fracthqsa +- ___fracthqda +- ___fracthqta +- ___fracthquqq +- ___fracthquhq +- ___fracthqusq +- ___fracthqudq +- ___fracthqutq +- ___fracthquha +- ___fracthqusa +- ___fracthquda +- ___fracthquta +- ___fracthqqi +- ___fracthqhi +- ___fracthqsi +- ___fracthqdi +- ___fracthqti +- ___fracthqsf +- ___fracthqdf +- ___fractsqqq2 +- ___fractsqhq2 +- ___fractsqdq2 +- ___fractsqtq2 +- ___fractsqha +- ___fractsqsa +- ___fractsqda +- ___fractsqta +- ___fractsquqq +- ___fractsquhq +- ___fractsqusq +- ___fractsqudq +- ___fractsqutq +- ___fractsquha +- ___fractsqusa +- ___fractsquda +- ___fractsquta +- ___fractsqqi +- ___fractsqhi +- ___fractsqsi +- ___fractsqdi +- ___fractsqti +- ___fractsqsf +- ___fractsqdf +- ___fractdqqq2 +- ___fractdqhq2 +- ___fractdqsq2 +- ___fractdqtq2 +- ___fractdqha +- ___fractdqsa +- ___fractdqda +- ___fractdqta +- ___fractdquqq +- ___fractdquhq +- ___fractdqusq +- ___fractdqudq +- ___fractdqutq +- ___fractdquha +- ___fractdqusa +- ___fractdquda +- ___fractdquta +- ___fractdqqi +- ___fractdqhi +- ___fractdqsi +- ___fractdqdi +- ___fractdqti +- ___fractdqsf +- ___fractdqdf +- ___fracttqqq2 +- ___fracttqhq2 +- ___fracttqsq2 +- ___fracttqdq2 +- ___fracttqha +- ___fracttqsa +- ___fracttqda +- ___fracttqta +- ___fracttquqq +- ___fracttquhq +- ___fracttqusq +- ___fracttqudq +- ___fracttqutq +- ___fracttquha +- ___fracttqusa +- ___fracttquda +- ___fracttquta +- ___fracttqqi +- ___fracttqhi +- ___fracttqsi +- ___fracttqdi +- ___fracttqti +- ___fracttqsf +- ___fracttqdf +- ___fracthaqq +- ___fracthahq +- ___fracthasq +- ___fracthadq +- ___fracthatq +- ___fracthasa2 +- ___fracthada2 +- ___fracthata2 +- ___fracthauqq +- ___fracthauhq +- ___fracthausq +- ___fracthaudq +- ___fracthautq +- ___fracthauha +- ___fracthausa +- ___fracthauda +- ___fracthauta +- ___fracthaqi +- ___fracthahi +- ___fracthasi +- ___fracthadi +- ___fracthati +- ___fracthasf +- ___fracthadf +- ___fractsaqq +- ___fractsahq +- ___fractsasq +- ___fractsadq +- ___fractsatq +- ___fractsaha2 +- ___fractsada2 +- ___fractsata2 +- ___fractsauqq +- ___fractsauhq +- ___fractsausq +- ___fractsaudq +- ___fractsautq +- ___fractsauha +- ___fractsausa +- ___fractsauda +- ___fractsauta +- ___fractsaqi +- ___fractsahi +- ___fractsasi +- ___fractsadi +- ___fractsati +- ___fractsasf +- ___fractsadf +- ___fractdaqq +- ___fractdahq +- ___fractdasq +- ___fractdadq +- ___fractdatq +- ___fractdaha2 +- ___fractdasa2 +- ___fractdata2 +- ___fractdauqq +- ___fractdauhq +- ___fractdausq +- ___fractdaudq +- ___fractdautq +- ___fractdauha +- ___fractdausa +- ___fractdauda +- ___fractdauta +- ___fractdaqi +- ___fractdahi +- ___fractdasi +- ___fractdadi +- ___fractdati +- ___fractdasf +- ___fractdadf +- ___fracttaqq +- ___fracttahq +- ___fracttasq +- ___fracttadq +- ___fracttatq +- ___fracttaha2 +- ___fracttasa2 +- ___fracttada2 +- ___fracttauqq +- ___fracttauhq +- ___fracttausq +- ___fracttaudq +- ___fracttautq +- ___fracttauha +- ___fracttausa +- ___fracttauda +- ___fracttauta +- ___fracttaqi +- ___fracttahi +- ___fracttasi +- ___fracttadi +- ___fracttati +- ___fracttasf +- ___fracttadf +- ___fractuqqqq +- ___fractuqqhq +- ___fractuqqsq +- ___fractuqqdq +- ___fractuqqtq +- ___fractuqqha +- ___fractuqqsa +- ___fractuqqda +- ___fractuqqta +- ___fractuqquhq2 +- ___fractuqqusq2 +- ___fractuqqudq2 +- ___fractuqqutq2 +- ___fractuqquha +- ___fractuqqusa +- ___fractuqquda +- ___fractuqquta +- ___fractuqqqi +- ___fractuqqhi +- ___fractuqqsi +- ___fractuqqdi +- ___fractuqqti +- ___fractuqqsf +- ___fractuqqdf +- ___fractuhqqq +- ___fractuhqhq +- ___fractuhqsq +- ___fractuhqdq +- ___fractuhqtq +- ___fractuhqha +- ___fractuhqsa +- ___fractuhqda +- ___fractuhqta +- ___fractuhquqq2 +- ___fractuhqusq2 +- ___fractuhqudq2 +- ___fractuhqutq2 +- ___fractuhquha +- ___fractuhqusa +- ___fractuhquda +- ___fractuhquta +- ___fractuhqqi +- ___fractuhqhi +- ___fractuhqsi +- ___fractuhqdi +- ___fractuhqti +- ___fractuhqsf +- ___fractuhqdf +- ___fractusqqq +- ___fractusqhq +- ___fractusqsq +- ___fractusqdq +- ___fractusqtq +- ___fractusqha +- ___fractusqsa +- ___fractusqda +- ___fractusqta +- ___fractusquqq2 +- ___fractusquhq2 +- ___fractusqudq2 +- ___fractusqutq2 +- ___fractusquha +- ___fractusqusa +- ___fractusquda +- ___fractusquta +- ___fractusqqi +- ___fractusqhi +- ___fractusqsi +- ___fractusqdi +- ___fractusqti +- ___fractusqsf +- ___fractusqdf +- ___fractudqqq +- ___fractudqhq +- ___fractudqsq +- ___fractudqdq +- ___fractudqtq +- ___fractudqha +- ___fractudqsa +- ___fractudqda +- ___fractudqta +- ___fractudquqq2 +- ___fractudquhq2 +- ___fractudqusq2 +- ___fractudqutq2 +- ___fractudquha +- ___fractudqusa +- ___fractudquda +- ___fractudquta +- ___fractudqqi +- ___fractudqhi +- ___fractudqsi +- ___fractudqdi +- ___fractudqti +- ___fractudqsf +- ___fractudqdf +- ___fractutqqq +- ___fractutqhq +- ___fractutqsq +- ___fractutqdq +- ___fractutqtq +- ___fractutqha +- ___fractutqsa +- ___fractutqda +- ___fractutqta +- ___fractutquqq2 +- ___fractutquhq2 +- ___fractutqusq2 +- ___fractutqudq2 +- ___fractutquha +- ___fractutqusa +- ___fractutquda +- ___fractutquta +- ___fractutqqi +- ___fractutqhi +- ___fractutqsi +- ___fractutqdi +- ___fractutqti +- ___fractutqsf +- ___fractutqdf +- ___fractuhaqq +- ___fractuhahq +- ___fractuhasq +- ___fractuhadq +- ___fractuhatq +- ___fractuhaha +- ___fractuhasa +- ___fractuhada +- ___fractuhata +- ___fractuhauqq +- ___fractuhauhq +- ___fractuhausq +- ___fractuhaudq +- ___fractuhautq +- ___fractuhausa2 +- ___fractuhauda2 +- ___fractuhauta2 +- ___fractuhaqi +- ___fractuhahi +- ___fractuhasi +- ___fractuhadi +- ___fractuhati +- ___fractuhasf +- ___fractuhadf +- ___fractusaqq +- ___fractusahq +- ___fractusasq +- ___fractusadq +- ___fractusatq +- ___fractusaha +- ___fractusasa +- ___fractusada +- ___fractusata +- ___fractusauqq +- ___fractusauhq +- ___fractusausq +- ___fractusaudq +- ___fractusautq +- ___fractusauha2 +- ___fractusauda2 +- ___fractusauta2 +- ___fractusaqi +- ___fractusahi +- ___fractusasi +- ___fractusadi +- ___fractusati +- ___fractusasf +- ___fractusadf +- ___fractudaqq +- ___fractudahq +- ___fractudasq +- ___fractudadq +- ___fractudatq +- ___fractudaha +- ___fractudasa +- ___fractudada +- ___fractudata +- ___fractudauqq +- ___fractudauhq +- ___fractudausq +- ___fractudaudq +- ___fractudautq +- ___fractudauha2 +- ___fractudausa2 +- ___fractudauta2 +- ___fractudaqi +- ___fractudahi +- ___fractudasi +- ___fractudadi +- ___fractudati +- ___fractudasf +- ___fractudadf +- ___fractutaqq +- ___fractutahq +- ___fractutasq +- ___fractutadq +- ___fractutatq +- ___fractutaha +- ___fractutasa +- ___fractutada +- ___fractutata +- ___fractutauqq +- ___fractutauhq +- ___fractutausq +- ___fractutaudq +- ___fractutautq +- ___fractutauha2 +- ___fractutausa2 +- ___fractutauda2 +- ___fractutaqi +- ___fractutahi +- ___fractutasi +- ___fractutadi +- ___fractutati +- ___fractutasf +- ___fractutadf +- ___fractqiqq +- ___fractqihq +- ___fractqisq +- ___fractqidq +- ___fractqitq +- ___fractqiha +- ___fractqisa +- ___fractqida +- ___fractqita +- ___fractqiuqq +- ___fractqiuhq +- ___fractqiusq +- ___fractqiudq +- ___fractqiutq +- ___fractqiuha +- ___fractqiusa +- ___fractqiuda +- ___fractqiuta +- ___fracthiqq +- ___fracthihq +- ___fracthisq +- ___fracthidq +- ___fracthitq +- ___fracthiha +- ___fracthisa +- ___fracthida +- ___fracthita +- ___fracthiuqq +- ___fracthiuhq +- ___fracthiusq +- ___fracthiudq +- ___fracthiutq +- ___fracthiuha +- ___fracthiusa +- ___fracthiuda +- ___fracthiuta +- ___fractsiqq +- ___fractsihq +- ___fractsisq +- ___fractsidq +- ___fractsitq +- ___fractsiha +- ___fractsisa +- ___fractsida +- ___fractsita +- ___fractsiuqq +- ___fractsiuhq +- ___fractsiusq +- ___fractsiudq +- ___fractsiutq +- ___fractsiuha +- ___fractsiusa +- ___fractsiuda +- ___fractsiuta +- ___fractdiqq +- ___fractdihq +- ___fractdisq +- ___fractdidq +- ___fractditq +- ___fractdiha +- ___fractdisa +- ___fractdida +- ___fractdita +- ___fractdiuqq +- ___fractdiuhq +- ___fractdiusq +- ___fractdiudq +- ___fractdiutq +- ___fractdiuha +- ___fractdiusa +- ___fractdiuda +- ___fractdiuta +- ___fracttiqq +- ___fracttihq +- ___fracttisq +- ___fracttidq +- ___fracttitq +- ___fracttiha +- ___fracttisa +- ___fracttida +- ___fracttita +- ___fracttiuqq +- ___fracttiuhq +- ___fracttiusq +- ___fracttiudq +- ___fracttiutq +- ___fracttiuha +- ___fracttiusa +- ___fracttiuda +- ___fracttiuta +- ___fractsfqq +- ___fractsfhq +- ___fractsfsq +- ___fractsfdq +- ___fractsftq +- ___fractsfha +- ___fractsfsa +- ___fractsfda +- ___fractsfta +- ___fractsfuqq +- ___fractsfuhq +- ___fractsfusq +- ___fractsfudq +- ___fractsfutq +- ___fractsfuha +- ___fractsfusa +- ___fractsfuda +- ___fractsfuta +- ___fractdfqq +- ___fractdfhq +- ___fractdfsq +- ___fractdfdq +- ___fractdftq +- ___fractdfha +- ___fractdfsa +- ___fractdfda +- ___fractdfta +- ___fractdfuqq +- ___fractdfuhq +- ___fractdfusq +- ___fractdfudq +- ___fractdfutq +- ___fractdfuha +- ___fractdfusa +- ___fractdfuda +- ___fractdfuta +- ___satfractqqhq2 +- ___satfractqqsq2 +- ___satfractqqdq2 +- ___satfractqqtq2 +- ___satfractqqha +- ___satfractqqsa +- ___satfractqqda +- ___satfractqqta +- ___satfractqquqq +- ___satfractqquhq +- ___satfractqqusq +- ___satfractqqudq +- ___satfractqqutq +- ___satfractqquha +- ___satfractqqusa +- ___satfractqquda +- ___satfractqquta +- ___satfracthqqq2 +- ___satfracthqsq2 +- ___satfracthqdq2 +- ___satfracthqtq2 +- ___satfracthqha +- ___satfracthqsa +- ___satfracthqda +- ___satfracthqta +- ___satfracthquqq +- ___satfracthquhq +- ___satfracthqusq +- ___satfracthqudq +- ___satfracthqutq +- ___satfracthquha +- ___satfracthqusa +- ___satfracthquda +- ___satfracthquta +- ___satfractsqqq2 +- ___satfractsqhq2 +- ___satfractsqdq2 +- ___satfractsqtq2 +- ___satfractsqha +- ___satfractsqsa +- ___satfractsqda +- ___satfractsqta +- ___satfractsquqq +- ___satfractsquhq +- ___satfractsqusq +- ___satfractsqudq +- ___satfractsqutq +- ___satfractsquha +- ___satfractsqusa +- ___satfractsquda +- ___satfractsquta +- ___satfractdqqq2 +- ___satfractdqhq2 +- ___satfractdqsq2 +- ___satfractdqtq2 +- ___satfractdqha +- ___satfractdqsa +- ___satfractdqda +- ___satfractdqta +- ___satfractdquqq +- ___satfractdquhq +- ___satfractdqusq +- ___satfractdqudq +- ___satfractdqutq +- ___satfractdquha +- ___satfractdqusa +- ___satfractdquda +- ___satfractdquta +- ___satfracttqqq2 +- ___satfracttqhq2 +- ___satfracttqsq2 +- ___satfracttqdq2 +- ___satfracttqha +- ___satfracttqsa +- ___satfracttqda +- ___satfracttqta +- ___satfracttquqq +- ___satfracttquhq +- ___satfracttqusq +- ___satfracttqudq +- ___satfracttqutq +- ___satfracttquha +- ___satfracttqusa +- ___satfracttquda +- ___satfracttquta +- ___satfracthaqq +- ___satfracthahq +- ___satfracthasq +- ___satfracthadq +- ___satfracthatq +- ___satfracthasa2 +- ___satfracthada2 +- ___satfracthata2 +- ___satfracthauqq +- ___satfracthauhq +- ___satfracthausq +- ___satfracthaudq +- ___satfracthautq +- ___satfracthauha +- ___satfracthausa +- ___satfracthauda +- ___satfracthauta +- ___satfractsaqq +- ___satfractsahq +- ___satfractsasq +- ___satfractsadq +- ___satfractsatq +- ___satfractsaha2 +- ___satfractsada2 +- ___satfractsata2 +- ___satfractsauqq +- ___satfractsauhq +- ___satfractsausq +- ___satfractsaudq +- ___satfractsautq +- ___satfractsauha +- ___satfractsausa +- ___satfractsauda +- ___satfractsauta +- ___satfractdaqq +- ___satfractdahq +- ___satfractdasq +- ___satfractdadq +- ___satfractdatq +- ___satfractdaha2 +- ___satfractdasa2 +- ___satfractdata2 +- ___satfractdauqq +- ___satfractdauhq +- ___satfractdausq +- ___satfractdaudq +- ___satfractdautq +- ___satfractdauha +- ___satfractdausa +- ___satfractdauda +- ___satfractdauta +- ___satfracttaqq +- ___satfracttahq +- ___satfracttasq +- ___satfracttadq +- ___satfracttatq +- ___satfracttaha2 +- ___satfracttasa2 +- ___satfracttada2 +- ___satfracttauqq +- ___satfracttauhq +- ___satfracttausq +- ___satfracttaudq +- ___satfracttautq +- ___satfracttauha +- ___satfracttausa +- ___satfracttauda +- ___satfracttauta +- ___satfractuqqqq +- ___satfractuqqhq +- ___satfractuqqsq +- ___satfractuqqdq +- ___satfractuqqtq +- ___satfractuqqha +- ___satfractuqqsa +- ___satfractuqqda +- ___satfractuqqta +- ___satfractuqquhq2 +- ___satfractuqqusq2 +- ___satfractuqqudq2 +- ___satfractuqqutq2 +- ___satfractuqquha +- ___satfractuqqusa +- ___satfractuqquda +- ___satfractuqquta +- ___satfractuhqqq +- ___satfractuhqhq +- ___satfractuhqsq +- ___satfractuhqdq +- ___satfractuhqtq +- ___satfractuhqha +- ___satfractuhqsa +- ___satfractuhqda +- ___satfractuhqta +- ___satfractuhquqq2 +- ___satfractuhqusq2 +- ___satfractuhqudq2 +- ___satfractuhqutq2 +- ___satfractuhquha +- ___satfractuhqusa +- ___satfractuhquda +- ___satfractuhquta +- ___satfractusqqq +- ___satfractusqhq +- ___satfractusqsq +- ___satfractusqdq +- ___satfractusqtq +- ___satfractusqha +- ___satfractusqsa +- ___satfractusqda +- ___satfractusqta +- ___satfractusquqq2 +- ___satfractusquhq2 +- ___satfractusqudq2 +- ___satfractusqutq2 +- ___satfractusquha +- ___satfractusqusa +- ___satfractusquda +- ___satfractusquta +- ___satfractudqqq +- ___satfractudqhq +- ___satfractudqsq +- ___satfractudqdq +- ___satfractudqtq +- ___satfractudqha +- ___satfractudqsa +- ___satfractudqda +- ___satfractudqta +- ___satfractudquqq2 +- ___satfractudquhq2 +- ___satfractudqusq2 +- ___satfractudqutq2 +- ___satfractudquha +- ___satfractudqusa +- ___satfractudquda +- ___satfractudquta +- ___satfractutqqq +- ___satfractutqhq +- ___satfractutqsq +- ___satfractutqdq +- ___satfractutqtq +- ___satfractutqha +- ___satfractutqsa +- ___satfractutqda +- ___satfractutqta +- ___satfractutquqq2 +- ___satfractutquhq2 +- ___satfractutqusq2 +- ___satfractutqudq2 +- ___satfractutquha +- ___satfractutqusa +- ___satfractutquda +- ___satfractutquta +- ___satfractuhaqq +- ___satfractuhahq +- ___satfractuhasq +- ___satfractuhadq +- ___satfractuhatq +- ___satfractuhaha +- ___satfractuhasa +- ___satfractuhada +- ___satfractuhata +- ___satfractuhauqq +- ___satfractuhauhq +- ___satfractuhausq +- ___satfractuhaudq +- ___satfractuhautq +- ___satfractuhausa2 +- ___satfractuhauda2 +- ___satfractuhauta2 +- ___satfractusaqq +- ___satfractusahq +- ___satfractusasq +- ___satfractusadq +- ___satfractusatq +- ___satfractusaha +- ___satfractusasa +- ___satfractusada +- ___satfractusata +- ___satfractusauqq +- ___satfractusauhq +- ___satfractusausq +- ___satfractusaudq +- ___satfractusautq +- ___satfractusauha2 +- ___satfractusauda2 +- ___satfractusauta2 +- ___satfractudaqq +- ___satfractudahq +- ___satfractudasq +- ___satfractudadq +- ___satfractudatq +- ___satfractudaha +- ___satfractudasa +- ___satfractudada +- ___satfractudata +- ___satfractudauqq +- ___satfractudauhq +- ___satfractudausq +- ___satfractudaudq +- ___satfractudautq +- ___satfractudauha2 +- ___satfractudausa2 +- ___satfractudauta2 +- ___satfractutaqq +- ___satfractutahq +- ___satfractutasq +- ___satfractutadq +- ___satfractutatq +- ___satfractutaha +- ___satfractutasa +- ___satfractutada +- ___satfractutata +- ___satfractutauqq +- ___satfractutauhq +- ___satfractutausq +- ___satfractutaudq +- ___satfractutautq +- ___satfractutauha2 +- ___satfractutausa2 +- ___satfractutauda2 +- ___satfractqiqq +- ___satfractqihq +- ___satfractqisq +- ___satfractqidq +- ___satfractqitq +- ___satfractqiha +- ___satfractqisa +- ___satfractqida +- ___satfractqita +- ___satfractqiuqq +- ___satfractqiuhq +- ___satfractqiusq +- ___satfractqiudq +- ___satfractqiutq +- ___satfractqiuha +- ___satfractqiusa +- ___satfractqiuda +- ___satfractqiuta +- ___satfracthiqq +- ___satfracthihq +- ___satfracthisq +- ___satfracthidq +- ___satfracthitq +- ___satfracthiha +- ___satfracthisa +- ___satfracthida +- ___satfracthita +- ___satfracthiuqq +- ___satfracthiuhq +- ___satfracthiusq +- ___satfracthiudq +- ___satfracthiutq +- ___satfracthiuha +- ___satfracthiusa +- ___satfracthiuda +- ___satfracthiuta +- ___satfractsiqq +- ___satfractsihq +- ___satfractsisq +- ___satfractsidq +- ___satfractsitq +- ___satfractsiha +- ___satfractsisa +- ___satfractsida +- ___satfractsita +- ___satfractsiuqq +- ___satfractsiuhq +- ___satfractsiusq +- ___satfractsiudq +- ___satfractsiutq +- ___satfractsiuha +- ___satfractsiusa +- ___satfractsiuda +- ___satfractsiuta +- ___satfractdiqq +- ___satfractdihq +- ___satfractdisq +- ___satfractdidq +- ___satfractditq +- ___satfractdiha +- ___satfractdisa +- ___satfractdida +- ___satfractdita +- ___satfractdiuqq +- ___satfractdiuhq +- ___satfractdiusq +- ___satfractdiudq +- ___satfractdiutq +- ___satfractdiuha +- ___satfractdiusa +- ___satfractdiuda +- ___satfractdiuta +- ___satfracttiqq +- ___satfracttihq +- ___satfracttisq +- ___satfracttidq +- ___satfracttitq +- ___satfracttiha +- ___satfracttisa +- ___satfracttida +- ___satfracttita +- ___satfracttiuqq +- ___satfracttiuhq +- ___satfracttiusq +- ___satfracttiudq +- ___satfracttiutq +- ___satfracttiuha +- ___satfracttiusa +- ___satfracttiuda +- ___satfracttiuta +- ___satfractsfqq +- ___satfractsfhq +- ___satfractsfsq +- ___satfractsfdq +- ___satfractsftq +- ___satfractsfha +- ___satfractsfsa +- ___satfractsfda +- ___satfractsfta +- ___satfractsfuqq +- ___satfractsfuhq +- ___satfractsfusq +- ___satfractsfudq +- ___satfractsfutq +- ___satfractsfuha +- ___satfractsfusa +- ___satfractsfuda +- ___satfractsfuta +- ___satfractdfqq +- ___satfractdfhq +- ___satfractdfsq +- ___satfractdfdq +- ___satfractdftq +- ___satfractdfha +- ___satfractdfsa +- ___satfractdfda +- ___satfractdfta +- ___satfractdfuqq +- ___satfractdfuhq +- ___satfractdfusq +- ___satfractdfudq +- ___satfractdfutq +- ___satfractdfuha +- ___satfractdfusa +- ___satfractdfuda +- ___satfractdfuta +- ___fractunsqqqi +- ___fractunsqqhi +- ___fractunsqqsi +- ___fractunsqqdi +- ___fractunsqqti +- ___fractunshqqi +- ___fractunshqhi +- ___fractunshqsi +- ___fractunshqdi +- ___fractunshqti +- ___fractunssqqi +- ___fractunssqhi +- ___fractunssqsi +- ___fractunssqdi +- ___fractunssqti +- ___fractunsdqqi +- ___fractunsdqhi +- ___fractunsdqsi +- ___fractunsdqdi +- ___fractunsdqti +- ___fractunstqqi +- ___fractunstqhi +- ___fractunstqsi +- ___fractunstqdi +- ___fractunstqti +- ___fractunshaqi +- ___fractunshahi +- ___fractunshasi +- ___fractunshadi +- ___fractunshati +- ___fractunssaqi +- ___fractunssahi +- ___fractunssasi +- ___fractunssadi +- ___fractunssati +- ___fractunsdaqi +- ___fractunsdahi +- ___fractunsdasi +- ___fractunsdadi +- ___fractunsdati +- ___fractunstaqi +- ___fractunstahi +- ___fractunstasi +- ___fractunstadi +- ___fractunstati +- ___fractunsuqqqi +- ___fractunsuqqhi +- ___fractunsuqqsi +- ___fractunsuqqdi +- ___fractunsuqqti +- ___fractunsuhqqi +- ___fractunsuhqhi +- ___fractunsuhqsi +- ___fractunsuhqdi +- ___fractunsuhqti +- ___fractunsusqqi +- ___fractunsusqhi +- ___fractunsusqsi +- ___fractunsusqdi +- ___fractunsusqti +- ___fractunsudqqi +- ___fractunsudqhi +- ___fractunsudqsi +- ___fractunsudqdi +- ___fractunsudqti +- ___fractunsutqqi +- ___fractunsutqhi +- ___fractunsutqsi +- ___fractunsutqdi +- ___fractunsutqti +- ___fractunsuhaqi +- ___fractunsuhahi +- ___fractunsuhasi +- ___fractunsuhadi +- ___fractunsuhati +- ___fractunsusaqi +- ___fractunsusahi +- ___fractunsusasi +- ___fractunsusadi +- ___fractunsusati +- ___fractunsudaqi +- ___fractunsudahi +- ___fractunsudasi +- ___fractunsudadi +- ___fractunsudati +- ___fractunsutaqi +- ___fractunsutahi +- ___fractunsutasi +- ___fractunsutadi +- ___fractunsutati +- ___fractunsqiqq +- ___fractunsqihq +- ___fractunsqisq +- ___fractunsqidq +- ___fractunsqitq +- ___fractunsqiha +- ___fractunsqisa +- ___fractunsqida +- ___fractunsqita +- ___fractunsqiuqq +- ___fractunsqiuhq +- ___fractunsqiusq +- ___fractunsqiudq +- ___fractunsqiutq +- ___fractunsqiuha +- ___fractunsqiusa +- ___fractunsqiuda +- ___fractunsqiuta +- ___fractunshiqq +- ___fractunshihq +- ___fractunshisq +- ___fractunshidq +- ___fractunshitq +- ___fractunshiha +- ___fractunshisa +- ___fractunshida +- ___fractunshita +- ___fractunshiuqq +- ___fractunshiuhq +- ___fractunshiusq +- ___fractunshiudq +- ___fractunshiutq +- ___fractunshiuha +- ___fractunshiusa +- ___fractunshiuda +- ___fractunshiuta +- ___fractunssiqq +- ___fractunssihq +- ___fractunssisq +- ___fractunssidq +- ___fractunssitq +- ___fractunssiha +- ___fractunssisa +- ___fractunssida +- ___fractunssita +- ___fractunssiuqq +- ___fractunssiuhq +- ___fractunssiusq +- ___fractunssiudq +- ___fractunssiutq +- ___fractunssiuha +- ___fractunssiusa +- ___fractunssiuda +- ___fractunssiuta +- ___fractunsdiqq +- ___fractunsdihq +- ___fractunsdisq +- ___fractunsdidq +- ___fractunsditq +- ___fractunsdiha +- ___fractunsdisa +- ___fractunsdida +- ___fractunsdita +- ___fractunsdiuqq +- ___fractunsdiuhq +- ___fractunsdiusq +- ___fractunsdiudq +- ___fractunsdiutq +- ___fractunsdiuha +- ___fractunsdiusa +- ___fractunsdiuda +- ___fractunsdiuta +- ___fractunstiqq +- ___fractunstihq +- ___fractunstisq +- ___fractunstidq +- ___fractunstitq +- ___fractunstiha +- ___fractunstisa +- ___fractunstida +- ___fractunstita +- ___fractunstiuqq +- ___fractunstiuhq +- ___fractunstiusq +- ___fractunstiudq +- ___fractunstiutq +- ___fractunstiuha +- ___fractunstiusa +- ___fractunstiuda +- ___fractunstiuta +- ___satfractunsqiqq +- ___satfractunsqihq +- ___satfractunsqisq +- ___satfractunsqidq +- ___satfractunsqitq +- ___satfractunsqiha +- ___satfractunsqisa +- ___satfractunsqida +- ___satfractunsqita +- ___satfractunsqiuqq +- ___satfractunsqiuhq +- ___satfractunsqiusq +- ___satfractunsqiudq +- ___satfractunsqiutq +- ___satfractunsqiuha +- ___satfractunsqiusa +- ___satfractunsqiuda +- ___satfractunsqiuta +- ___satfractunshiqq +- ___satfractunshihq +- ___satfractunshisq +- ___satfractunshidq +- ___satfractunshitq +- ___satfractunshiha +- ___satfractunshisa +- ___satfractunshida +- ___satfractunshita +- ___satfractunshiuqq +- ___satfractunshiuhq +- ___satfractunshiusq +- ___satfractunshiudq +- ___satfractunshiutq +- ___satfractunshiuha +- ___satfractunshiusa +- ___satfractunshiuda +- ___satfractunshiuta +- ___satfractunssiqq +- ___satfractunssihq +- ___satfractunssisq +- ___satfractunssidq +- ___satfractunssitq +- ___satfractunssiha +- ___satfractunssisa +- ___satfractunssida +- ___satfractunssita +- ___satfractunssiuqq +- ___satfractunssiuhq +- ___satfractunssiusq +- ___satfractunssiudq +- ___satfractunssiutq +- ___satfractunssiuha +- ___satfractunssiusa +- ___satfractunssiuda +- ___satfractunssiuta +- ___satfractunsdiqq +- ___satfractunsdihq +- ___satfractunsdisq +- ___satfractunsdidq +- ___satfractunsditq +- ___satfractunsdiha +- ___satfractunsdisa +- ___satfractunsdida +- ___satfractunsdita +- ___satfractunsdiuqq +- ___satfractunsdiuhq +- ___satfractunsdiusq +- ___satfractunsdiudq +- ___satfractunsdiutq +- ___satfractunsdiuha +- ___satfractunsdiusa +- ___satfractunsdiuda +- ___satfractunsdiuta +- ___satfractunstiqq +- ___satfractunstihq +- ___satfractunstisq +- ___satfractunstidq +- ___satfractunstitq +- ___satfractunstiha +- ___satfractunstisa +- ___satfractunstida +- ___satfractunstita +- ___satfractunstiuqq +- ___satfractunstiuhq +- ___satfractunstiusq +- ___satfractunstiudq +- ___satfractunstiutq +- ___satfractunstiuha +- ___satfractunstiusa +- ___satfractunstiuda +- ___satfractunstiuta +-} +- +-%inherit GCC_4.4.0 GCC_4.3.0 +-GCC_4.4.0 { +- ___sync_fetch_and_add_1 +- ___sync_fetch_and_sub_1 +- ___sync_fetch_and_or_1 +- ___sync_fetch_and_and_1 +- ___sync_fetch_and_xor_1 +- ___sync_fetch_and_nand_1 +- ___sync_add_and_fetch_1 +- ___sync_sub_and_fetch_1 +- ___sync_or_and_fetch_1 +- ___sync_and_and_fetch_1 +- ___sync_xor_and_fetch_1 +- ___sync_nand_and_fetch_1 +- ___sync_bool_compare_and_swap_1 +- ___sync_val_compare_and_swap_1 +- ___sync_lock_test_and_set_1 +- +- ___sync_fetch_and_add_2 +- ___sync_fetch_and_sub_2 +- ___sync_fetch_and_or_2 +- ___sync_fetch_and_and_2 +- ___sync_fetch_and_xor_2 +- ___sync_fetch_and_nand_2 +- ___sync_add_and_fetch_2 +- ___sync_sub_and_fetch_2 +- ___sync_or_and_fetch_2 +- ___sync_and_and_fetch_2 +- ___sync_xor_and_fetch_2 +- ___sync_nand_and_fetch_2 +- ___sync_bool_compare_and_swap_2 +- ___sync_val_compare_and_swap_2 +- ___sync_lock_test_and_set_2 +- +- ___sync_fetch_and_add_4 +- ___sync_fetch_and_sub_4 +- ___sync_fetch_and_or_4 +- ___sync_fetch_and_and_4 +- ___sync_fetch_and_xor_4 +- ___sync_fetch_and_nand_4 +- ___sync_add_and_fetch_4 +- ___sync_sub_and_fetch_4 +- ___sync_or_and_fetch_4 +- ___sync_and_and_fetch_4 +- ___sync_xor_and_fetch_4 +- ___sync_nand_and_fetch_4 +- ___sync_bool_compare_and_swap_4 +- ___sync_val_compare_and_swap_4 +- ___sync_lock_test_and_set_4 +- +- ___sync_fetch_and_add_8 +- ___sync_fetch_and_sub_8 +- ___sync_fetch_and_or_8 +- ___sync_fetch_and_and_8 +- ___sync_fetch_and_xor_8 +- ___sync_fetch_and_nand_8 +- ___sync_add_and_fetch_8 +- ___sync_sub_and_fetch_8 +- ___sync_or_and_fetch_8 +- ___sync_and_and_fetch_8 +- ___sync_xor_and_fetch_8 +- ___sync_nand_and_fetch_8 +- ___sync_bool_compare_and_swap_8 +- ___sync_val_compare_and_swap_8 +- ___sync_lock_test_and_set_8 +- +- ___sync_fetch_and_add_16 +- ___sync_fetch_and_sub_16 +- ___sync_fetch_and_or_16 +- ___sync_fetch_and_and_16 +- ___sync_fetch_and_xor_16 +- ___sync_fetch_and_nand_16 +- ___sync_add_and_fetch_16 +- ___sync_sub_and_fetch_16 +- ___sync_or_and_fetch_16 +- ___sync_and_and_fetch_16 +- ___sync_xor_and_fetch_16 +- ___sync_nand_and_fetch_16 +- ___sync_bool_compare_and_swap_16 +- ___sync_val_compare_and_swap_16 +- ___sync_lock_test_and_set_16 +- +- ___sync_synchronize +-} +- +-%inherit GCC_4.5.0 GCC_4.4.0 +-GCC_4.5.0 { +- ___unordxf2 +- ___unordtf2 ++ __smulsi3_highpart ++ __umulsi3_highpart + } +diff --git a/libgcc/config/bfin/t-linux b/libgcc/config/bfin/t-linux +index 1c42e48..8898157 100644 +--- a/libgcc/config/bfin/t-linux ++++ b/libgcc/config/bfin/t-linux +@@ -1 +1,2 @@ +-SHLIB_MAPFILES = $(srcdir)/config/bfin/libgcc-glibc.ver ++SHLIB_MAPFILES += $(srcdir)/config/bfin/libgcc-glibc.ver ++SHLIB_MKMAP_OPTS = -v skip_underscore=1 +-- +2.7.4 + diff --git a/package/gcc/6.1.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch b/package/gcc/6.1.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch new file mode 100644 index 000000000..cf3f2b859 --- /dev/null +++ b/package/gcc/6.1.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch @@ -0,0 +1,73 @@ +From 9d9f97ca5d1ceba66677bf406c9b31027dc1f22e Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb <wbx@openadk.org> +Date: Fri, 19 Aug 2016 13:54:46 +0200 +Subject: [PATCH] libgcc: fix DWARF compilation with FDPIC targets + +The build of unwind-dw2-fde-dip.c currently fails for FDPIC targets with +the following error: + +libgcc/unwind-dw2-fde-dip.c:167:31: error: storage size of 'load_base' isn't known + struct elf32_fdpic_loadaddr load_base; + +This patch addresses that by defining load_base with the appropriate +type on FDPIC targets. It has been tested on FRV and Blackfin. + +Fixes PR gcc/68468. + +Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + libgcc/ChangeLog | 5 +++++ + libgcc/unwind-dw2-fde-dip.c | 8 ++++++-- + 2 files changed, 11 insertions(+), 2 deletions(-) + +diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog +index 36c0194..2e78d20 100644 +--- a/libgcc/ChangeLog ++++ b/libgcc/ChangeLog +@@ -1,3 +1,8 @@ ++2016-08-19 Waldemar Brodkorb <wbx@openadk.org> ++ ++ PR gcc/68468 ++ * libgcc/unwind-dw2-fde-dip.c: fix build on FDPIC targets. ++ + 2016-08-19 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + + PR gcc/74748 +diff --git a/libgcc/unwind-dw2-fde-dip.c b/libgcc/unwind-dw2-fde-dip.c +index f7a1c3f..801bce8 100644 +--- a/libgcc/unwind-dw2-fde-dip.c ++++ b/libgcc/unwind-dw2-fde-dip.c +@@ -124,7 +124,11 @@ static struct frame_hdr_cache_element + { + _Unwind_Ptr pc_low; + _Unwind_Ptr pc_high; ++#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__ ++ struct elf32_fdpic_loadaddr load_base; ++#else + _Unwind_Ptr load_base; ++#endif + const ElfW(Phdr) *p_eh_frame_hdr; + const ElfW(Phdr) *p_dynamic; + struct frame_hdr_cache_element *link; +@@ -163,7 +167,7 @@ _Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr) + struct unw_eh_callback_data *data = (struct unw_eh_callback_data *) ptr; + const ElfW(Phdr) *phdr, *p_eh_frame_hdr, *p_dynamic; + long n, match; +-#ifdef __FRV_FDPIC__ ++#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__ + struct elf32_fdpic_loadaddr load_base; + #else + _Unwind_Ptr load_base; +@@ -347,7 +351,7 @@ _Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr) + break; + } + } +-# elif defined __FRV_FDPIC__ && defined __linux__ ++# elif (defined __FRV_FDPIC__ || defined __BFIN_FDPIC__) && defined __linux__ + data->dbase = load_base.got_value; + # else + # error What is DW_EH_PE_datarel base on this platform? +-- +2.7.4 + diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host index aa0a698b5..6f6e58248 100644 --- a/package/gcc/Config.in.host +++ b/package/gcc/Config.in.host @@ -121,7 +121,7 @@ config BR2_GCC_VERSION default "4.9.4" if BR2_GCC_VERSION_4_9_X default "5.4.0" if BR2_GCC_VERSION_5_X default "6.1.0" if BR2_GCC_VERSION_6_X - default "arc-2016.09-eng007" if BR2_GCC_VERSION_4_8_ARC + default "arc-2016.09-eng010" if BR2_GCC_VERSION_4_8_ARC config BR2_EXTRA_GCC_CONFIG_OPTIONS string "Additional gcc options" diff --git a/package/gcc/arc-2016.09-eng007/130-fix_build_with_gcc-6.patch b/package/gcc/arc-2016.09-eng007/130-fix_build_with_gcc-6.patch deleted file mode 100644 index 62ac3cbd6..000000000 --- a/package/gcc/arc-2016.09-eng007/130-fix_build_with_gcc-6.patch +++ /dev/null @@ -1,153 +0,0 @@ -From 1e5f1089dec3af328fd03125d6778f666d0bd4e4 Mon Sep 17 00:00:00 2001 -From: edlinger <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Thu, 25 Feb 2016 15:33:50 +0000 -Subject: [PATCH 1/1] 2016-02-25 Bernd Edlinger <bernd.edlinger@hotmail.de> - - Backported from mainline - 2016-02-19 Jakub Jelinek <jakub@redhat.com> - Bernd Edlinger <bernd.edlinger@hotmail.de> - - * Make-lang.in: Invoke gperf with -L C++. - * cfns.gperf: Remove prototypes for hash and libc_name_p - inlines. - * cfns.h: Regenerated. - * except.c (nothrow_libfn_p): Adjust. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@233720 138bc75d-0d04-0410-961f-82ee72b054a4 - -Signed-off-by: Samuel Martin <s.martin49@gmail.com> ---- - gcc/cp/Make-lang.in | 2 +- - gcc/cp/cfns.gperf | 10 ++-------- - gcc/cp/cfns.h | 41 ++++++++++++++--------------------------- - gcc/cp/except.c | 3 ++- - 5 files changed, 31 insertions(+), 37 deletions(-) - -diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in -index e98beb1..b09fb02 100644 ---- a/gcc/cp/Make-lang.in -+++ b/gcc/cp/Make-lang.in -@@ -111,7 +111,7 @@ else - # deleting the $(srcdir)/cp/cfns.h file. - $(srcdir)/cp/cfns.h: - endif -- gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \ -+ gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L C++ \ - $(srcdir)/cp/cfns.gperf --output-file $(srcdir)/cp/cfns.h - - # -diff --git a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf -index 68acd3d..214ecf6 100644 ---- a/gcc/cp/cfns.gperf -+++ b/gcc/cp/cfns.gperf -@@ -1,3 +1,5 @@ -+%language=C++ -+%define class-name libc_name - %{ - /* Copyright (C) 2000-2015 Free Software Foundation, Inc. - -@@ -16,14 +18,6 @@ for more details. - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - <http://www.gnu.org/licenses/>. */ --#ifdef __GNUC__ --__inline --#endif --static unsigned int hash (const char *, unsigned int); --#ifdef __GNUC__ --__inline --#endif --const char * libc_name_p (const char *, unsigned int); - %} - %% - # The standard C library functions, for feeding to gperf; the result is used -diff --git a/gcc/cp/cfns.h b/gcc/cp/cfns.h -index 1c6665d..596f413 100644 ---- a/gcc/cp/cfns.h -+++ b/gcc/cp/cfns.h -@@ -1,5 +1,5 @@ --/* ANSI-C code produced by gperf version 3.0.3 */ --/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C cfns.gperf */ -+/* C++ code produced by gperf version 3.0.4 */ -+/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L C++ --output-file cfns.h cfns.gperf */ - - #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ - && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ -@@ -28,7 +28,7 @@ - #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>." - #endif - --#line 1 "cfns.gperf" -+#line 3 "cfns.gperf" - - /* Copyright (C) 2000-2015 Free Software Foundation, Inc. - -@@ -47,25 +47,18 @@ for more details. - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - <http://www.gnu.org/licenses/>. */ --#ifdef __GNUC__ --__inline --#endif --static unsigned int hash (const char *, unsigned int); --#ifdef __GNUC__ --__inline --#endif --const char * libc_name_p (const char *, unsigned int); - /* maximum key range = 391, duplicates = 0 */ - --#ifdef __GNUC__ --__inline --#else --#ifdef __cplusplus --inline --#endif --#endif --static unsigned int --hash (register const char *str, register unsigned int len) -+class libc_name -+{ -+private: -+ static inline unsigned int hash (const char *str, unsigned int len); -+public: -+ static const char *libc_name_p (const char *str, unsigned int len); -+}; -+ -+inline unsigned int -+libc_name::hash (register const char *str, register unsigned int len) - { - static const unsigned short asso_values[] = - { -@@ -122,14 +115,8 @@ hash (register const char *str, register unsigned int len) - return hval + asso_values[(unsigned char)str[len - 1]]; - } - --#ifdef __GNUC__ --__inline --#ifdef __GNUC_STDC_INLINE__ --__attribute__ ((__gnu_inline__)) --#endif --#endif - const char * --libc_name_p (register const char *str, register unsigned int len) -+libc_name::libc_name_p (register const char *str, register unsigned int len) - { - enum - { -diff --git a/gcc/cp/except.c b/gcc/cp/except.c -index 3ff1ce6..2f2e396 100644 ---- a/gcc/cp/except.c -+++ b/gcc/cp/except.c -@@ -1040,7 +1040,8 @@ nothrow_libfn_p (const_tree fn) - unless the system headers are playing rename tricks, and if - they are, we don't want to be confused by them. */ - id = DECL_NAME (fn); -- return !!libc_name_p (IDENTIFIER_POINTER (id), IDENTIFIER_LENGTH (id)); -+ return !!libc_name::libc_name_p (IDENTIFIER_POINTER (id), -+ IDENTIFIER_LENGTH (id)); - } - - /* Returns nonzero if an exception of type FROM will be caught by a --- -1.7.1 diff --git a/package/gcc/arc-2016.09-eng007/130-pr43538.patch b/package/gcc/arc-2016.09-eng007/130-pr43538.patch deleted file mode 100644 index 19e57bb05..000000000 --- a/package/gcc/arc-2016.09-eng007/130-pr43538.patch +++ /dev/null @@ -1,25 +0,0 @@ -From c037df1be41f8daf4d581d7ffa4ec8cfa640bccf Mon Sep 17 00:00:00 2001 -From: glisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Fri, 25 Apr 2014 08:03:08 +0000 -Subject: [PATCH] 2014-04-25 Marc Glisse <marc.glisse@inria.fr> - - PR target/43538 - * mt-gnu: Don't reset CXXFLAGS_FOR_TARGET. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209784 138bc75d-0d04-0410-961f-82ee72b054a4 -Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> ---- - config/mt-gnu | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/config/mt-gnu b/config/mt-gnu -index 15bf417..5c696f5 100644 ---- a/config/mt-gnu -+++ b/config/mt-gnu -@@ -1 +1 @@ --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE -+CXXFLAGS_FOR_TARGET += -D_GNU_SOURCE --- -2.1.4 - diff --git a/package/gcc/arc-2016.09-eng007/305-libmudflap-susv3-legacy.patch b/package/gcc/arc-2016.09-eng007/305-libmudflap-susv3-legacy.patch deleted file mode 100644 index 35d5f5020..000000000 --- a/package/gcc/arc-2016.09-eng007/305-libmudflap-susv3-legacy.patch +++ /dev/null @@ -1,49 +0,0 @@ -Index: gcc-4.8.0/libmudflap/mf-hooks2.c -=================================================================== ---- gcc-4.8.0.orig/libmudflap/mf-hooks2.c 2013-02-03 18:48:05.000000000 +0100 -+++ gcc-4.8.0/libmudflap/mf-hooks2.c 2013-03-23 17:39:43.000000000 +0100 -@@ -424,7 +424,7 @@ - { - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); -- bzero (s, n); -+ memset (s, 0, n); - } - - -@@ -434,7 +434,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); - MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); -- bcopy (src, dest, n); -+ memmove (dest, src, n); - } - - -@@ -444,7 +444,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); - MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); -- return bcmp (s1, s2, n); -+ return n == 0 ? 0 : memcmp (s1, s2, n); - } - - -@@ -453,7 +453,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); -- return index (s, c); -+ return strchr (s, c); - } - - -@@ -462,7 +462,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); -- return rindex (s, c); -+ return strrchr (s, c); - } - - /* XXX: stpcpy, memccpy */ diff --git a/package/gcc/arc-2016.09-eng007/842-PR60155.patch b/package/gcc/arc-2016.09-eng007/842-PR60155.patch deleted file mode 100644 index 7bc2122fd..000000000 --- a/package/gcc/arc-2016.09-eng007/842-PR60155.patch +++ /dev/null @@ -1,111 +0,0 @@ -From gcc bugzilla https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60155 -Upstream status: in trunk. - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> - ---- trunk/gcc/gcse.c 2014/02/12 14:50:06 207726 -+++ trunk/gcc/gcse.c 2014/04/04 22:25:51 209134 -@@ -2502,6 +2502,65 @@ - } - } - -+struct set_data -+{ -+ rtx insn; -+ const_rtx set; -+ int nsets; -+}; -+ -+/* Increment number of sets and record set in DATA. */ -+ -+static void -+record_set_data (rtx dest, const_rtx set, void *data) -+{ -+ struct set_data *s = (struct set_data *)data; -+ -+ if (GET_CODE (set) == SET) -+ { -+ /* We allow insns having multiple sets, where all but one are -+ dead as single set insns. In the common case only a single -+ set is present, so we want to avoid checking for REG_UNUSED -+ notes unless necessary. */ -+ if (s->nsets == 1 -+ && find_reg_note (s->insn, REG_UNUSED, SET_DEST (s->set)) -+ && !side_effects_p (s->set)) -+ s->nsets = 0; -+ -+ if (!s->nsets) -+ { -+ /* Record this set. */ -+ s->nsets += 1; -+ s->set = set; -+ } -+ else if (!find_reg_note (s->insn, REG_UNUSED, dest) -+ || side_effects_p (set)) -+ s->nsets += 1; -+ } -+} -+ -+static const_rtx -+single_set_gcse (rtx insn) -+{ -+ struct set_data s; -+ rtx pattern; -+ -+ gcc_assert (INSN_P (insn)); -+ -+ /* Optimize common case. */ -+ pattern = PATTERN (insn); -+ if (GET_CODE (pattern) == SET) -+ return pattern; -+ -+ s.insn = insn; -+ s.nsets = 0; -+ note_stores (pattern, record_set_data, &s); -+ -+ /* Considered invariant insns have exactly one set. */ -+ gcc_assert (s.nsets == 1); -+ return s.set; -+} -+ - /* Emit move from SRC to DEST noting the equivalence with expression computed - in INSN. */ - -@@ -2509,7 +2568,8 @@ - gcse_emit_move_after (rtx dest, rtx src, rtx insn) - { - rtx new_rtx; -- rtx set = single_set (insn), set2; -+ const_rtx set = single_set_gcse (insn); -+ rtx set2; - rtx note; - rtx eqv = NULL_RTX; - -@@ -3369,13 +3429,12 @@ - FOR_EACH_VEC_ELT (occrs_to_hoist, j, occr) - { - rtx insn; -- rtx set; -+ const_rtx set; - - gcc_assert (!occr->deleted_p); - - insn = occr->insn; -- set = single_set (insn); -- gcc_assert (set); -+ set = single_set_gcse (insn); - - /* Create a pseudo-reg to store the result of reaching - expressions into. Get the mode for the new pseudo -@@ -3456,10 +3515,8 @@ - { - rtx reg; - enum reg_class pressure_class; -- rtx set = single_set (insn); -+ const_rtx set = single_set_gcse (insn); - -- /* Considered invariant insns have only one set. */ -- gcc_assert (set != NULL_RTX); - reg = SET_DEST (set); - if (GET_CODE (reg) == SUBREG) - reg = SUBREG_REG (reg); diff --git a/package/gcc/arc-2016.09-eng007/850-libstdcxx-uclibc-c99.patch b/package/gcc/arc-2016.09-eng007/850-libstdcxx-uclibc-c99.patch deleted file mode 100644 index 792976fd5..000000000 --- a/package/gcc/arc-2016.09-eng007/850-libstdcxx-uclibc-c99.patch +++ /dev/null @@ -1,273 +0,0 @@ -Allow C99-depending features of libstdc++ with uClibc - -The libstdc++ code is fairly restrictive on how it checks for C99 -compatibility: it requires *complete* C99 support to enable certain -features. For example, uClibc provides a good number of C99 features, -but not C99 complex number support. For this reason, libstdc++ -completely disables many the standard C++ methods that can in fact -work because uClibc provides the necessary functions. - -This patch is similar and highly inspired from -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, but implemented in -a way that doesn't involve changing the configure.ac script, as -autoreconfiguring gcc is complicated. It simply relies on the fact -that uClibc defines the __UCLIBC__ definition. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> - -Index: b/libstdc++-v3/config/locale/generic/c_locale.h -=================================================================== ---- a/libstdc++-v3/config/locale/generic/c_locale.h -+++ b/libstdc++-v3/config/locale/generic/c_locale.h -@@ -70,7 +70,7 @@ - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - #else - const int __ret = __builtin_vsprintf(__out, __fmt, __args); -Index: b/libstdc++-v3/config/locale/gnu/c_locale.h -=================================================================== ---- a/libstdc++-v3/config/locale/gnu/c_locale.h -+++ b/libstdc++-v3/config/locale/gnu/c_locale.h -@@ -88,7 +88,7 @@ - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - #else - const int __ret = __builtin_vsprintf(__out, __fmt, __args); -Index: b/libstdc++-v3/include/bits/basic_string.h -=================================================================== ---- a/libstdc++-v3/include/bits/basic_string.h -+++ b/libstdc++-v3/include/bits/basic_string.h -@@ -2809,7 +2809,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99) \ -+#if ((__cplusplus >= 201103L) && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)) \ - && !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF)) - - #include <ext/string_conversions.h> -Index: b/libstdc++-v3/include/bits/locale_facets.tcc -=================================================================== ---- a/libstdc++-v3/include/bits/locale_facets.tcc -+++ b/libstdc++-v3/include/bits/locale_facets.tcc -@@ -987,7 +987,7 @@ - char __fbuf[16]; - __num_base::_S_format_float(__io, __fbuf, __mod); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - // First try a buffer perhaps big enough (most probably sufficient - // for non-ios_base::fixed outputs) - int __cs_size = __max_digits * 3; -Index: b/libstdc++-v3/include/bits/locale_facets_nonio.tcc -=================================================================== ---- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc -+++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc -@@ -572,7 +572,7 @@ - { - const locale __loc = __io.getloc(); - const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc); --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - // First try a buffer perhaps big enough. - int __cs_size = 64; - char* __cs = static_cast<char*>(__builtin_alloca(__cs_size)); -Index: b/libstdc++-v3/include/c_compatibility/math.h -=================================================================== ---- a/libstdc++-v3/include/c_compatibility/math.h -+++ b/libstdc++-v3/include/c_compatibility/math.h -@@ -56,7 +56,7 @@ - using std::floor; - using std::fmod; - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::fpclassify; - using std::isfinite; - using std::isinf; -Index: b/libstdc++-v3/include/c_compatibility/wchar.h -=================================================================== ---- a/libstdc++-v3/include/c_compatibility/wchar.h -+++ b/libstdc++-v3/include/c_compatibility/wchar.h -@@ -103,7 +103,7 @@ - using std::wmemset; - using std::wcsftime; - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; -Index: b/libstdc++-v3/include/c_global/cstdlib -=================================================================== ---- a/libstdc++-v3/include/c_global/cstdlib -+++ b/libstdc++-v3/include/c_global/cstdlib -@@ -182,7 +182,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef _Exit - #undef llabs -Index: b/libstdc++-v3/include/c_global/cwchar -=================================================================== ---- a/libstdc++-v3/include/c_global/cwchar -+++ b/libstdc++-v3/include/c_global/cwchar -@@ -232,7 +232,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef wcstold - #undef wcstoll -@@ -289,7 +289,7 @@ - using std::vwscanf; - #endif - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; -Index: b/libstdc++-v3/include/c_std/cstdio -=================================================================== ---- a/libstdc++-v3/include/c_std/cstdio -+++ b/libstdc++-v3/include/c_std/cstdio -@@ -139,7 +139,7 @@ - using ::vsprintf; - } // namespace std - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef snprintf - #undef vfscanf -Index: b/libstdc++-v3/include/c_std/cstdlib -=================================================================== ---- a/libstdc++-v3/include/c_std/cstdlib -+++ b/libstdc++-v3/include/c_std/cstdlib -@@ -180,7 +180,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef _Exit - #undef llabs -Index: b/libstdc++-v3/include/c_std/cwchar -=================================================================== ---- a/libstdc++-v3/include/c_std/cwchar -+++ b/libstdc++-v3/include/c_std/cwchar -@@ -228,7 +228,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef wcstold - #undef wcstoll -Index: b/libstdc++-v3/include/ext/vstring.h -=================================================================== ---- a/libstdc++-v3/include/ext/vstring.h -+++ b/libstdc++-v3/include/ext/vstring.h -@@ -2571,7 +2571,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99)) -+#if ((__cplusplus >= 201103L) && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__))) - - #include <ext/string_conversions.h> - -Index: b/libstdc++-v3/include/tr1/cstdio -=================================================================== ---- a/libstdc++-v3/include/tr1/cstdio -+++ b/libstdc++-v3/include/tr1/cstdio -@@ -33,7 +33,7 @@ - - #include <cstdio> - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - namespace std _GLIBCXX_VISIBILITY(default) - { -Index: b/libstdc++-v3/include/tr1/cstdlib -=================================================================== ---- a/libstdc++-v3/include/tr1/cstdlib -+++ b/libstdc++-v3/include/tr1/cstdlib -@@ -35,7 +35,7 @@ - - #if _GLIBCXX_HOSTED - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - namespace std _GLIBCXX_VISIBILITY(default) - { -Index: b/libstdc++-v3/include/tr1/cwchar -=================================================================== ---- a/libstdc++-v3/include/tr1/cwchar -+++ b/libstdc++-v3/include/tr1/cwchar -@@ -52,7 +52,7 @@ - using std::vwscanf; - #endif - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; -Index: b/libstdc++-v3/include/tr1/stdlib.h -=================================================================== ---- a/libstdc++-v3/include/tr1/stdlib.h -+++ b/libstdc++-v3/include/tr1/stdlib.h -@@ -33,7 +33,7 @@ - - #if _GLIBCXX_HOSTED - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - using std::tr1::atoll; - using std::tr1::strtoll; -Index: b/libstdc++-v3/src/c++11/debug.cc -=================================================================== ---- a/libstdc++-v3/src/c++11/debug.cc -+++ b/libstdc++-v3/src/c++11/debug.cc -@@ -787,7 +787,7 @@ - int __n __attribute__ ((__unused__)), - const char* __fmt, _Tp __s) const throw () - { --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - std::snprintf(__buf, __n, __fmt, __s); - #else - std::sprintf(__buf, __fmt, __s); -Index: b/libstdc++-v3/include/c_global/cstdio -=================================================================== ---- a/libstdc++-v3/include/c_global/cstdio -+++ b/libstdc++-v3/include/c_global/cstdio -@@ -139,7 +139,7 @@ - using ::vsprintf; - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef snprintf - #undef vfscanf diff --git a/package/gcc/arc-2016.09-eng007/851-PR-other-56780.patch b/package/gcc/arc-2016.09-eng007/851-PR-other-56780.patch deleted file mode 100644 index feb433920..000000000 --- a/package/gcc/arc-2016.09-eng007/851-PR-other-56780.patch +++ /dev/null @@ -1,244 +0,0 @@ -From afe990251bd9b3a063f03da31a3b8d139d033bc3 Mon Sep 17 00:00:00 2001 -From: ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Sat, 1 Jun 2013 00:20:49 +0000 -Subject: [PATCH] PR other/56780 - -* libiberty/configure.ac: Move test for --enable-install-libiberty -outside of the 'with_target_subdir' test so that it actually gets -run. Add output messages to show the test result. -* libiberty/configure: Regenerate. -* libiberty/Makefile.in (install_to_libdir): Place the -installation of the libiberty library in the same guard as that -used for the headers to prevent it being installed unless -requested via --enable-install-libiberty. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199570 138bc75d-0d04-0410-961f-82ee72b054a4 - -libiberty: fix --enable-install-libiberty flag [PR 56780] - -Commit 199570 fixed the --disable-install-libiberty behavior, but it also -added a bug where the enable path never works because the initial clear -of target_header_dir wasn't deleted. So we end up initializing properly -at the top only to reset it at the end all the time. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4 - -[Romain - squash the two upstream commits - Remove the ChangeLog] -Signed-off-by: Romain Naour <romain.naour@openwide.fr> ---- - libiberty/Makefile.in | 24 ++++++++++----------- - libiberty/configure | 57 +++++++++++++++++++++++++++----------------------- - libiberty/configure.ac | 47 ++++++++++++++++++++++------------------- - 3 files changed, 68 insertions(+), 60 deletions(-) - -diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in -index f6a3ebd..75ff82d 100644 ---- a/libiberty/Makefile.in -+++ b/libiberty/Makefile.in -@@ -355,19 +355,19 @@ install-strip: install - # since it will be passed the multilib flags. - MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory` - install_to_libdir: all -- ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR) -- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n -- ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ) -- mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB) - if test -n "${target_header_dir}"; then \ -- case "${target_header_dir}" in \ -- /*) thd=${target_header_dir};; \ -- *) thd=${includedir}/${target_header_dir};; \ -- esac; \ -- ${mkinstalldirs} $(DESTDIR)$${thd}; \ -- for h in ${INSTALLED_HEADERS}; do \ -- ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \ -- done; \ -+ ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \ -+ $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \ -+ ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \ -+ mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \ -+ case "${target_header_dir}" in \ -+ /*) thd=${target_header_dir};; \ -+ *) thd=${includedir}/${target_header_dir};; \ -+ esac; \ -+ ${mkinstalldirs} $(DESTDIR)$${thd}; \ -+ for h in ${INSTALLED_HEADERS}; do \ -+ ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \ -+ done; \ - fi - @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install - -diff --git a/libiberty/configure b/libiberty/configure -index 5367027..4feb95a 100755 ---- a/libiberty/configure -+++ b/libiberty/configure -@@ -675,8 +675,8 @@ with_cross_host - with_newlib - enable_maintainer_mode - enable_multilib --enable_largefile - enable_install_libiberty -+enable_largefile - ' - ac_precious_vars='build_alias - host_alias -@@ -1303,8 +1303,8 @@ Optional Features: - enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer - --enable-multilib build many library versions (default) -+ --enable-install-libiberty Install headers and library for end users - --disable-largefile omit support for large files -- --enable-install-libiberty Install headers for end users - - Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] -@@ -2784,6 +2784,35 @@ if test $cross_compiling = no && test $multilib = yes \ - cross_compiling=maybe - fi - -+# We may wish to install the target headers somewhere. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to install libiberty headers and static library" >&5 -+$as_echo_n "checking whether to install libiberty headers and static library... " >&6; } -+ -+# Check whether --enable-install-libiberty was given. -+if test "${enable_install_libiberty+set}" = set; then : -+ enableval=$enable_install_libiberty; enable_install_libiberty=$enableval -+else -+ enable_install_libiberty=no -+fi -+ -+# Option parsed, now set things appropriately. -+case x"$enable_install_libiberty" in -+ xyes|x) -+ target_header_dir=libiberty -+ ;; -+ xno) -+ target_header_dir= -+ ;; -+ *) -+ # This could be sanity-checked in various ways... -+ target_header_dir="${enable_install_libiberty}" -+ ;; -+esac -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_install_libiberty" >&5 -+$as_echo "$enable_install_libiberty" >&6; } -+{ $as_echo "$as_me:${as_lineno-$LINENO}: target_header_dir = $target_header_dir" >&5 -+$as_echo "$as_me: target_header_dir = $target_header_dir" >&6;} -+ - - ac_ext=c - ac_cpp='$CPP $CPPFLAGS' -@@ -5476,7 +5505,6 @@ fi - - setobjs= - CHECK= --target_header_dir= - if test -n "${with_target_subdir}"; then - - # We are being configured as a target library. AC_REPLACE_FUNCS -@@ -5759,29 +5787,6 @@ _ACEOF - - esac - -- # We may wish to install the target headers somewhere. -- # Check whether --enable-install-libiberty was given. --if test "${enable_install_libiberty+set}" = set; then : -- enableval=$enable_install_libiberty; enable_install_libiberty=$enableval --else -- enable_install_libiberty=no --fi -- -- # Option parsed, now set things appropriately. -- case x"$enable_install_libiberty" in -- xyes|x) -- target_header_dir=libiberty -- ;; -- xno) -- target_header_dir= -- ;; -- *) -- # This could be sanity-checked in various ways... -- target_header_dir="${enable_install_libiberty}" -- ;; -- esac -- -- - else - - # Not a target library, so we set things up to run the test suite. -diff --git a/libiberty/configure.ac b/libiberty/configure.ac -index c763894..f17e6b6 100644 ---- a/libiberty/configure.ac -+++ b/libiberty/configure.ac -@@ -128,6 +128,31 @@ if test $cross_compiling = no && test $multilib = yes \ - cross_compiling=maybe - fi - -+# We may wish to install the target headers somewhere. -+AC_MSG_CHECKING([whether to install libiberty headers and static library]) -+dnl install-libiberty is disabled by default -+ -+AC_ARG_ENABLE(install-libiberty, -+[ --enable-install-libiberty Install headers and library for end users], -+enable_install_libiberty=$enableval, -+enable_install_libiberty=no)dnl -+ -+# Option parsed, now set things appropriately. -+case x"$enable_install_libiberty" in -+ xyes|x) -+ target_header_dir=libiberty -+ ;; -+ xno) -+ target_header_dir= -+ ;; -+ *) -+ # This could be sanity-checked in various ways... -+ target_header_dir="${enable_install_libiberty}" -+ ;; -+esac -+AC_MSG_RESULT($enable_install_libiberty) -+AC_MSG_NOTICE([target_header_dir = $target_header_dir]) -+ - GCC_NO_EXECUTABLES - AC_PROG_CC - AC_SYS_LARGEFILE -@@ -380,7 +405,6 @@ fi - - setobjs= - CHECK= --target_header_dir= - if test -n "${with_target_subdir}"; then - - # We are being configured as a target library. AC_REPLACE_FUNCS -@@ -492,27 +516,6 @@ if test -n "${with_target_subdir}"; then - - esac - -- # We may wish to install the target headers somewhere. -- AC_ARG_ENABLE(install-libiberty, -- [ --enable-install-libiberty Install headers for end users], -- enable_install_libiberty=$enableval, -- enable_install_libiberty=no)dnl -- -- # Option parsed, now set things appropriately. -- case x"$enable_install_libiberty" in -- xyes|x) -- target_header_dir=libiberty -- ;; -- xno) -- target_header_dir= -- ;; -- *) -- # This could be sanity-checked in various ways... -- target_header_dir="${enable_install_libiberty}" -- ;; -- esac -- -- - else - - # Not a target library, so we set things up to run the test suite. --- -1.9.3 - diff --git a/package/gcc/arc-2016.09-eng007/930-libgcc-disable-split-stack-nothreads.patch b/package/gcc/arc-2016.09-eng007/930-libgcc-disable-split-stack-nothreads.patch deleted file mode 100644 index 7799c1286..000000000 --- a/package/gcc/arc-2016.09-eng007/930-libgcc-disable-split-stack-nothreads.patch +++ /dev/null @@ -1,14 +0,0 @@ -disable split-stack for non-thread builds - -Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> - -diff -Nur gcc-4.8.5.orig/libgcc/config/t-stack gcc-4.8.5/libgcc/config/t-stack ---- gcc-4.8.5.orig/libgcc/config/t-stack 2010-10-01 21:31:49.000000000 +0200 -+++ gcc-4.8.5/libgcc/config/t-stack 2016-03-07 05:28:12.000000000 +0100 -@@ -1,4 +1,6 @@ - # Makefile fragment to provide generic support for -fsplit-stack. - # This should be used in config.host for any host which supports - # -fsplit-stack. -+ifeq ($(enable_threads),yes) - LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c -+endif diff --git a/package/gcc/arc-2016.09-eng007/301-missing-execinfo_h.patch b/package/gcc/arc-2016.09-eng010/301-missing-execinfo_h.patch index 00efda24a..2d0e7baa4 100644 --- a/package/gcc/arc-2016.09-eng007/301-missing-execinfo_h.patch +++ b/package/gcc/arc-2016.09-eng010/301-missing-execinfo_h.patch @@ -1,7 +1,7 @@ -Index: gcc-4.8.0/boehm-gc/include/gc.h +Index: b/boehm-gc/include/gc.h =================================================================== ---- gcc-4.8.0.orig/boehm-gc/include/gc.h 2007-04-23 23:10:09.000000000 +0200 -+++ gcc-4.8.0/boehm-gc/include/gc.h 2013-03-23 17:39:20.000000000 +0100 +--- a/boehm-gc/include/gc.h ++++ b/boehm-gc/include/gc.h @@ -503,7 +503,7 @@ #if defined(__linux__) || defined(__GLIBC__) # include <features.h> diff --git a/package/gcc/arc-2016.09-eng010/860-cilk-wchar.patch b/package/gcc/arc-2016.09-eng010/860-cilk-wchar.patch new file mode 100644 index 000000000..1d9916f55 --- /dev/null +++ b/package/gcc/arc-2016.09-eng010/860-cilk-wchar.patch @@ -0,0 +1,56 @@ +[PATCH] cilk: fix build without wchar + +When building against uClibc with wchar support disabled, WCHAR_MIN and +WCHAR_MAX are not defined leading to compilation errors. + +Fix it by only including the wchar code if available. + +Signed-off-by: Peter Korsgaard <peter@korsgaard.com> +--- + libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++ + 1 file changed, 8 insertions(+) + +Index: b/libcilkrts/include/cilk/reducer_min_max.h +=================================================================== +--- a/libcilkrts/include/cilk/reducer_min_max.h ++++ b/libcilkrts/include/cilk/reducer_min_max.h +@@ -3154,7 +3154,9 @@ + CILK_C_REDUCER_MAX_INSTANCE(char, char, CHAR_MIN) + CILK_C_REDUCER_MAX_INSTANCE(unsigned char, uchar, 0) + CILK_C_REDUCER_MAX_INSTANCE(signed char, schar, SCHAR_MIN) ++#ifdef WCHAR_MIN + CILK_C_REDUCER_MAX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) ++#endif + CILK_C_REDUCER_MAX_INSTANCE(short, short, SHRT_MIN) + CILK_C_REDUCER_MAX_INSTANCE(unsigned short, ushort, 0) + CILK_C_REDUCER_MAX_INSTANCE(int, int, INT_MIN) +@@ -3306,7 +3308,9 @@ + CILK_C_REDUCER_MAX_INDEX_INSTANCE(char, char, CHAR_MIN) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned char, uchar, 0) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(signed char, schar, SCHAR_MIN) ++#ifdef WCHAR_MIN + CILK_C_REDUCER_MAX_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) ++#endif + CILK_C_REDUCER_MAX_INDEX_INSTANCE(short, short, SHRT_MIN) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned short, ushort, 0) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(int, int, INT_MIN) +@@ -3432,7 +3436,9 @@ + CILK_C_REDUCER_MIN_INSTANCE(char, char, CHAR_MAX) + CILK_C_REDUCER_MIN_INSTANCE(unsigned char, uchar, CHAR_MAX) + CILK_C_REDUCER_MIN_INSTANCE(signed char, schar, SCHAR_MAX) ++#ifdef WCHAR_MAX + CILK_C_REDUCER_MIN_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) ++#endif + CILK_C_REDUCER_MIN_INSTANCE(short, short, SHRT_MAX) + CILK_C_REDUCER_MIN_INSTANCE(unsigned short, ushort, USHRT_MAX) + CILK_C_REDUCER_MIN_INSTANCE(int, int, INT_MAX) +@@ -3584,7 +3590,9 @@ + CILK_C_REDUCER_MIN_INDEX_INSTANCE(char, char, CHAR_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned char, uchar, CHAR_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(signed char, schar, SCHAR_MAX) ++#ifdef WCHAR_MAX + CILK_C_REDUCER_MIN_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) ++#endif + CILK_C_REDUCER_MIN_INDEX_INSTANCE(short, short, SHRT_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned short, ushort, USHRT_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(int, int, INT_MAX) diff --git a/package/gcc/arc-2016.09-eng010/940-uclinux-enable-threads.patch b/package/gcc/arc-2016.09-eng010/940-uclinux-enable-threads.patch new file mode 100644 index 000000000..553265672 --- /dev/null +++ b/package/gcc/arc-2016.09-eng010/940-uclinux-enable-threads.patch @@ -0,0 +1,19 @@ +Enable POSIX threads for uClinux targets +Reported upstream: +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71721 + +Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> + +diff -Nur gcc-6.1.0.orig/gcc/config.gcc gcc-6.1.0/gcc/config.gcc +--- gcc-6.1.0.orig/gcc/config.gcc 2016-04-11 12:14:59.000000000 +0200 ++++ gcc-6.1.0/gcc/config.gcc 2016-07-02 20:04:25.732169982 +0200 +@@ -833,6 +833,9 @@ + *-*-uclinux*) + extra_options="$extra_options gnu-user.opt" + use_gcc_stdint=wrap ++ case ${enable_threads} in ++ "" | yes | posix) thread_file='posix' ;; ++ esac + tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC" + ;; + *-*-rdos*) diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk index 284d34cb1..eea2f74bd 100644 --- a/package/gcc/gcc-final/gcc-final.mk +++ b/package/gcc/gcc-final/gcc-final.mk @@ -74,6 +74,10 @@ HOST_GCC_FINAL_CONF_OPTS += "--with-multilib-list=m4a,m4a-nofpu" HOST_GCC_FINAL_GCC_LIB_DIR = $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/lib/!m4* endif +ifeq ($(BR2_bfin),y) +HOST_GCC_FINAL_CONF_OPTS += --disable-symvers +endif + # Disable shared libs like libstdc++ if we do static since it confuses linking ifeq ($(BR2_STATIC_LIBS),y) HOST_GCC_FINAL_CONF_OPTS += --disable-shared diff --git a/package/gcc/gcc.hash b/package/gcc/gcc.hash index ecde39353..2e115516e 100644 --- a/package/gcc/gcc.hash +++ b/package/gcc/gcc.hash @@ -12,4 +12,4 @@ sha512 2941cc950c8f2409a314df497631f9b0266211aa74746c1839c46e04f1c7c299afe2528d sha512 eeed3e2018b8c012aabce419e8d718fde701e5c3c179b4486c61ba46e5736eecc8fccdd18b01fcd973a42c6ad3116dbbe2ee247fe3757d622d373f93ebaf8d2e gcc-6.1.0.tar.bz2 # Locally calculated (fetched from Github) -sha512 f798e450ae3095538c5b12c785eab00f8f4084d3ff3e5e2dfd05ed20e0a20d4e754d87359482962d85c9082cb9fcbbf100d9eab6dfd2dbdccbecdcbf680ff23a gcc-arc-2016.09-eng007.tar.gz +sha512 a788737022c178a1e7704e4ecd3438937f2239bf27fd487db2b00e4bb5c6604535842e4d6798f120488bdbf0b226fa9c94f4b8aede4ce9d20b0add6bcec82927 gcc-arc-2016.09-eng010.tar.gz diff --git a/package/glib-networking/glib-networking.mk b/package/glib-networking/glib-networking.mk index d4782e01f..b6e40f84c 100644 --- a/package/glib-networking/glib-networking.mk +++ b/package/glib-networking/glib-networking.mk @@ -14,6 +14,8 @@ GLIB_NETWORKING_DEPENDENCIES = \ host-pkgconf \ host-intltool \ libglib2 +GLIB_NETWORKING_CONF_OPTS = \ + --with-ca-certificates=/etc/ssl/certs/ca-certificates.crt GLIB_NETWORKING_LICENSE = LGPLv2+ GLIB_NETWORKING_LICENSE_FILES = COPYING GLIB_NETWORKING_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) \ diff --git a/package/gmp/gmp.mk b/package/gmp/gmp.mk index 485bf7c0f..420fd2f3f 100644 --- a/package/gmp/gmp.mk +++ b/package/gmp/gmp.mk @@ -15,7 +15,7 @@ HOST_GMP_DEPENDENCIES = host-m4 # GMP doesn't support assembly for coldfire or mips r6 ISA yet # Disable for ARM v7m since it has different asm constraints -ifeq ($(BR2_m68k_cf)$(BR2_mips_32r6)$(BR2_mips_64r6)$(BR2_ARM_CPU_ARMV7M),y) +ifeq ($(BR2_m68k_cf)$(BR2_mips_32r6)$(BR2_mips_64r6)$(BR2_ARM_CPU_ARMV7M)$(BR2_arc),y) GMP_CONF_OPTS += --disable-assembly endif diff --git a/package/gnupg/gnupg.hash b/package/gnupg/gnupg.hash index f872d24d5..8968b00d2 100644 --- a/package/gnupg/gnupg.hash +++ b/package/gnupg/gnupg.hash @@ -1,2 +1,4 @@ -# From https://lists.gnupg.org/pipermail/gnupg-announce/2015q4/000382.html -sha1 cbc9d960e3d8488c32675019a79fbfbf8680387e gnupg-1.4.20.tar.bz2 +# From https://lists.gnu.org/archive/html/info-gnu/2016-08/msg00008.html +sha1 e3bdb585026f752ae91360f45c28e76e4a15d338 gnupg-1.4.21.tar.bz2 +# Locally computed +sha256 6b47a3100c857dcab3c60e6152e56a997f2c7862c1b8b2b25adf3884a1ae2276 gnupg-1.4.21.tar.bz2 diff --git a/package/gnupg/gnupg.mk b/package/gnupg/gnupg.mk index 54f4d9736..182abd670 100644 --- a/package/gnupg/gnupg.mk +++ b/package/gnupg/gnupg.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUPG_VERSION = 1.4.20 +GNUPG_VERSION = 1.4.21 GNUPG_SOURCE = gnupg-$(GNUPG_VERSION).tar.bz2 GNUPG_SITE = ftp://ftp.gnupg.org/gcrypt/gnupg GNUPG_LICENSE = GPLv3+ diff --git a/package/gnuplot/gnuplot.mk b/package/gnuplot/gnuplot.mk index 4408ece5b..a9e12045e 100644 --- a/package/gnuplot/gnuplot.mk +++ b/package/gnuplot/gnuplot.mk @@ -25,6 +25,11 @@ GNUPLOT_CONF_OPTS = \ --without-latex \ --without-cairo +# relocation truncated to fit: R_68K_GOT16O +ifeq ($(BR2_m68k_cf),y) +GNUPLOT_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -mxgot" +endif + ifeq ($(BR2_PACKAGE_GD)$(BR2_PACKAGE_LIBPNG),yy) GNUPLOT_CONF_OPTS += --with-gd GNUPLOT_DEPENDENCIES += gd diff --git a/package/gnuradio/0003-fix_compilation_in_gcc-6.patch b/package/gnuradio/0003-fix_compilation_in_gcc-6.patch new file mode 100644 index 000000000..f50af8568 --- /dev/null +++ b/package/gnuradio/0003-fix_compilation_in_gcc-6.patch @@ -0,0 +1,36 @@ +commit a1cf11937665392bcfa223a5095ff903eb44c69b +Author: Jaroslav #karvada <jskarvad@redhat.com> +Date: Fri Feb 12 18:29:13 2016 +0100 + +Backport patch from +http://gnuradio.org/redmine/projects/gnuradio/repository/revisions/a1cf11937665392bcfa223a5095ff903eb44c69b + +Fix compilation in gcc-6 + +Signed-off-by: Jaroslav #karvada <jskarvad@redhat.com> +Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com> +--- +diff --git a/gr-fec/include/gnuradio/fec/polar_decoder_common.h b/gr-fec/include/gnuradio/fec/polar_decoder_common.h +index b0ecb85..a39ee4f 100644 +--- a/gr-fec/include/gnuradio/fec/polar_decoder_common.h ++++ b/gr-fec/include/gnuradio/fec/polar_decoder_common.h +@@ -28,6 +28,10 @@ + #include <gnuradio/fec/generic_decoder.h> + #include <gnuradio/fec/polar_common.h> + ++#ifndef BOOST_CONSTEXPR_OR_CONST ++#define BOOST_CONSTEXPR_OR_CONST const ++#endif ++ + namespace gr { + namespace fec { + namespace code { +@@ -64,7 +68,7 @@ namespace gr { + bool set_frame_size(unsigned int frame_size){return false;}; + + private: +- static const float D_LLR_FACTOR = -2.19722458f; ++ static BOOST_CONSTEXPR_OR_CONST float D_LLR_FACTOR = -2.19722458f; + unsigned int d_frozen_bit_counter; + + protected: diff --git a/package/gstreamer1/gst1-imx/0001-v4l2src-Add-V4L2_PIX_FMT_XRGB555X-check.patch b/package/gstreamer1/gst1-imx/0001-v4l2src-Add-V4L2_PIX_FMT_XRGB555X-check.patch new file mode 100644 index 000000000..67ac055a6 --- /dev/null +++ b/package/gstreamer1/gst1-imx/0001-v4l2src-Add-V4L2_PIX_FMT_XRGB555X-check.patch @@ -0,0 +1,33 @@ +From 1ca05ebb7cb63607d14983948105dd1483ea6b65 Mon Sep 17 00:00:00 2001 +From: Gary Bisson <gary.bisson@boundarydevices.com> +Date: Tue, 9 Aug 2016 10:26:15 +0200 +Subject: [PATCH] v4l2src: Add V4L2_PIX_FMT_XRGB555X check + +Since this format was added in kernel 3.18, any prior version will +fail to compile. + +Issue reported by Buildroot autobuilder with 3.10 kernel headers: +http://autobuild.buildroot.net/results/b46/b460a770c8f4e992d29dde8fe37fc23a949937f2/ + +Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> +--- + src/v4l2src/v4l2src.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/v4l2src/v4l2src.c b/src/v4l2src/v4l2src.c +index c77ae49..12b392a 100644 +--- a/src/v4l2src/v4l2src.c ++++ b/src/v4l2src/v4l2src.c +@@ -447,7 +447,9 @@ static GstCaps *gst_imx_v4l2src_caps_for_current_setup(GstImxV4l2VideoSrc *v4l2s + case V4L2_PIX_FMT_RGB555: + gst_fmt = GST_VIDEO_FORMAT_RGB15; + break; ++#ifdef V4L2_PIX_FMT_XRGB555X + case V4L2_PIX_FMT_XRGB555X: ++#endif + case V4L2_PIX_FMT_RGB555X: + gst_fmt = GST_VIDEO_FORMAT_BGR15; + break; +-- +2.8.1 + diff --git a/package/hidapi/Config.in b/package/hidapi/Config.in index 5119aac93..f6a31bacd 100644 --- a/package/hidapi/Config.in +++ b/package/hidapi/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_HIDAPI bool "hidapi" depends on BR2_PACKAGE_HAS_UDEV - depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_PACKAGE_LIBUSB select BR2_PACKAGE_LIBGUDEV select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE @@ -12,5 +12,5 @@ config BR2_PACKAGE_HIDAPI http://www.signal11.us/oss/hidapi/ -comment "hidapi needs udev /dev management and a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_HAS_UDEV +comment "hidapi needs udev /dev management and a toolchain w/ NPTL threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_PACKAGE_HAS_UDEV diff --git a/package/hplip/Config.in b/package/hplip/Config.in index 756567150..176dc6a6a 100644 --- a/package/hplip/Config.in +++ b/package/hplip/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_HPLIP depends on BR2_INSTALL_LIBSTDCPP depends on BR2_PACKAGE_CUPS depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + depends on !BR2_STATIC_LIBS # libdl select BR2_PACKAGE_LIBUSB select BR2_PACKAGE_JPEG help @@ -15,6 +16,7 @@ config BR2_PACKAGE_HPLIP http://hplipopensource.com/ -comment "hplip needs a toolchain w/ C++, threads" +comment "hplip needs a toolchain w/ C++, threads, dynamic library" depends on BR2_PACKAGE_CUPS - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS diff --git a/package/imagemagick/imagemagick.hash b/package/imagemagick/imagemagick.hash index 71cfeda3b..dcbef18de 100644 --- a/package/imagemagick/imagemagick.hash +++ b/package/imagemagick/imagemagick.hash @@ -1,2 +1,2 @@ # From http://www.imagemagick.org/download/releases/digest.rdf -sha256 1e173314ddcf1508f9f4c20ddd650883e089dea6acbedd8f2c54d02109104cf9 ImageMagick-7.0.2-6.tar.xz +sha256 22df4f197985f36f77b7b0d44de92ff44415885045f0191b3319540bdc82ff53 ImageMagick-7.0.2-9.tar.xz diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk index 2d2fe765a..373765c6e 100644 --- a/package/imagemagick/imagemagick.mk +++ b/package/imagemagick/imagemagick.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMAGEMAGICK_VERSION = 7.0.2-6 +IMAGEMAGICK_VERSION = 7.0.2-9 IMAGEMAGICK_SOURCE = ImageMagick-$(IMAGEMAGICK_VERSION).tar.xz IMAGEMAGICK_SITE = http://www.imagemagick.org/download/releases IMAGEMAGICK_LICENSE = Apache-2.0 diff --git a/package/inotify-tools/0001-gcc6.patch b/package/inotify-tools/0001-gcc6.patch new file mode 100644 index 000000000..aae622ebf --- /dev/null +++ b/package/inotify-tools/0001-gcc6.patch @@ -0,0 +1,49 @@ +From 5fe3ba82134d8b85adc69cf1d6c5742b4bde20b4 Mon Sep 17 00:00:00 2001 +From: James Knight <james.d.knight@live.com> +Date: Thu, 16 Jun 2016 00:00:57 -0400 +Subject: [PATCH] correct code alignment +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The following replaces the indented section of code from spaces to tabs. +No functional changes. Aside from consistency, this resolves a GCC 6 +build issue with the flag `-Werror=misleading-indentation` enabled: + + inotifywait.c: In function ‘output_event_csv’: + inotifywait.c:126:5: error: this ‘if’ clause does not guard... + [-Werror=misleading-indentation] + if (filename != NULL) + ^~ + inotifywait.c:129:2: note: ...this statement, but the latter is + misleadingly indented as if it is guarded + by the ‘if’ + printf("%s,", csv_escape( inotifytools_event_to_str( event->mask ) + ) ); + ^~~~~~ + +Signed-off-by: James Knight <james.d.knight@live.com> +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> +(downloaded from upstream pull request + https://github.com/rvoicilas/inotify-tools/pull/65) +--- + src/inotifywait.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/inotifywait.c b/src/inotifywait.c +index c5ce5e3..404a85b 100644 +--- a/src/inotifywait.c ++++ b/src/inotifywait.c +@@ -122,9 +122,9 @@ void validate_format( char * fmt ) { + + + void output_event_csv( struct inotify_event * event ) { +- char *filename = csv_escape(inotifytools_filename_from_wd(event->wd)); +- if (filename != NULL) +- printf("%s,", filename); ++ char *filename = csv_escape(inotifytools_filename_from_wd(event->wd)); ++ if (filename != NULL) ++ printf("%s,", filename); + + printf("%s,", csv_escape( inotifytools_event_to_str( event->mask ) ) ); + if ( event->len > 0 ) diff --git a/package/iproute2/iproute2.mk b/package/iproute2/iproute2.mk index 91d5033f3..09e68c5ec 100644 --- a/package/iproute2/iproute2.mk +++ b/package/iproute2/iproute2.mk @@ -27,13 +27,13 @@ ifeq ($(BR2_PACKAGE_IPTABLES)x$(BR2_STATIC_LIBS),yx) IPROUTE2_DEPENDENCIES += iptables define IPROUTE2_WITH_IPTABLES # Makefile is busted so it never passes IPT_LIB_DIR properly - $(SED) "s/-DIPT/-DXT/" $(IPROUTE2_DIR)/tc/Makefile + $(SED) "s/-DIPT/-DXT/" $(@D)/tc/Makefile endef else define IPROUTE2_WITH_IPTABLES # em_ipset needs xtables, but configure misdetects it - echo "TC_CONFIG_IPSET:=n" >>$(IPROUTE2_DIR)/Config - echo "TC_CONFIG_XT:=n" >>$(IPROUTE2_DIR)/Config + echo "TC_CONFIG_IPSET:=n" >>$(@D)/Config + echo "TC_CONFIG_XT:=n" >>$(@D)/Config endef endif @@ -42,7 +42,7 @@ ifeq ($(BR2_PACKAGE_BERKELEYDB_COMPAT185)$(BR2_TOOLCHAIN_HAS_THREADS),yy) IPROUTE2_DEPENDENCIES += berkeleydb else define IPROUTE2_DISABLE_ARPD - $(SED) "/^TARGETS=/s: arpd : :" $(IPROUTE2_DIR)/misc/Makefile + echo "HAVE_BERKELEY_DB:=n" >> $(@D)/Config endef endif diff --git a/package/iputils/iputils.mk b/package/iputils/iputils.mk index d6398f7dc..0a8912038 100644 --- a/package/iputils/iputils.mk +++ b/package/iputils/iputils.mk @@ -36,6 +36,13 @@ endif ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) IPUTILS_MAKE_OPTS += USE_GCRYPT=yes IPUTILS_DEPENDENCIES += libgcrypt +# When gettext is enabled (BR2_PACKAGE_GETTEXT=y), and provides libintl +# (BR2_NEEDS_GETTEXT=y), libgpg-error will link with libintl, and libgpg-error +# is pulled in by libgcrypt. Since iputils doesn't use libtool, we have to link +# with libintl explicitly for static linking. +ifeq ($(BR2_STATIC_LIBS)$(BR2_NEEDS_GETTEXT)$(BR2_PACKAGE_GETTEXT),yyy) +IPUTILS_MAKE_OPTS += ADDLIB='-lintl' +endif else IPUTILS_MAKE_OPTS += USE_GCRYPT=no endif diff --git a/package/jack2/0003-tests-define-__STDC_LIMIT_MACROS.patch b/package/jack2/0003-tests-define-__STDC_LIMIT_MACROS.patch new file mode 100644 index 000000000..e4990b5c3 --- /dev/null +++ b/package/jack2/0003-tests-define-__STDC_LIMIT_MACROS.patch @@ -0,0 +1,41 @@ +From c971aaab74ca6e7d4ac3a06bd26e7309dfc5da45 Mon Sep 17 00:00:00 2001 +From: Rahul Bedarkar <rahul.bedarkar@imgtec.com> +Date: Mon, 22 Aug 2016 19:04:47 +0530 +Subject: [PATCH] tests: define __STDC_LIMIT_MACROS + +With glibc 2.16, we get following build error when building jack2: + + [193/247] cxx: tests/iodelay.cpp -> build/tests/iodelay.cpp.4.o + ../tests/iodelay.cpp:171:43: error: 'UINT32_MAX' was not declared in this scope + ../tests/iodelay.cpp:171:55: error: 'UINT32_MAX' was not declared in this scope + ../tests/iodelay.cpp:172:44: error: 'UINT32_MAX' was not declared in this scope + ../tests/iodelay.cpp:172:56: error: 'UINT32_MAX' was not declared in this scope + +In glibc 2.17 or older version, Header <stdint.h> defines these macros +for C++ only if explicitly requested by defining __STDC_LIMIT_MACROS. + +We can't use <cstdint> since it requires C++11 standard. + +This build issue found by Buildroot autobuilder. +http://autobuild.buildroot.net/results/369/369ce208ffea43dad75ba0a13469159b341e3bf5/ + +Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com> +--- + tests/iodelay.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tests/iodelay.cpp b/tests/iodelay.cpp +index 1ef470f..f5c5836 100644 +--- a/tests/iodelay.cpp ++++ b/tests/iodelay.cpp +@@ -20,6 +20,7 @@ + + #include <stdlib.h> + #include <stdio.h> ++#define __STDC_LIMIT_MACROS + #include <stdint.h> + #include <math.h> + #include <unistd.h> +-- +2.6.2 + diff --git a/package/jack2/jack2.hash b/package/jack2/jack2.hash index ab031b9d9..1b981a4b8 100644 --- a/package/jack2/jack2.hash +++ b/package/jack2/jack2.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 88f1b6601b7c8950e6a2d5940b423a33ee628ae5583da40bdce3d9317d8c600d jack2-v1.9.10.tar.gz +sha256 f372c4300e3fb2c1ce053e47829df44f3f8b933feb820759392187723ae8e640 ff1ed2c4524095055140370c1008a2d9cccc5645.patch diff --git a/package/jack2/jack2.mk b/package/jack2/jack2.mk index 777a32131..f6ab974e8 100644 --- a/package/jack2/jack2.mk +++ b/package/jack2/jack2.mk @@ -9,6 +9,7 @@ JACK2_SITE = $(call github,jackaudio,jack2,$(JACK2_VERSION)) JACK2_LICENSE = GPLv2+ (jack server), LGPLv2.1+ (jack library) JACK2_DEPENDENCIES = libsamplerate libsndfile alsa-lib host-python JACK2_INSTALL_STAGING = YES +JACK2_PATCH = https://github.com/jackaudio/jack2/commit/ff1ed2c4524095055140370c1008a2d9cccc5645.patch ifeq ($(BR2_PACKAGE_OPUS),y) JACK2_DEPENDENCIES += opus diff --git a/package/jasper/0008-fix-CVE-2016-2116.patch b/package/jasper/0008-fix-CVE-2016-2116.patch new file mode 100644 index 000000000..1ceb3952c --- /dev/null +++ b/package/jasper/0008-fix-CVE-2016-2116.patch @@ -0,0 +1,18 @@ +Description: Prevent jas_stream_t memory leak in jas_iccprof_createfrombuf() +Author: Tyler Hicks <tyhicks () canonical com> + +From: http://seclists.org/oss-sec/2016/q1/att-507/CVE-2016-2116.patch + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +--- jasper-1.900.1-debian1.orig/src/libjasper/base/jas_icc.c ++++ jasper-1.900.1-debian1/src/libjasper/base/jas_icc.c +@@ -1693,6 +1693,8 @@ jas_iccprof_t *jas_iccprof_createfrombuf + jas_stream_close(in); + return prof; + error: ++ if (in) ++ jas_stream_close(in); + return 0; + } + diff --git a/package/jasper/0009-fix-CVE-2016-1577.patch b/package/jasper/0009-fix-CVE-2016-1577.patch new file mode 100644 index 000000000..cfe8b45e3 --- /dev/null +++ b/package/jasper/0009-fix-CVE-2016-1577.patch @@ -0,0 +1,18 @@ +Description: CVE-2016-1577: Prevent double-free in jas_iccattrval_destroy() +Author: Tyler Hicks <tyhicks () canonical com> +Bug-Ubuntu: https://launchpad.net/bugs/1547865 + +From: http://seclists.org/oss-sec/2016/q1/att-507/CVE-2016-1577.patch + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +--- jasper-1.900.1-debian1.orig/src/libjasper/base/jas_icc.c ++++ jasper-1.900.1-debian1/src/libjasper/base/jas_icc.c +@@ -300,6 +300,7 @@ jas_iccprof_t *jas_iccprof_load(jas_stre + if (jas_iccprof_setattr(prof, tagtabent->tag, attrval)) + goto error; + jas_iccattrval_destroy(attrval); ++ attrval = 0; + } else { + #if 0 + jas_eprintf("warning: skipping unknown tag type\n"); diff --git a/package/jasper/0010-fix-CVE-2016-1867.patch b/package/jasper/0010-fix-CVE-2016-1867.patch new file mode 100644 index 000000000..33f34c356 --- /dev/null +++ b/package/jasper/0010-fix-CVE-2016-1867.patch @@ -0,0 +1,16 @@ +From: http://pkgs.fedoraproject.org/cgit/rpms/jasper.git/plain/jasper-CVE-2016-1867.patch + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +diff -urNp jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2cod.c jasper-1.900.1.new/src/libjasper/jpc/jpc_t2cod.c +--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2cod.c 2016-08-11 14:34:31.795661973 +0200 ++++ jasper-1.900.1.new/src/libjasper/jpc/jpc_t2cod.c 2016-08-12 07:02:40.044860209 +0200 +@@ -429,7 +429,7 @@ static int jpc_pi_nextcprl(register jpc_ + } + + for (pi->compno = pchg->compnostart, pi->picomp = +- &pi->picomps[pi->compno]; pi->compno < JAS_CAST(int, pchg->compnoend); ++pi->compno, ++ &pi->picomps[pi->compno]; pi->compno < JAS_CAST(int, pchg->compnoend) && pi->compno < pi->numcomps; ++pi->compno, + ++pi->picomp) { + pirlvl = pi->picomp->pirlvls; + pi->xstep = pi->picomp->hsamp * (1 << (pirlvl->prcwidthexpn + diff --git a/package/jasper/0011-fix-CVE-2015-5221.patch b/package/jasper/0011-fix-CVE-2015-5221.patch new file mode 100644 index 000000000..7dcbdddd7 --- /dev/null +++ b/package/jasper/0011-fix-CVE-2015-5221.patch @@ -0,0 +1,23 @@ +From: http://pkgs.fedoraproject.org/cgit/rpms/jasper.git/plain/jasper-CVE-2015-5221.patch + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +diff -urNp jasper-1.900.1.orig/src/libjasper/mif/mif_cod.c jasper-1.900.1.new/src/libjasper/mif/mif_cod.c +--- jasper-1.900.1.orig/src/libjasper/mif/mif_cod.c 2016-08-11 13:46:26.166415464 +0200 ++++ jasper-1.900.1.new/src/libjasper/mif/mif_cod.c 2016-08-11 14:17:20.507144931 +0200 +@@ -569,13 +569,13 @@ static int mif_process_cmpt(mif_hdr_t *h + break; + } + } +- jas_tvparser_destroy(tvp); + if (!cmpt->sampperx || !cmpt->samppery) { + goto error; + } + if (mif_hdr_addcmpt(hdr, hdr->numcmpts, cmpt)) { + goto error; + } ++ jas_tvparser_destroy(tvp); + return 0; + + error: + diff --git a/package/jasper/0012-fix-CVE-2015-5203.patch b/package/jasper/0012-fix-CVE-2015-5203.patch new file mode 100644 index 000000000..50f0613cd --- /dev/null +++ b/package/jasper/0012-fix-CVE-2015-5203.patch @@ -0,0 +1,187 @@ +From: http://pkgs.fedoraproject.org/cgit/rpms/jasper.git/plain/jasper-CVE-2015-5203.patch + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +diff -urNp jasper-1.900.1.orig/src/libjasper/base/jas_stream.c jasper-1.900.1.new/src/libjasper/base/jas_stream.c +--- jasper-1.900.1.orig/src/libjasper/base/jas_stream.c 2016-08-11 13:35:09.160895769 +0200 ++++ jasper-1.900.1.new/src/libjasper/base/jas_stream.c 2016-08-11 13:39:33.800843489 +0200 +@@ -99,7 +99,7 @@ static int jas_strtoopenmode(const char + static void jas_stream_destroy(jas_stream_t *stream); + static jas_stream_t *jas_stream_create(void); + static void jas_stream_initbuf(jas_stream_t *stream, int bufmode, char *buf, +- int bufsize); ++ size_t bufsize); + + static int mem_read(jas_stream_obj_t *obj, char *buf, int cnt); + static int mem_write(jas_stream_obj_t *obj, char *buf, int cnt); +@@ -168,7 +168,7 @@ static jas_stream_t *jas_stream_create() + return stream; + } + +-jas_stream_t *jas_stream_memopen(char *buf, int bufsize) ++jas_stream_t *jas_stream_memopen(char *buf, size_t bufsize) + { + jas_stream_t *stream; + jas_stream_memobj_t *obj; +@@ -570,7 +570,7 @@ int jas_stream_puts(jas_stream_t *stream + return 0; + } + +-char *jas_stream_gets(jas_stream_t *stream, char *buf, int bufsize) ++char *jas_stream_gets(jas_stream_t *stream, char *buf, size_t bufsize) + { + int c; + char *bufptr; +@@ -694,7 +694,7 @@ long jas_stream_tell(jas_stream_t *strea + \******************************************************************************/ + + static void jas_stream_initbuf(jas_stream_t *stream, int bufmode, char *buf, +- int bufsize) ++ size_t bufsize) + { + /* If this function is being called, the buffer should not have been + initialized yet. */ +@@ -987,7 +987,7 @@ static int mem_read(jas_stream_obj_t *ob + return cnt; + } + +-static int mem_resize(jas_stream_memobj_t *m, int bufsize) ++static int mem_resize(jas_stream_memobj_t *m, size_t bufsize) + { + unsigned char *buf; + +diff -urNp jasper-1.900.1.orig/src/libjasper/include/jasper/jas_stream.h jasper-1.900.1.new/src/libjasper/include/jasper/jas_stream.h +--- jasper-1.900.1.orig/src/libjasper/include/jasper/jas_stream.h 2007-01-19 22:43:04.000000000 +0100 ++++ jasper-1.900.1.new/src/libjasper/include/jasper/jas_stream.h 2016-08-11 13:41:27.841153595 +0200 +@@ -215,7 +215,7 @@ typedef struct { + uchar *bufstart_; + + /* The buffer size. */ +- int bufsize_; ++ size_t bufsize_; + + /* The current position in the buffer. */ + uchar *ptr_; +@@ -267,7 +267,7 @@ typedef struct { + uchar *buf_; + + /* The allocated size of the buffer for holding file data. */ +- int bufsize_; ++ size_t bufsize_; + + /* The length of the file. */ + int_fast32_t len_; +@@ -291,7 +291,7 @@ typedef struct { + jas_stream_t *jas_stream_fopen(const char *filename, const char *mode); + + /* Open a memory buffer as a stream. */ +-jas_stream_t *jas_stream_memopen(char *buf, int bufsize); ++jas_stream_t *jas_stream_memopen(char *buf, size_t bufsize); + + /* Open a file descriptor as a stream. */ + jas_stream_t *jas_stream_fdopen(int fd, const char *mode); +@@ -366,7 +366,7 @@ int jas_stream_printf(jas_stream_t *stre + int jas_stream_puts(jas_stream_t *stream, const char *s); + + /* Read a line of input from a stream. */ +-char *jas_stream_gets(jas_stream_t *stream, char *buf, int bufsize); ++char *jas_stream_gets(jas_stream_t *stream, char *buf, size_t bufsize); + + /* Look at the next character to be read from a stream without actually + removing it from the stream. */ +diff -urNp jasper-1.900.1.orig/src/libjasper/jpc/jpc_qmfb.c jasper-1.900.1.new/src/libjasper/jpc/jpc_qmfb.c +--- jasper-1.900.1.orig/src/libjasper/jpc/jpc_qmfb.c 2016-08-11 13:35:09.170895681 +0200 ++++ jasper-1.900.1.new/src/libjasper/jpc/jpc_qmfb.c 2016-08-11 13:45:20.847809678 +0200 +@@ -305,7 +305,7 @@ jpc_qmfb2d_t jpc_ns_qmfb2d = { + void jpc_qmfb_split_row(jpc_fix_t *a, int numcols, int parity) + { + +- int bufsize = JPC_CEILDIVPOW2(numcols, 1); ++ size_t bufsize = JPC_CEILDIVPOW2(numcols, 1); + jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE]; + jpc_fix_t *buf = splitbuf; + register jpc_fix_t *srcptr; +@@ -365,7 +365,7 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in + int parity) + { + +- int bufsize = JPC_CEILDIVPOW2(numrows, 1); ++ size_t bufsize = JPC_CEILDIVPOW2(numrows, 1); + jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE]; + jpc_fix_t *buf = splitbuf; + register jpc_fix_t *srcptr; +@@ -425,7 +425,7 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a, + int parity) + { + +- int bufsize = JPC_CEILDIVPOW2(numrows, 1); ++ size_t bufsize = JPC_CEILDIVPOW2(numrows, 1); + jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE]; + jpc_fix_t *buf = splitbuf; + jpc_fix_t *srcptr; +@@ -506,7 +506,7 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, + int stride, int parity) + { + +- int bufsize = JPC_CEILDIVPOW2(numrows, 1); ++ size_t bufsize = JPC_CEILDIVPOW2(numrows, 1); + jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE]; + jpc_fix_t *buf = splitbuf; + jpc_fix_t *srcptr; +@@ -586,7 +586,7 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, + void jpc_qmfb_join_row(jpc_fix_t *a, int numcols, int parity) + { + +- int bufsize = JPC_CEILDIVPOW2(numcols, 1); ++ size_t bufsize = JPC_CEILDIVPOW2(numcols, 1); + jpc_fix_t joinbuf[QMFB_JOINBUFSIZE]; + jpc_fix_t *buf = joinbuf; + register jpc_fix_t *srcptr; +@@ -643,7 +643,7 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int + int parity) + { + +- int bufsize = JPC_CEILDIVPOW2(numrows, 1); ++ size_t bufsize = JPC_CEILDIVPOW2(numrows, 1); + jpc_fix_t joinbuf[QMFB_JOINBUFSIZE]; + jpc_fix_t *buf = joinbuf; + register jpc_fix_t *srcptr; +@@ -700,7 +700,7 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, + int parity) + { + +- int bufsize = JPC_CEILDIVPOW2(numrows, 1); ++ size_t bufsize = JPC_CEILDIVPOW2(numrows, 1); + jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE]; + jpc_fix_t *buf = joinbuf; + jpc_fix_t *srcptr; +@@ -778,7 +778,7 @@ void jpc_qmfb_join_colres(jpc_fix_t *a, + int stride, int parity) + { + +- int bufsize = JPC_CEILDIVPOW2(numrows, 1); ++ size_t bufsize = JPC_CEILDIVPOW2(numrows, 1); + jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE]; + jpc_fix_t *buf = joinbuf; + jpc_fix_t *srcptr; +diff -urNp jasper-1.900.1.orig/src/libjasper/mif/mif_cod.c jasper-1.900.1.new/src/libjasper/mif/mif_cod.c +--- jasper-1.900.1.orig/src/libjasper/mif/mif_cod.c 2016-08-11 13:35:09.179895601 +0200 ++++ jasper-1.900.1.new/src/libjasper/mif/mif_cod.c 2016-08-11 13:46:26.166415464 +0200 +@@ -107,7 +107,7 @@ static int mif_hdr_put(mif_hdr_t *hdr, j + static int mif_hdr_addcmpt(mif_hdr_t *hdr, int cmptno, mif_cmpt_t *cmpt); + static mif_cmpt_t *mif_cmpt_create(void); + static void mif_cmpt_destroy(mif_cmpt_t *cmpt); +-static char *mif_getline(jas_stream_t *jas_stream, char *buf, int bufsize); ++static char *mif_getline(jas_stream_t *jas_stream, char *buf, size_t bufsize); + static int mif_getc(jas_stream_t *in); + static mif_hdr_t *mif_makehdrfromimage(jas_image_t *image); + +@@ -657,7 +657,7 @@ static void mif_cmpt_destroy(mif_cmpt_t + * MIF parsing code. + \******************************************************************************/ + +-static char *mif_getline(jas_stream_t *stream, char *buf, int bufsize) ++static char *mif_getline(jas_stream_t *stream, char *buf, size_t bufsize) + { + int c; + char *bufptr; diff --git a/package/kismet/0005-dumpfile_tuntap-don-t-include-linux-if_tun.h-kernel-.patch b/package/kismet/0005-dumpfile_tuntap-don-t-include-linux-if_tun.h-kernel-.patch new file mode 100644 index 000000000..be694345d --- /dev/null +++ b/package/kismet/0005-dumpfile_tuntap-don-t-include-linux-if_tun.h-kernel-.patch @@ -0,0 +1,51 @@ +From 1466cbbdef835634366b2eb3a284fdff5833338c Mon Sep 17 00:00:00 2001 +From: Romain Naour <romain.naour@gmail.com> +Date: Fri, 19 Aug 2016 23:30:06 +0200 +Subject: [PATCH] dumpfile_tuntap: don't include linux/if_tun.h kernel header + +dumpfile_tuntap.h mixes userspace and kernel headers. + +As suggested in the musl wiki [1], remove the linux/include directives +and copy the required definitions. + +[1] http://wiki.musl-libc.org/wiki/FAQ + +Signed-off-by: Romain Naour <romain.naour@gmail.com> +--- + dumpfile_tuntap.h | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +diff --git a/dumpfile_tuntap.h b/dumpfile_tuntap.h +index 37f50b6..8b23a2a 100644 +--- a/dumpfile_tuntap.h ++++ b/dumpfile_tuntap.h +@@ -64,17 +64,18 @@ + #include "packetchain.h" + #include "dumpfile.h" + +-#ifdef SYS_LINUX +-#include <linux/if_tun.h> ++#ifdef SYS_LINUX ++/* TUNSETIFF ifr flags */ ++#define IFF_TUN 0x0001 ++#define IFF_TAP 0x0002 ++#define IFF_NO_PI 0x1000 + + // Linux IEEE80211 link typ to set + #define LNX_LINKTYPE_80211 801 +-// If the system headers don't have the TUNSETLINK ioctl, define it here, +-// and we'll figure it out at runtime +-#ifndef TUNSETLINK +-#define TUNSETLINK _IOW('T', 205, int) +-#endif +- ++/* Ioctl defines */ ++#define TUNSETNOCSUM _IOW('T', 200, int) ++#define TUNSETIFF _IOW('T', 202, int) ++#define TUNSETLINK _IOW('T', 205, int) + #endif + + struct ipc_dft_open { +-- +2.5.5 + diff --git a/package/kismet/kismet.hash b/package/kismet/kismet.hash new file mode 100644 index 000000000..e4dc5a481 --- /dev/null +++ b/package/kismet/kismet.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 23b693baa29549b051e95e9d597b115bd94f7267c4677307ebd87f2a00e5a52b kismet-Kismet-2014-02-R1.tar.gz diff --git a/package/kmsxx/0001-Fix-LTO-support-for-cross-compilation.patch b/package/kmsxx/0001-Fix-LTO-support-for-cross-compilation.patch new file mode 100644 index 000000000..280583af1 --- /dev/null +++ b/package/kmsxx/0001-Fix-LTO-support-for-cross-compilation.patch @@ -0,0 +1,45 @@ +From 5da1f631bc753655ac94b08a6233eecd0d451327 Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be> +Date: Fri, 26 Aug 2016 21:55:06 +0200 +Subject: [PATCH] Fix LTO support for cross-compilation. + +When cross-compiling, the ar and ranlib to be used for LTO are prefixed +by the cross-tuple. gcc-ar and gcc-ranlib may not exist. Cfr. +http://autobuild.buildroot.net/results/f3c/f3c48da3a9706cd366c0e0a96c3cd0ff959f2a78/ + +Therefore, search for an appropriate lto-ar and lto-ranlib before +enabling LTO. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> +--- +Submitted upstream: https://github.com/tomba/kmsxx/pull/14 +--- + CMakeLists.txt | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e5b5ea5..c61c81d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,9 +39,15 @@ if (NOT ${U_CMAKE_BUILD_TYPE} MATCHES DEBUG) + CHECK_CXX_COMPILER_FLAG("-flto" HAS_LTO_FLAG) + + if (HAS_LTO_FLAG) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -flto") +- set(CMAKE_AR gcc-ar) +- set(CMAKE_RANLIB gcc-ranlib) ++ find_program(LTO_AR NAMES "${CMAKE_C_COMPILER}-ar" gcc-ar) ++ find_program(LTO_RANLIB NAMES "${CMAKE_C_COMPILER}-ranlib" gcc-ranlib) ++ if (LTO_AR AND LTO_RANLIB) ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -flto") ++ set(CMAKE_AR "${LTO_AR}") ++ set(CMAKE_RANLIB "${LTO_RANLIB}") ++ else() ++ message(STATUS "gcc-ar or gcc-ranlib not found, disabling LTO") ++ endif() + endif() + endif() + +-- +2.9.3 + diff --git a/package/kmsxx/Config.in b/package/kmsxx/Config.in index a2143a9e6..1d174c18b 100644 --- a/package/kmsxx/Config.in +++ b/package/kmsxx/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_KMSXX bool "kms++" depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8 depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm select BR2_PACKAGE_LIBDRM @@ -20,6 +21,6 @@ config BR2_PACKAGE_KMSXX_INSTALL_TESTS endif -comment "kms++ needs a toolchain w/ threads, C++, gcc >= 4.8" - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 +comment "kms++ needs a toolchain w/ threads, C++, gcc >= 4.8, headers >= 3.8" + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8 diff --git a/package/kmsxx/kmsxx.hash b/package/kmsxx/kmsxx.hash index 4615a65c3..9e75bb9e0 100644 --- a/package/kmsxx/kmsxx.hash +++ b/package/kmsxx/kmsxx.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 62bd9e8c9686e5624ebeba27234cae956eeec7830a742563f051ee4a2fe522c7 kmsxx-a706f157b86e90696808025db01de99646d51a77.tar.gz +sha256 ff8bdb84a738477a8740c835e23c5bb59aac750e9e72a4afcad4ec8820ec7da2 kmsxx-bd5f6471e619a6ba2987bc7f66ef78a531f94d6c.tar.gz diff --git a/package/kmsxx/kmsxx.mk b/package/kmsxx/kmsxx.mk index df0ab234d..730292eb7 100644 --- a/package/kmsxx/kmsxx.mk +++ b/package/kmsxx/kmsxx.mk @@ -4,7 +4,7 @@ # ################################################################################ -KMSXX_VERSION = a706f157b86e90696808025db01de99646d51a77 +KMSXX_VERSION = bd5f6471e619a6ba2987bc7f66ef78a531f94d6c KMSXX_SITE = $(call github,tomba,kmsxx,$(KMSXX_VERSION)) KMSXX_LICENSE = MPLv2.0 KMSXX_LICENSE_FILES = LICENSE diff --git a/package/lftp/0001-fix-static-link-with-readline.patch b/package/lftp/0001-fix-static-link-with-readline.patch new file mode 100644 index 000000000..339239668 --- /dev/null +++ b/package/lftp/0001-fix-static-link-with-readline.patch @@ -0,0 +1,40 @@ +fix static link with readline + +When readline is static library, we need to link against ncurses +because readline needs ncurses. It is because, dependent library's +symbols are not resolved when static library is built. Those symbols +are resolved program tries to link with static library. + +We can't pass linker flags for ncurses by setting LIBS environment +variable via <PKG>_CONF_ENV because it looks like build system is not +taking that into account and even though it would have been, order of +linking is important. + +We can't also pass linker flags for ncurses via --with-readline-libs +conf options because it causes lftp_LIB_READLINE macro to take readline +headers from host machine if available. To use --with-readline-libs +we need to set --with-readline=yes and --with-readline-inc to include +dir. But when --with-readline=yes, readline_prefix is computed based +on if headers can be found in /usr/local or /usr. If readline is +installed on host machine, then configure fails since we are using +headers for host machine. If headers are not found in /usr/local or /usr +then only path specified --with-readline-inc is taken into account. +So specifying linker flags for ncurses via --with-readline-libs will +not work in all cases. + +So it looks like, updating linker flags directly is only option to fix +static link issue against readline. + +Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com> + +--- lftp-4.7.3/m4/lftp_lib_readline.m4.old 2016-08-08 19:49:12.217596470 +0530 ++++ lftp-4.7.3/m4/lftp_lib_readline.m4 2016-08-08 19:49:46.265596398 +0530 +@@ -108,7 +108,7 @@ AC_DEFUN([lftp_LIB_READLINE], + readline_include_dir="$readline_include_dir/readline" + fi + readline_ld_flags="-L$readline_prefix/lib" +- readline_lib_flags="-lreadline" ++ readline_lib_flags="-lreadline -lncurses" + run_readline_test="yes" + elif test "$readline_requested" = "yes"; then + if test -n "$readline_include_dir" -a -n "$readline_lib_flags"; then diff --git a/package/lftp/lftp.mk b/package/lftp/lftp.mk index eab7731da..802bbc74b 100644 --- a/package/lftp/lftp.mk +++ b/package/lftp/lftp.mk @@ -9,15 +9,14 @@ LFTP_SOURCE = lftp-$(LFTP_VERSION).tar.xz LFTP_SITE = http://lftp.yar.ru/ftp LFTP_LICENSE = GPLv3+ LFTP_LICENSE_FILES = COPYING -# Needed so that our libtool patch applies properly +# Needed so that our libtool patch applies properly, and for patch +# 0001-fix-static-link-with-readline.patch. LFTP_AUTORECONF = YES LFTP_DEPENDENCIES = readline zlib host-pkgconf # Help lftp finding readline and zlib LFTP_CONF_OPTS = \ --with-readline=$(STAGING_DIR)/usr \ - --with-readline-inc=$(STAGING_DIR)/usr/include/readline \ - --with-readline-lib=$(STAGING_DIR)/usr/lib \ --with-zlib=$(STAGING_DIR)/usr ifneq ($(BR2_STATIC_LIBS),y) diff --git a/package/libaio/0002-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch b/package/libaio/0002-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch new file mode 100644 index 000000000..50703c3f5 --- /dev/null +++ b/package/libaio/0002-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch @@ -0,0 +1,56 @@ +From 14dee5707716629b1bc8d06b93cdfe9ea1a3b813 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Mon, 29 Aug 2016 22:14:26 +0200 +Subject: [PATCH] src/Makefile: add ENABLE_SHARED boolean to allow static-only + build + +Currently, the libaio builds sytem builds a shared library +unconditionally. In some environments, this is not possible or +desirable. This commit adds a new Makefile variable, ENABLE_SHARED, +which defaults to "1" (i.e shared library enabled) and that allows to +override this behavior, and therefore to disable the build and +installation of the shared library. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + src/Makefile | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/src/Makefile b/src/Makefile +index eadb336..cfab240 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -8,12 +8,17 @@ SO_CFLAGS=-shared $(CFLAGS) + L_CFLAGS=$(CFLAGS) + LINK_FLAGS= + LINK_FLAGS+=$(LDFLAGS) ++ENABLE_SHARED ?= 1 + + soname=libaio.so.1 + minor=0 + micro=1 + libname=$(soname).$(minor).$(micro) +-all_targets += libaio.a $(libname) ++all_targets += libaio.a ++ ++ifeq ($(ENABLE_SHARED),1) ++all_targets += $(libname) ++endif + + all: $(all_targets) + +@@ -55,9 +60,11 @@ $(libname): $(libaio_sobjs) libaio.map + install: $(all_targets) + install -D -m 644 libaio.h $(includedir)/libaio.h + install -D -m 644 libaio.a $(libdir)/libaio.a ++ifeq ($(ENABLE_SHARED),1) + install -D -m 755 $(libname) $(libdir)/$(libname) + ln -sf $(libname) $(libdir)/$(soname) + ln -sf $(libname) $(libdir)/libaio.so ++endif + + $(libaio_objs): libaio.h + +-- +2.7.4 + diff --git a/package/libaio/libaio.mk b/package/libaio/libaio.mk index 9b28f0562..5ebe1b7ee 100644 --- a/package/libaio/libaio.mk +++ b/package/libaio/libaio.mk @@ -11,16 +11,28 @@ LIBAIO_INSTALL_STAGING = YES LIBAIO_LICENSE = LGPLv2.1+ LIBAIO_LICENSE_FILES = COPYING +LIBAIO_CONFIGURE_OPTS = $(TARGET_CONFIGURE_OPTS) + +ifeq ($(BR2_STATIC_LIBS),y) +LIBAIO_CONFIGURE_OPTS += ENABLE_SHARED=0 +endif + +# On PowerPC, a weird toolchain issue causes -Os builds to produce +# references to hidden symbols, so we're forcing -O2 +ifeq ($(BR2_powerpc),y) +LIBAIO_CONFIGURE_OPTS += CFLAGS="$(subst -Os,-O2,$(TARGET_CFLAGS))" +endif + define LIBAIO_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) + $(LIBAIO_CONFIGURE_OPTS) $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) endef define LIBAIO_INSTALL_STAGING_CMDS - $(TARGET_CONFIGURE_OPTS) $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install + $(LIBAIO_CONFIGURE_OPTS) $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install endef define LIBAIO_INSTALL_TARGET_CMDS - $(TARGET_CONFIGURE_OPTS) $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install + $(LIBAIO_CONFIGURE_OPTS) $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install endef $(eval $(generic-package)) diff --git a/package/libamcodec/0001-Include-stdint.h-where-needed.patch b/package/libamcodec/0001-Include-stdint.h-where-needed.patch new file mode 100644 index 000000000..6d588f6b1 --- /dev/null +++ b/package/libamcodec/0001-Include-stdint.h-where-needed.patch @@ -0,0 +1,47 @@ +From ff6d4326f839321c079d60ae9301c6202942f675 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Sat, 27 Aug 2016 14:31:04 +0200 +Subject: [PATCH] Include <stdint.h> where needed + +The {u,}int{8,16,32}_t types are defined in <stdint.h>, so it should be +included when such types are used. + +Not including <stdint.h> might work by accident with some C libraries +due to it being included by other headers, but it for example causes +build failures with the musl C library. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Upstream-status: https://github.com/mdrjr/c2_aml_libs/pull/1 +--- + amadec/audio-dec.h | 1 + + amavutils/include/Amvideoutils.h | 2 ++ + 2 files changed, 3 insertions(+) + +diff --git a/amadec/audio-dec.h b/amadec/audio-dec.h +index 4325fe4..ac0f36b 100644 +--- a/amadec/audio-dec.h ++++ b/amadec/audio-dec.h +@@ -12,6 +12,7 @@ + #define AUDIO_DEC_H + + #include<pthread.h> ++#include <stdint.h> + + #include <audio-out.h> + #include <audiodsp.h> +diff --git a/amavutils/include/Amvideoutils.h b/amavutils/include/Amvideoutils.h +index 6f978e4..94f10a6 100644 +--- a/amavutils/include/Amvideoutils.h ++++ b/amavutils/include/Amvideoutils.h +@@ -5,6 +5,8 @@ + extern "C" { + #endif + ++#include <stdint.h> ++ + #define HDMI_HDCP_PASS (1) + #define HDMI_HDCP_FAILED (0) + #define HDMI_NOCONNECT (-1) +-- +2.7.4 + diff --git a/package/libcofi/Config.in b/package/libcofi/Config.in index e9914d6e0..df9ab71b9 100644 --- a/package/libcofi/Config.in +++ b/package/libcofi/Config.in @@ -1,8 +1,14 @@ config BR2_PACKAGE_LIBCOFI bool "libcofi" depends on BR2_arm + # builds a shared library + depends on !BR2_STATIC_LIBS help A replacement for memcpy and memset functionality for the Raspberry Pi with the intention of gaining greater performance. https://github.com/simonjhall/copies-and-fills + +comment "libcofi needs a toolchain w/ dynamic library" + depends on BR2_arm + depends on BR2_STATIC_LIBS diff --git a/package/libconfuse/libconfuse.mk b/package/libconfuse/libconfuse.mk index fea90f1b0..2908af329 100644 --- a/package/libconfuse/libconfuse.mk +++ b/package/libconfuse/libconfuse.mk @@ -14,5 +14,9 @@ HOST_LIBCONFUSE_DEPENDENCIES = host-flex LIBCONFUSE_LICENSE = ISC LIBCONFUSE_LICENSE_FILES = LICENSE +ifeq ($(BR2_PACKAGE_GETTEXT),y) +LIBCONFUSE_DEPENDENCIES += gettext +endif + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/libffi/0004-m68k-support-ISA-A-Coldfire-CPUs.patch b/package/libffi/0004-m68k-support-ISA-A-Coldfire-CPUs.patch new file mode 100644 index 000000000..9308c8951 --- /dev/null +++ b/package/libffi/0004-m68k-support-ISA-A-Coldfire-CPUs.patch @@ -0,0 +1,77 @@ +From 733bb188b898385cfb5ad28cc0e3ecaf38237350 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb <wbx@openadk.org> +Date: Sat, 20 Aug 2016 00:52:19 +0200 +Subject: [PATCH] m68k: support ISA-A Coldfire CPUs + +Fix compilation for m68k/coldfire CPUs like mcf5208. + +Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> +Signed-off-by: Thorsten Glaser <tg@mirbsd.de> +--- + src/m68k/sysv.S | 29 ++++++++++++++++++++++++++++- + 1 file changed, 28 insertions(+), 1 deletion(-) + +diff --git a/src/m68k/sysv.S b/src/m68k/sysv.S +index ec2b14f..ea40f11 100644 +--- a/src/m68k/sysv.S ++++ b/src/m68k/sysv.S +@@ -3,7 +3,7 @@ + sysv.S - Copyright (c) 2012 Alan Hourihane + Copyright (c) 1998, 2012 Andreas Schwab + Copyright (c) 2008 Red Hat, Inc. +- Copyright (c) 2012 Thorsten Glaser ++ Copyright (c) 2012, 2016 Thorsten Glaser + + m68k Foreign Function Interface + +@@ -72,6 +72,15 @@ CALLFUNC(ffi_call_SYSV): + pea 4(%sp) + #if !defined __PIC__ + jsr CALLFUNC(ffi_prep_args) ++#elif defined(__uClinux__) && defined(__ID_SHARED_LIBRARY__) ++ move.l _current_shared_library_a5_offset_(%a5),%a0 ++ move.l CALLFUNC(ffi_prep_args@GOT)(%a0),%a0 ++ jsr (%a0) ++#elif defined(__mcoldfire__) && !defined(__mcfisab__) && !defined(__mcfisac__) ++ move.l #_GLOBAL_OFFSET_TABLE_@GOTPC,%a0 ++ lea (-6,%pc,%a0),%a0 ++ move.l CALLFUNC(ffi_prep_args@GOT)(%a0),%a0 ++ jsr (%a0) + #else + bsr.l CALLFUNC(ffi_prep_args@PLTPC) + #endif +@@ -215,6 +224,15 @@ CALLFUNC(ffi_closure_SYSV): + move.l %a0,-(%sp) + #if !defined __PIC__ + jsr CALLFUNC(ffi_closure_SYSV_inner) ++#elif defined(__uClinux__) && defined(__ID_SHARED_LIBRARY__) ++ move.l _current_shared_library_a5_offset_(%a5),%a0 ++ move.l CALLFUNC(ffi_closure_SYSV_inner@GOT)(%a0),%a0 ++ jsr (%a0) ++#elif defined(__mcoldfire__) && !defined(__mcfisab__) && !defined(__mcfisac__) ++ move.l #_GLOBAL_OFFSET_TABLE_@GOTPC,%a0 ++ lea (-6,%pc,%a0),%a0 ++ move.l CALLFUNC(ffi_closure_SYSV_inner@GOT)(%a0),%a0 ++ jsr (%a0) + #else + bsr.l CALLFUNC(ffi_closure_SYSV_inner@PLTPC) + #endif +@@ -317,6 +335,15 @@ CALLFUNC(ffi_closure_struct_SYSV): + move.l %a0,-(%sp) + #if !defined __PIC__ + jsr CALLFUNC(ffi_closure_SYSV_inner) ++#elif defined(__uClinux__) && defined(__ID_SHARED_LIBRARY__) ++ move.l _current_shared_library_a5_offset_(%a5),%a0 ++ move.l CALLFUNC(ffi_closure_SYSV_inner@GOT)(%a0),%a0 ++ jsr (%a0) ++#elif defined(__mcoldfire__) && !defined(__mcfisab__) && !defined(__mcfisac__) ++ move.l #_GLOBAL_OFFSET_TABLE_@GOTPC,%a0 ++ lea (-6,%pc,%a0),%a0 ++ move.l CALLFUNC(ffi_closure_SYSV_inner@GOT)(%a0),%a0 ++ jsr (%a0) + #else + bsr.l CALLFUNC(ffi_closure_SYSV_inner@PLTPC) + #endif +-- +1.7.10.4 + diff --git a/package/libfreeimage/0004-fix-gcc-6.patch b/package/libfreeimage/0004-fix-gcc-6.patch new file mode 100644 index 000000000..0f10dec71 --- /dev/null +++ b/package/libfreeimage/0004-fix-gcc-6.patch @@ -0,0 +1,31 @@ +libraw/dc_raw: fix gcc-6 failures + +With gcc-6, it is no longer allowed to narrow the type of constants in +a constant array declaration. + +Fixes: + http://autobuild.buildroot.org/results/081/0811531872f69f9febbdc482dfbdd7fb5c35d1c8/build-end.log + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +diff -durN a/Source/LibRawLite/internal/dcraw_common.cpp b/Source/LibRawLite/internal/dcraw_common.cpp +--- a/Source/LibRawLite/internal/dcraw_common.cpp ++++ b/Source/LibRawLite/internal/dcraw_common.cpp +@@ -2479,7 +2479,7 @@ +
+ void CLASS kodak_radc_load_raw()
+ {
+- static const char src[] = {
++ static const signed char src[] = {
+ 1,1, 2,3, 3,4, 4,2, 5,7, 6,5, 7,6, 7,8,
+ 1,0, 2,1, 3,3, 4,4, 5,2, 6,7, 7,6, 8,5, 8,8,
+ 2,1, 2,3, 3,0, 3,2, 3,4, 4,6, 5,5, 6,7, 6,8,
+@@ -4519,7 +4519,7 @@ + */
+ void CLASS vng_interpolate()
+ {
+- static const signed char *cp, terms[] = {
++ static const int *cp, terms[] = {
+ -2,-2,+0,-1,0,0x01, -2,-2,+0,+0,1,0x01, -2,-1,-1,+0,0,0x01,
+ -2,-1,+0,-1,0,0x02, -2,-1,+0,+0,0,0x03, -2,-1,+0,+1,1,0x01,
+ -2,+0,+0,-1,0,0x06, -2,+0,+0,+0,1,0x02, -2,+0,+0,+1,0,0x03,
diff --git a/package/libgcrypt/libgcrypt.hash b/package/libgcrypt/libgcrypt.hash index 63148d4a1..885f83172 100644 --- a/package/libgcrypt/libgcrypt.hash +++ b/package/libgcrypt/libgcrypt.hash @@ -1,4 +1,4 @@ -# From https://lists.gnupg.org/pipermail/gnupg-announce/2016q3/000392.html -sha1 85a6a936bcab4c3c05f5efbf6ce847f23d35c0c4 libgcrypt-1.7.2.tar.bz2 +# From https://lists.gnu.org/archive/html/info-gnu/2016-08/msg00008.html +sha1 5a034291e7248592605db448481478e6c963aa9c libgcrypt-1.7.3.tar.bz2 # Calculated based on the hash above -sha256 3d35df906d6eab354504c05d749a9b021944cb29ff5f65c8ef9c3dd5f7b6689f libgcrypt-1.7.2.tar.bz2 +sha256 ddac6111077d0a1612247587be238c5294dd0ee4d76dc7ba783cc55fb0337071 libgcrypt-1.7.3.tar.bz2 diff --git a/package/libgcrypt/libgcrypt.mk b/package/libgcrypt/libgcrypt.mk index 5ee488dd8..31f4d6cdf 100644 --- a/package/libgcrypt/libgcrypt.mk +++ b/package/libgcrypt/libgcrypt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGCRYPT_VERSION = 1.7.2 +LIBGCRYPT_VERSION = 1.7.3 LIBGCRYPT_SOURCE = libgcrypt-$(LIBGCRYPT_VERSION).tar.bz2 LIBGCRYPT_LICENSE = LGPLv2.1+ LIBGCRYPT_LICENSE_FILES = COPYING.LIB diff --git a/package/libgpg-error/libgpg-error.mk b/package/libgpg-error/libgpg-error.mk index e081b365d..1945673bc 100644 --- a/package/libgpg-error/libgpg-error.mk +++ b/package/libgpg-error/libgpg-error.mk @@ -11,6 +11,10 @@ LIBGPG_ERROR_LICENSE_FILES = COPYING COPYING.LIB LIBGPG_ERROR_INSTALL_STAGING = YES LIBGPG_ERROR_CONFIG_SCRIPTS = gpg-error-config +ifeq ($(BR2_PACKAGE_GETTEXT),y) +LIBGPG_ERROR_DEPENDENCIES += gettext +endif + define LIBGPG_ERROR_FIX_CROSS_COMPILATION cd $(@D)/src/syscfg && \ ln -s lock-obj-pub.$(call qstrip, $(BR2_PACKAGE_LIBGPG_ERROR_SYSCFG)).h \ diff --git a/package/libical/Config.in b/package/libical/Config.in index 48170e9f8..3220d5bee 100644 --- a/package/libical/Config.in +++ b/package/libical/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_LIBICAL depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS depends on BR2_USE_WCHAR + select BR2_TARGET_TZ_INFO help libical is an Open Source (MPL/LGPL) implementation of the IETF's iCalendar Calendaring and Scheduling protocols. diff --git a/package/libical/libical.mk b/package/libical/libical.mk index e8cb3f8d7..a51103956 100644 --- a/package/libical/libical.mk +++ b/package/libical/libical.mk @@ -13,5 +13,7 @@ LIBICAL_LICENSE_FILES = LICENSE # building without this option is broken, it is used by # Gentoo/alpinelinux as well LIBICAL_CONF_OPTS = -DSHARED_ONLY=true +# never build time zone info, always use system's tzinfo +LIBICAL_CONF_OPTS += -DUSE_BUILTIN_TZDATA=false $(eval $(cmake-package)) diff --git a/package/libiio/0002-CMake-Link-with-librt-if-found.patch b/package/libiio/0002-CMake-Link-with-librt-if-found.patch new file mode 100644 index 000000000..2c4501654 --- /dev/null +++ b/package/libiio/0002-CMake-Link-with-librt-if-found.patch @@ -0,0 +1,30 @@ +From 1bc450179a0819970261e6a29071756d09b71c5f Mon Sep 17 00:00:00 2001 +From: Paul Cercueil <paul.cercueil@analog.com> +Date: Fri, 19 Aug 2016 09:00:58 +0200 +Subject: [PATCH] CMake: Link with librt if found + +This is required for older versions of glibc. + +Signed-off-by: Paul Cercueil <paul.cercueil@analog.com> +--- + CMakeLists.txt | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2a339fe..3dd3520 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -113,6 +113,10 @@ add_definitions(-DLIBIIO_VERSION_GIT="${LIBIIO_VERSION_GIT}") + if(WITH_LOCAL_BACKEND) + add_definitions(-DLOCAL_BACKEND=1) + set(LIBIIO_CFILES ${LIBIIO_CFILES} local.c) ++ ++ # Link with librt if present ++ find_library(LIBRT_LIBRARIES rt) ++ set(LIBS_TO_LINK ${LIBS_TO_LINK} ${LIBRT_LIBRARIES}) + endif() + + find_library(LIBUSB_LIBRARIES usb-1.0) +-- +2.8.1 + diff --git a/package/libiio/Config.in b/package/libiio/Config.in index 69269e0d6..2e7a76d8c 100644 --- a/package/libiio/Config.in +++ b/package/libiio/Config.in @@ -53,12 +53,17 @@ config BR2_PACKAGE_LIBIIO_IIOD bool "IIO Daemon" select BR2_PACKAGE_LIBIIO_LOCAL_BACKEND depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_bfin default y help Install the IIO Daemon. comment "IIO Daemon needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_bfin + +comment "IIO Daemon is not yet available on Blackfin" + depends on BR2_bfin config BR2_PACKAGE_LIBIIO_TESTS bool "Install test programs" diff --git a/package/libiio/libiio.mk b/package/libiio/libiio.mk index 3cbfdd63f..e8fb6b2f2 100644 --- a/package/libiio/libiio.mk +++ b/package/libiio/libiio.mk @@ -79,13 +79,6 @@ define LIBIIO_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/libiio/S99iiod \ $(TARGET_DIR)/etc/init.d/S99iiod endef -define LIBIIO_INSTALL_INIT_SYSTEMD - $(INSTALL) -d $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - $(INSTALL) -D -m 0644 $(@D)/debian/iiod.service \ - $(TARGET_DIR)/usr/lib/systemd/system/iiod.service - ln -fs ../../../../usr/lib/systemd/system/iiod.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/iiod.service -endef endif $(eval $(cmake-package)) diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk index ebb5897d0..2b5e18f22 100644 --- a/package/libpjsip/libpjsip.mk +++ b/package/libpjsip/libpjsip.mk @@ -13,9 +13,16 @@ LIBPJSIP_LICENSE_FILES = COPYING LIBPJSIP_INSTALL_STAGING = YES LIBPJSIP_MAKE = $(MAKE1) +LIBPJSIP_CFLAGS = $(TARGET_CFLAGS) -DPJ_HAS_IPV6=1 + +# relocation truncated to fit: R_68K_GOT16O +ifeq ($(BR2_m68k_cf),y) +LIBPJSIP_CFLAGS += -mxgot +endif + LIBPJSIP_CONF_ENV = \ LD="$(TARGET_CC)" \ - CFLAGS="$(TARGET_CFLAGS) -DPJ_HAS_IPV6=1" + CFLAGS="$(LIBPJSIP_CFLAGS)" LIBPJSIP_CONF_OPTS = \ --disable-sound \ diff --git a/package/libraw/libraw.hash b/package/libraw/libraw.hash index e23ca9ce2..29794252f 100644 --- a/package/libraw/libraw.hash +++ b/package/libraw/libraw.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 e599651a4cc37e00cfc2d2b56be87c3a4e4dae2c360b680fe9ab3f93d07cdea1 LibRaw-0.17.1.tar.gz +sha256 3c09bc4d70268e78798696c5ea3a8cc65fe4e161811d5321fc3ef2ca012d8fd1 0001-Fix_gcc6_narrowing_conversion.patch?id=d890937aaca6359df45a66b35e547c94ca564823 diff --git a/package/libraw/libraw.mk b/package/libraw/libraw.mk index 7fc4709e8..d76a1808d 100644 --- a/package/libraw/libraw.mk +++ b/package/libraw/libraw.mk @@ -7,6 +7,9 @@ LIBRAW_VERSION = 0.17.1 LIBRAW_SOURCE = LibRaw-$(LIBRAW_VERSION).tar.gz LIBRAW_SITE = http://www.libraw.org/data +LIBRAW_PATCH = \ + https://anonscm.debian.org/cgit/pkg-phototools/libraw.git/plain/debian/patches/0001-Fix_gcc6_narrowing_conversion.patch?id=d890937aaca6359df45a66b35e547c94ca564823 + LIBRAW_INSTALL_STAGING = YES # we patch configure.ac LIBRAW_AUTORECONF = YES diff --git a/package/libsepol/0005-replace-cdefs.patch b/package/libsepol/0005-replace-cdefs.patch deleted file mode 100644 index 2f76a747a..000000000 --- a/package/libsepol/0005-replace-cdefs.patch +++ /dev/null @@ -1,1074 +0,0 @@ -Remove usage of <sys/cdefs.h>. - -This fixes autobuild issue: http://autobuild.buildroot.org/results/cbb/cbb2bac69aa0708e587ba9fcd1efcead82e42446/build-end.log -Libsepol uses cdefs.h which is a internal glibc header. -This header is not intended to be used by any program and will cause -compiling against musl (and possibly other c libraries) to fail. -This patch fixed this issue and replaces all references of -#include <sys/cdefs.h> and __BEGIN/END_DECLS with the appropriate #ifdefs. - -This patch has also been submitted upstream to the selinux github repository. -https://github.com/SELinuxProject/selinux/issues/19 - -Signed-off-by: Adam Duskett <Aduskett@gmail.com> - - -diff --git a/include/sepol/boolean_record.h b/include/sepol/boolean_record.h -index 9af16be..09cd01f 100644 ---- a/include/sepol/boolean_record.h -+++ b/include/sepol/boolean_record.h -@@ -3,9 +3,10 @@ - - #include <stddef.h> - #include <sepol/handle.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - struct sepol_bool; - struct sepol_bool_key; -@@ -51,5 +52,8 @@ extern int sepol_bool_clone(sepol_handle_t * handle, - - extern void sepol_bool_free(sepol_bool_t * boolean); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/booleans.h b/include/sepol/booleans.h -index 7374dde..02356d1 100644 ---- a/include/sepol/booleans.h -+++ b/include/sepol/booleans.h -@@ -5,9 +5,10 @@ - #include <sepol/policydb.h> - #include <sepol/boolean_record.h> - #include <sepol/handle.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - /*--------------compatibility--------------*/ - -@@ -59,5 +60,8 @@ extern int sepol_bool_iterate(sepol_handle_t * handle, - int (*fn) (const sepol_bool_t * boolean, - void *fn_arg), void *arg); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/context.h b/include/sepol/context.h -index a69e8c9..b3e5497 100644 ---- a/include/sepol/context.h -+++ b/include/sepol/context.h -@@ -4,9 +4,10 @@ - #include <sepol/context_record.h> - #include <sepol/policydb.h> - #include <sepol/handle.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - /* -- Deprecated -- */ - -@@ -26,5 +27,8 @@ extern int sepol_mls_contains(sepol_handle_t * handle, - extern int sepol_mls_check(sepol_handle_t * handle, - const sepol_policydb_t * policydb, const char *mls); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/context_record.h b/include/sepol/context_record.h -index c07da8f..1dcbebb 100644 ---- a/include/sepol/context_record.h -+++ b/include/sepol/context_record.h -@@ -2,9 +2,10 @@ - #define _SEPOL_CONTEXT_RECORD_H_ - - #include <sepol/handle.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - struct sepol_context; - typedef struct sepol_context sepol_context_t; -@@ -53,5 +54,8 @@ extern int sepol_context_from_string(sepol_handle_t * handle, - extern int sepol_context_to_string(sepol_handle_t * handle, - const sepol_context_t * con, char **str_ptr); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/debug.h b/include/sepol/debug.h -index b852c8d..972a4de 100644 ---- a/include/sepol/debug.h -+++ b/include/sepol/debug.h -@@ -2,9 +2,10 @@ - #define _SEPOL_DEBUG_H_ - - #include <sepol/handle.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - /* Deprecated */ - extern void sepol_debug(int on); -@@ -35,5 +36,8 @@ extern void sepol_msg_set_callback(sepol_handle_t * handle, - const char *fmt, ...), - void *msg_callback_arg); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/errcodes.h b/include/sepol/errcodes.h -index eba7088..0136564 100644 ---- a/include/sepol/errcodes.h -+++ b/include/sepol/errcodes.h -@@ -4,9 +4,10 @@ - #define __sepol_errno_h__ - - #include <errno.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - #define SEPOL_OK 0 - -@@ -25,5 +26,8 @@ __BEGIN_DECLS - #define SEPOL_EEXIST -EEXIST - #define SEPOL_ENOENT -ENOENT - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/handle.h b/include/sepol/handle.h -index 00ed0ed..27cbd6c 100644 ---- a/include/sepol/handle.h -+++ b/include/sepol/handle.h -@@ -1,9 +1,9 @@ - #ifndef _SEPOL_HANDLE_H_ - #define _SEPOL_HANDLE_H_ - --#include <sys/cdefs.h> -- --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - struct sepol_handle; - typedef struct sepol_handle sepol_handle_t; -@@ -35,5 +35,8 @@ int sepol_get_preserve_tunables(sepol_handle_t * sh); - * 0 is default and discard such branch, 1 preserves them */ - void sepol_set_preserve_tunables(sepol_handle_t * sh, int preserve_tunables); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/iface_record.h b/include/sepol/iface_record.h -index 81d7027..098bc77 100644 ---- a/include/sepol/iface_record.h -+++ b/include/sepol/iface_record.h -@@ -3,9 +3,10 @@ - - #include <sepol/handle.h> - #include <sepol/context_record.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - struct sepol_iface; - struct sepol_iface_key; -@@ -59,5 +60,8 @@ extern int sepol_iface_clone(sepol_handle_t * handle, - - extern void sepol_iface_free(sepol_iface_t * iface); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/interfaces.h b/include/sepol/interfaces.h -index 3cb5043..7ef23ce 100644 ---- a/include/sepol/interfaces.h -+++ b/include/sepol/interfaces.h -@@ -4,9 +4,10 @@ - #include <sepol/policydb.h> - #include <sepol/iface_record.h> - #include <sepol/handle.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - /* Return the number of interfaces */ - extern int sepol_iface_count(sepol_handle_t * handle, -@@ -43,5 +44,8 @@ extern int sepol_iface_iterate(sepol_handle_t * handle, - int (*fn) (const sepol_iface_t * iface, - void *fn_arg), void *arg); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/module.h b/include/sepol/module.h -index ff27f96..77114a1 100644 ---- a/include/sepol/module.h -+++ b/include/sepol/module.h -@@ -7,9 +7,11 @@ - - #include <sepol/handle.h> - #include <sepol/policydb.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+ -+#ifdef __cplusplus -+extern "C" { -+#endif - - struct sepol_module_package; - typedef struct sepol_module_package sepol_module_package_t; -@@ -82,5 +84,8 @@ extern int sepol_expand_module(sepol_handle_t * handle, - sepol_policydb_t * base, - sepol_policydb_t * out, int verbose, int check); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/module_to_cil.h b/include/sepol/module_to_cil.h -index 18bb3bf..fe5eb5b 100644 ---- a/include/sepol/module_to_cil.h -+++ b/include/sepol/module_to_cil.h -@@ -1,5 +1,4 @@ - #include <stdlib.h> -- - #include <sepol/module.h> - #include <sepol/policydb/policydb.h> - -diff --git a/include/sepol/node_record.h b/include/sepol/node_record.h -index e2d3e6d..3873223 100644 ---- a/include/sepol/node_record.h -+++ b/include/sepol/node_record.h -@@ -4,9 +4,10 @@ - #include <stddef.h> - #include <sepol/context_record.h> - #include <sepol/handle.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - struct sepol_node; - struct sepol_node_key; -@@ -92,5 +93,8 @@ extern int sepol_node_clone(sepol_handle_t * handle, - - extern void sepol_node_free(sepol_node_t * node); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/nodes.h b/include/sepol/nodes.h -index 6fa534e..3cf99d2 100644 ---- a/include/sepol/nodes.h -+++ b/include/sepol/nodes.h -@@ -4,9 +4,10 @@ - #include <sepol/handle.h> - #include <sepol/policydb.h> - #include <sepol/node_record.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - /* Return the number of nodes */ - extern int sepol_node_count(sepol_handle_t * handle, -@@ -40,5 +41,8 @@ extern int sepol_node_iterate(sepol_handle_t * handle, - int (*fn) (const sepol_node_t * node, - void *fn_arg), void *arg); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/policydb.h b/include/sepol/policydb.h -index c3943e9..6769b91 100644 ---- a/include/sepol/policydb.h -+++ b/include/sepol/policydb.h -@@ -5,9 +5,10 @@ - #include <stdio.h> - - #include <sepol/handle.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - struct sepol_policy_file; - typedef struct sepol_policy_file sepol_policy_file_t; -@@ -144,5 +145,8 @@ extern int sepol_policydb_mls_enabled(const sepol_policydb_t * p); - */ - extern int sepol_policydb_compat_net(const sepol_policydb_t * p); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/policydb/avrule_block.h b/include/sepol/policydb/avrule_block.h -index ecd347b..57d6a8a 100644 ---- a/include/sepol/policydb/avrule_block.h -+++ b/include/sepol/policydb/avrule_block.h -@@ -21,9 +21,11 @@ - #define _SEPOL_AVRULE_BLOCK_H_ - - #include <sepol/policydb/policydb.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+ -+#ifdef __cplusplus -+extern "C" { -+#endif - - extern avrule_block_t *avrule_block_create(void); - extern void avrule_block_destroy(avrule_block_t * x); -@@ -37,5 +39,7 @@ extern cond_list_t *get_decl_cond_list(policydb_t * p, - extern int is_id_enabled(char *id, policydb_t * p, int symbol_table); - extern int is_perm_enabled(char *class_id, char *perm_id, policydb_t * p); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - #endif -diff --git a/include/sepol/policydb/avtab.h b/include/sepol/policydb/avtab.h -index d3ea84e..74f97f8 100644 ---- a/include/sepol/policydb/avtab.h -+++ b/include/sepol/policydb/avtab.h -@@ -40,11 +40,13 @@ - #ifndef _SEPOL_POLICYDB_AVTAB_H_ - #define _SEPOL_POLICYDB_AVTAB_H_ - --#include <sys/cdefs.h> -+ - #include <sys/types.h> - #include <stdint.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - typedef struct avtab_key { - uint16_t source_type; -@@ -142,7 +144,9 @@ extern avtab_ptr_t avtab_search_node_next(avtab_ptr_t node, int specified); - /* avtab_alloc uses one bucket per 2-4 elements, so adjust to get maximum buckets */ - #define MAX_AVTAB_SIZE (MAX_AVTAB_HASH_BUCKETS << 1) - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - #endif /* _AVTAB_H_ */ - - /* FLASK */ -diff --git a/include/sepol/policydb/conditional.h b/include/sepol/policydb/conditional.h -index cd2a9a9..52d6b31 100644 ---- a/include/sepol/policydb/conditional.h -+++ b/include/sepol/policydb/conditional.h -@@ -25,9 +25,11 @@ - #include <sepol/policydb/avtab.h> - #include <sepol/policydb/symtab.h> - #include <sepol/policydb/policydb.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+ -+#ifdef __cplusplus -+extern "C" { -+#endif - - #define COND_EXPR_MAXDEPTH 10 - -@@ -136,5 +138,7 @@ extern int cond_read_list(policydb_t * p, cond_list_t ** list, void *fp); - extern void cond_compute_av(avtab_t * ctab, avtab_key_t * key, - struct sepol_av_decision *avd); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - #endif /* _CONDITIONAL_H_ */ -diff --git a/include/sepol/policydb/constraint.h b/include/sepol/policydb/constraint.h -index ae7034d..927bdc0 100644 ---- a/include/sepol/policydb/constraint.h -+++ b/include/sepol/policydb/constraint.h -@@ -22,7 +22,9 @@ - #include <sepol/policydb/ebitmap.h> - #include <sepol/policydb/flask_types.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - #define CEXPR_MAXDEPTH 5 - -@@ -73,7 +75,10 @@ struct policydb; - extern int constraint_expr_init(constraint_expr_t * expr); - extern void constraint_expr_destroy(constraint_expr_t * expr); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif /* _CONSTRAINT_H_ */ - - /* FLASK */ -diff --git a/include/sepol/policydb/context.h b/include/sepol/policydb/context.h -index dbb7c3e..aad3647 100644 ---- a/include/sepol/policydb/context.h -+++ b/include/sepol/policydb/context.h -@@ -22,7 +22,9 @@ - #include <sepol/policydb/ebitmap.h> - #include <sepol/policydb/mls_types.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - /* - * A security context consists of an authenticated user -@@ -95,5 +97,8 @@ static inline int context_cmp(context_struct_t * c1, context_struct_t * c2) - (c1->type == c2->type) && mls_context_cmp(c1, c2)); - } - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/policydb/ebitmap.h b/include/sepol/policydb/ebitmap.h -index 7b3508d..b883597 100644 ---- a/include/sepol/policydb/ebitmap.h -+++ b/include/sepol/policydb/ebitmap.h -@@ -19,9 +19,11 @@ - - #include <stdint.h> - #include <string.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+ -+#ifdef __cplusplus -+extern "C" { -+#endif - - #define MAPTYPE uint64_t /* portion of bitmap in each node */ - #define MAPSIZE (sizeof(MAPTYPE) * 8) /* number of bits in node bitmap */ -@@ -92,7 +94,9 @@ extern int ebitmap_set_bit(ebitmap_t * e, unsigned int bit, int value); - extern void ebitmap_destroy(ebitmap_t * e); - extern int ebitmap_read(ebitmap_t * e, void *fp); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - #endif /* _EBITMAP_H_ */ - - /* FLASK */ -diff --git a/include/sepol/policydb/expand.h b/include/sepol/policydb/expand.h -index a8de41e..59151c1 100644 ---- a/include/sepol/policydb/expand.h -+++ b/include/sepol/policydb/expand.h -@@ -28,9 +28,11 @@ - #include <stddef.h> - #include <sepol/handle.h> - #include <sepol/policydb/conditional.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+ -+#ifdef __cplusplus -+extern "C" { -+#endif - - /* - * Expand only the avrules for a module. It is valid for this function -@@ -79,5 +81,8 @@ extern int expand_avtab(policydb_t * p, avtab_t * a, avtab_t * expa); - extern int expand_cond_av_list(policydb_t * p, cond_av_list_t * l, - cond_av_list_t ** newl, avtab_t * expa); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/policydb/flask_types.h b/include/sepol/policydb/flask_types.h -index 2a59565..c41bd22 100644 ---- a/include/sepol/policydb/flask_types.h -+++ b/include/sepol/policydb/flask_types.h -@@ -13,9 +13,11 @@ - - #include <sys/types.h> - #include <stdint.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+ -+#ifdef __cplusplus -+extern "C" { -+#endif - - /* - * A security context is a set of security attributes -@@ -61,5 +63,8 @@ struct sepol_av_decision { - uint32_t seqno; - }; - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/policydb/hashtab.h b/include/sepol/policydb/hashtab.h -index 0afc59c..af72817 100644 ---- a/include/sepol/policydb/hashtab.h -+++ b/include/sepol/policydb/hashtab.h -@@ -17,9 +17,11 @@ - - #include <stdint.h> - #include <stdio.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+ -+#ifdef __cplusplus -+extern "C" { -+#endif - - typedef char *hashtab_key_t; /* generic key type */ - typedef void *hashtab_datum_t; /* generic datum type */ -@@ -136,5 +138,8 @@ extern void hashtab_map_remove_on_error(hashtab_t h, - - extern void hashtab_hash_eval(hashtab_t h, char *tag); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/policydb/hierarchy.h b/include/sepol/policydb/hierarchy.h -index 88bc02e..27d140b 100644 ---- a/include/sepol/policydb/hierarchy.h -+++ b/include/sepol/policydb/hierarchy.h -@@ -27,9 +27,11 @@ - - #include <sepol/policydb/avtab.h> - #include <sepol/policydb/policydb.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+ -+#ifdef __cplusplus -+extern "C" { -+#endif - - extern int hierarchy_add_bounds(sepol_handle_t *handle, policydb_t *p); - -@@ -43,5 +45,8 @@ extern int bounds_check_types(sepol_handle_t *handle, policydb_t *p); - - extern int hierarchy_check_constraints(sepol_handle_t * handle, policydb_t * p); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/policydb/link.h b/include/sepol/policydb/link.h -index 7c7c9be..545331d 100644 ---- a/include/sepol/policydb/link.h -+++ b/include/sepol/policydb/link.h -@@ -12,13 +12,18 @@ - - - #include <stddef.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+ -+#ifdef __cplusplus -+extern "C" { -+#endif - - extern int link_modules(sepol_handle_t * handle, - policydb_t * b, policydb_t ** mods, int len, - int verbose); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/policydb/mls_types.h b/include/sepol/policydb/mls_types.h -index 4bf7367..52347a6 100644 ---- a/include/sepol/policydb/mls_types.h -+++ b/include/sepol/policydb/mls_types.h -@@ -34,9 +34,11 @@ - #include <stdlib.h> - #include <sepol/policydb/ebitmap.h> - #include <sepol/policydb/flask_types.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+ -+#ifdef __cplusplus -+extern "C" { -+#endif - - typedef struct mls_level { - uint32_t sens; /* sensitivity */ -@@ -152,5 +154,8 @@ extern void mls_semantic_range_init(mls_semantic_range_t *r); - extern void mls_semantic_range_destroy(mls_semantic_range_t *r); - extern int mls_semantic_range_cpy(mls_semantic_range_t *dst, mls_semantic_range_t *src); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/policydb/module.h b/include/sepol/policydb/module.h -index 3fe560c..d0d2c7a 100644 ---- a/include/sepol/policydb/module.h -+++ b/include/sepol/policydb/module.h -@@ -27,11 +27,12 @@ - - #include <sepol/policydb/policydb.h> - #include <sepol/policydb/conditional.h> --#include <sys/cdefs.h> - - #define SEPOL_MODULE_PACKAGE_MAGIC 0xf97cff8f - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - struct sepol_module_package { - sepol_policydb_t *policy; -@@ -48,5 +49,8 @@ struct sepol_module_package { - - extern int sepol_module_package_init(sepol_module_package_t * p); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/policydb/polcaps.h b/include/sepol/policydb/polcaps.h -index 74b7c9e..53d7994 100644 ---- a/include/sepol/policydb/polcaps.h -+++ b/include/sepol/policydb/polcaps.h -@@ -1,9 +1,9 @@ - #ifndef _SEPOL_POLICYDB_POLCAPS_H_ - #define _SEPOL_POLICYDB_POLCAPS_H_ - --#include <sys/cdefs.h> -- --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - /* Policy capabilities */ - enum { -@@ -21,5 +21,8 @@ extern int sepol_polcap_getnum(const char *name); - /* Convert a capability number to name. */ - extern const char *sepol_polcap_getname(int capnum); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif /* _SEPOL_POLICYDB_POLCAPS_H_ */ -diff --git a/include/sepol/policydb/policydb.h b/include/sepol/policydb/policydb.h -index 26cec13..0d770bf 100644 ---- a/include/sepol/policydb/policydb.h -+++ b/include/sepol/policydb/policydb.h -@@ -61,7 +61,6 @@ - #include <sepol/policydb/context.h> - #include <sepol/policydb/constraint.h> - #include <sepol/policydb/sidtab.h> --#include <sys/cdefs.h> - - #define ERRMSG_LEN 1024 - -@@ -69,7 +68,9 @@ - #define POLICYDB_ERROR -1 - #define POLICYDB_UNSUPPORTED -2 - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - /* - * A datum type is defined for each kind of symbol -@@ -768,7 +769,10 @@ extern int policydb_set_target_platform(policydb_t *p, int platform); - #define POLICYDB_MOD_MAGIC SELINUX_MOD_MAGIC - #define POLICYDB_MOD_STRING "SE Linux Module" - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif /* _POLICYDB_H_ */ - - /* FLASK */ -diff --git a/include/sepol/policydb/services.h b/include/sepol/policydb/services.h -index 8a5dc9a..29f57cf 100644 ---- a/include/sepol/policydb/services.h -+++ b/include/sepol/policydb/services.h -@@ -15,9 +15,10 @@ - #include <sepol/policydb/flask_types.h> - #include <sepol/policydb/policydb.h> - #include <stddef.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - /* Set the policydb and sidtab structures to be used by - the service functions. If not set, then these default -@@ -230,5 +231,8 @@ extern int sepol_genfs_sid(const char *fstype, /* IN */ - sepol_security_class_t sclass, /* IN */ - sepol_security_id_t * sid); /* OUT */ - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/policydb/sidtab.h b/include/sepol/policydb/sidtab.h -index 4b93567..2df1a50 100644 ---- a/include/sepol/policydb/sidtab.h -+++ b/include/sepol/policydb/sidtab.h -@@ -11,9 +11,10 @@ - #define _SEPOL_POLICYDB_SIDTAB_H_ - - #include <sepol/policydb/context.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - typedef struct sidtab_node { - sepol_security_id_t sid; /* security identifier */ -@@ -69,7 +70,10 @@ extern void sepol_sidtab_set(sidtab_t * dst, sidtab_t * src); - - extern void sepol_sidtab_shutdown(sidtab_t * s); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif /* _SIDTAB_H_ */ - - /* FLASK */ -diff --git a/include/sepol/policydb/symtab.h b/include/sepol/policydb/symtab.h -index e0da337..68b5ad4 100644 ---- a/include/sepol/policydb/symtab.h -+++ b/include/sepol/policydb/symtab.h -@@ -14,9 +14,10 @@ - #define _SEPOL_POLICYDB_SYMTAB_H_ - - #include <sepol/policydb/hashtab.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - /* The symtab_datum struct stores the common information for - * all symtab datums. It should the first element in every -@@ -37,7 +38,10 @@ typedef struct { - extern int symtab_init(symtab_t *, unsigned int size); - extern void symtab_destroy(symtab_t *); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif /* _SYMTAB_H_ */ - - /* FLASK */ -diff --git a/include/sepol/policydb/util.h b/include/sepol/policydb/util.h -index fa12661..ee236a2 100644 ---- a/include/sepol/policydb/util.h -+++ b/include/sepol/policydb/util.h -@@ -23,9 +23,9 @@ - #ifndef __SEPOL_UTIL_H__ - #define __SEPOL_UTIL_H__ - --#include <sys/cdefs.h> -- --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - extern int add_i_to_a(uint32_t i, uint32_t * cnt, uint32_t ** a); - -@@ -40,5 +40,8 @@ char *sepol_extended_perms_to_string(avtab_extended_perms_t *xperms); - */ - extern int tokenize(char *line_buf, char delim, int num_args, ...); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/port_record.h b/include/sepol/port_record.h -index 697cea4..3bb4039 100644 ---- a/include/sepol/port_record.h -+++ b/include/sepol/port_record.h -@@ -3,9 +3,10 @@ - - #include <sepol/context_record.h> - #include <sepol/handle.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - struct sepol_port; - struct sepol_port_key; -@@ -66,5 +67,8 @@ extern int sepol_port_clone(sepol_handle_t * handle, - - extern void sepol_port_free(sepol_port_t * port); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/ports.h b/include/sepol/ports.h -index b4622ba..cda246c 100644 ---- a/include/sepol/ports.h -+++ b/include/sepol/ports.h -@@ -4,9 +4,10 @@ - #include <sepol/handle.h> - #include <sepol/policydb.h> - #include <sepol/port_record.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - /* Return the number of ports */ - extern int sepol_port_count(sepol_handle_t * handle, -@@ -40,5 +41,8 @@ extern int sepol_port_iterate(sepol_handle_t * handle, - int (*fn) (const sepol_port_t * port, - void *fn_arg), void *arg); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/roles.h b/include/sepol/roles.h -index 89b3af2..e750078 100644 ---- a/include/sepol/roles.h -+++ b/include/sepol/roles.h -@@ -1,9 +1,9 @@ - #ifndef _SEPOL_ROLES_H_ - #define _SEPOL_ROLES_H_ - --#include <sys/cdefs.h> -- --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - extern int sepol_role_exists(const sepol_policydb_t * policydb, - const char *role, int *response); -@@ -11,5 +11,8 @@ extern int sepol_role_exists(const sepol_policydb_t * policydb, - extern int sepol_role_list(const sepol_policydb_t * policydb, - char ***roles, unsigned int *nroles); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/sepol.h b/include/sepol/sepol.h -index 00a2129..513f77d 100644 ---- a/include/sepol/sepol.h -+++ b/include/sepol/sepol.h -@@ -3,9 +3,10 @@ - - #include <stddef.h> - #include <stdio.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - #include <sepol/user_record.h> - #include <sepol/context_record.h> -@@ -28,5 +29,8 @@ __BEGIN_DECLS - /* Set internal policydb from a file for subsequent service calls. */ - extern int sepol_set_policydb_from_file(FILE * fp); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/user_record.h b/include/sepol/user_record.h -index 9a39526..d17a3db 100644 ---- a/include/sepol/user_record.h -+++ b/include/sepol/user_record.h -@@ -3,9 +3,10 @@ - - #include <stddef.h> - #include <sepol/handle.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - struct sepol_user; - struct sepol_user_key; -@@ -76,5 +77,8 @@ extern int sepol_user_clone(sepol_handle_t * handle, - - extern void sepol_user_free(sepol_user_t * user); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif -diff --git a/include/sepol/users.h b/include/sepol/users.h -index 0e0f76e..ad23f89 100644 ---- a/include/sepol/users.h -+++ b/include/sepol/users.h -@@ -5,9 +5,10 @@ - #include <sepol/user_record.h> - #include <sepol/handle.h> - #include <stddef.h> --#include <sys/cdefs.h> - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - /*---------compatibility------------*/ - -@@ -57,5 +58,8 @@ extern int sepol_user_iterate(sepol_handle_t * handle, - int (*fn) (const sepol_user_t * user, - void *fn_arg), void *arg); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif diff --git a/package/libserialport/0001-uclinux-detection.patch b/package/libserialport/0001-uclinux-detection.patch new file mode 100644 index 000000000..7d7199c1f --- /dev/null +++ b/package/libserialport/0001-uclinux-detection.patch @@ -0,0 +1,26 @@ +From faab9aa5879fab93556b7a3a6f24070eeb3cbf15 Mon Sep 17 00:00:00 2001 +From: Paul Cercueil <paul.cercueil@analog.com> +Date: Mon, 29 Aug 2016 11:11:01 +0200 +Subject: [PATCH] Fix Linux files not compiled in with a toolchain for ucLinux + +Signed-off-by: Paul Cercueil <paul.cercueil@analog.com> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index f6b66e8..de6f5b9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -74,7 +74,7 @@ AC_DEFINE_UNQUOTED([SP_LIB_VERSION_REVISION], [$SP_LIB_VERSION_REVISION], [.]) + AC_DEFINE_UNQUOTED([SP_LIB_VERSION_AGE], [$SP_LIB_VERSION_AGE], [.]) + AC_DEFINE_UNQUOTED([SP_LIB_VERSION_STRING], ["$SP_LIB_VERSION"], [.]) + +-AM_CONDITIONAL([LINUX], [test -z "${host_os##linux*}"]) ++AM_CONDITIONAL([LINUX], [test -z "${host_os##linux*}" || test -z "${host_os##uclinux*}"]) + AM_CONDITIONAL([WIN32], [test -z "${host_os##mingw*}" || test -z "${host_os##cygwin*}"]) + AM_CONDITIONAL([MACOSX], [test -z "${host_os##darwin*}"]) + AM_CONDITIONAL([FREEBSD], [test -z "${host_os##freebsd*}"]) +-- +2.8.1 + diff --git a/package/libserialport/libserialport.mk b/package/libserialport/libserialport.mk index d8c3a3d17..86ae17f54 100644 --- a/package/libserialport/libserialport.mk +++ b/package/libserialport/libserialport.mk @@ -10,5 +10,6 @@ LIBSERIALPORT_LICENSE = LGPLv3+ LIBSERIALPORT_LICENSE_FILES = COPYING LIBSERIALPORT_INSTALL_STAGING = YES LIBSERIALPORT_DEPENDENCIES = host-pkgconf +LIBSERIALPORT_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/package/libshout/0001-Fix-THEORA-SPEEX-_LDFLAGS-typo.patch b/package/libshout/0001-Fix-THEORA-SPEEX-_LDFLAGS-typo.patch new file mode 100644 index 000000000..4d173c51e --- /dev/null +++ b/package/libshout/0001-Fix-THEORA-SPEEX-_LDFLAGS-typo.patch @@ -0,0 +1,45 @@ +From d96a3cafeebeb80b4796bacbe0e6da0bbd3ee48e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks> +Date: Sun, 28 Aug 2016 00:39:55 +0200 +Subject: [PATCH 1/2] Fix {THEORA,SPEEX}_LDFLAGS typo +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Needed to properly link against libshout, otherwise the build fails with: + + error: LDFLAGS: No such file or directory + +Upstream status: pending +https://github.com/xiph/Icecast-libshout/pull/4 + +Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 87a7f55..85f18ad 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -134,7 +134,7 @@ PKG_CHECK_MODULES(THEORA, theora, [ + ]) + fi + XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$THEORA_CFLAGS]) +-XIPH_VAR_PREPEND([XIPH_LIBS],[$THEORA LDFLAGS $THEORA_LIBS]) ++XIPH_VAR_PREPEND([XIPH_LIBS],[$THEORA_LDFLAGS $THEORA_LIBS]) + AM_CONDITIONAL([HAVE_THEORA], [test -n "$THEORA_LIBS"]) + if test -n "$THEORA_LIBS" + then +@@ -153,7 +153,7 @@ PKG_CHECK_MODULES(SPEEX, speex, [ + ]) + fi + XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$SPEEX_CFLAGS]) +-XIPH_VAR_PREPEND([XIPH_LIBS],[$SPEEX LDFLAGS $SPEEX_LIBS]) ++XIPH_VAR_PREPEND([XIPH_LIBS],[$SPEEX_LDFLAGS $SPEEX_LIBS]) + AM_CONDITIONAL([HAVE_SPEEX], [test -n "$SPEEX_LIBS"]) + if test -n "$SPEEX_LIBS" + then +-- +2.9.3 + diff --git a/package/libshout/0002-Make-sure-SHOUT_REQUIRES-contains-OpenSSL.patch b/package/libshout/0002-Make-sure-SHOUT_REQUIRES-contains-OpenSSL.patch new file mode 100644 index 000000000..08d7fa917 --- /dev/null +++ b/package/libshout/0002-Make-sure-SHOUT_REQUIRES-contains-OpenSSL.patch @@ -0,0 +1,55 @@ +From 69774132422af1d017008eb5daed8e2099d2fa0a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks> +Date: Wed, 31 Aug 2016 21:55:51 +0200 +Subject: [PATCH 2/2] Make sure @SHOUT_REQUIRES@ contains OpenSSL +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Static linking userspace programs such as mpd against libshout +currently doesn't work out of the box, because libshout is linked +against libssl, but this isn't expressed in libshouts pkg-config +file: + +``` +/usr/lib/libshout.a(tls.o): In function `tls_check_cert': +tls.c:(.text+0x10): undefined reference to `SSL_get_peer_certificate' +tls.c:(.text+0x24): undefined reference to `SSL_get_verify_result' +tls.c:(.text+0x4c): undefined reference to `X509_get_subject_name' +tls.c:(.text+0x60): undefined reference to `X509_NAME_get_text_by_NID' +tls.c:(.text+0x118): undefined reference to `X509_NAME_get_entry' +tls.c:(.text+0x11c): undefined reference to `X509_NAME_ENTRY_get_data' +tls.c:(.text+0x120): undefined reference to `ASN1_STRING_length' +tls.c:(.text+0x148): undefined reference to `X509_free' +tls.c:(.text+0x178): undefined reference to `X509_NAME_get_index_by_NID' +``` + +Since OpenSSL installs its own .pc files, make sure that @SHOUT_REQUIRES@ +contains `ssl`. + +Upstream status: pending +https://github.com/xiph/Icecast-libshout/pull/5 + +Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> +--- + configure.ac | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 85f18ad..2b9c505 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -197,6 +197,10 @@ XIPH_PATH_OPENSSL([ + ]) + AC_SUBST([SHOUT_TLS]) + AM_CONDITIONAL([HAVE_TLS], [test -n "$OPENSSL_LIBS"]) ++if test "$SHOUT_TLS" = "1" ++then ++ SHOUT_REQUIRES="$SHOUT_REQUIRES, libssl" ++fi + + SHOUT_VERSION="$VERSION" + SHOUT_CPPFLAGS="-I$shout_includedir $VORBIS_CFLAGS $PTHREAD_CPPFLAGS" +-- +2.9.3 + diff --git a/package/libshout/libshout.mk b/package/libshout/libshout.mk index 029c13441..bf8559520 100644 --- a/package/libshout/libshout.mk +++ b/package/libshout/libshout.mk @@ -11,6 +11,9 @@ LIBSHOUT_LICENSE_FILES = COPYING LIBSHOUT_INSTALL_STAGING = YES LIBSHOUT_DEPENDENCIES = host-pkgconf libogg libvorbis +# patching configure.ac +LIBSHOUT_AUTORECONF = YES + ifeq ($(BR2_PACKAGE_LIBTHEORA),y) LIBSHOUT_CONF_OPTS += --enable-theora LIBSHOUT_DEPENDENCIES += libtheora @@ -25,4 +28,11 @@ else LIBSHOUT_CONF_OPTS += --disable-speex endif +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBSHOUT_CONF_OPTS += --with-openssl +LIBSHOUT_DEPENDENCIES += openssl +else +LIBSHOUT_CONF_OPTS += --without-openssl +endif + $(eval $(autotools-package)) diff --git a/package/libsidplay2/0003-gcc6.patch b/package/libsidplay2/0003-gcc6.patch new file mode 100644 index 000000000..53601f6d4 --- /dev/null +++ b/package/libsidplay2/0003-gcc6.patch @@ -0,0 +1,44 @@ +Fix build with gcc6 + +gcc6 triggers an error during build: + +xsid.cpp:101:1: error: narrowing conversion of ''\200'' from 'char' to 'int8_t {aka signed char}' inside { } [-Wnarrowing] + }; + ^ +xsid.cpp:101:1: error: narrowing conversion of ''\224'' from 'char' to 'int8_t {aka signed char}' inside { } [-Wnarrowing] +xsid.cpp:101:1: error: narrowing conversion of ''\251'' from 'char' to 'int8_t {aka signed char}' inside { } [-Wnarrowing] +xsid.cpp:101:1: error: narrowing conversion of ''\274'' from 'char' to 'int8_t {aka signed char}' inside { } [-Wnarrowing] +xsid.cpp:101:1: error: narrowing conversion of ''\316'' from 'char' to 'int8_t {aka signed char}' inside { } [-Wnarrowing] +xsid.cpp:101:1: error: narrowing conversion of ''\341'' from 'char' to 'int8_t {aka signed char}' inside { } [-Wnarrowing] +xsid.cpp:101:1: error: narrowing conversion of ''\362'' from 'char' to 'int8_t {aka signed char}' inside { } [-Wnarrowing] + +To fix the problem change the array type from int8_t to char as proposed +by Khem Raj: +http://lists.busybox.net/pipermail/buildroot/2016-August/169540.html + +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> + +diff -uNr sidplay-libs-2.1.1.org/libsidplay/src/xsid/xsid.cpp sidplay-libs-2.1.1/libsidplay/src/xsid/xsid.cpp +--- sidplay-libs-2.1.1.org/libsidplay/src/xsid/xsid.cpp 2004-06-14 22:08:02.000000000 +0200 ++++ sidplay-libs-2.1.1/libsidplay/src/xsid/xsid.cpp 2016-08-12 18:10:20.000000000 +0200 +@@ -94,7 +94,7 @@ + '\x08', '\x19', '\x2a', '\x3b', '\x4c', '\x5d', '\x6e', '\x7f' + }; + */ +-const int8_t XSID::sampleConvertTable[16] = ++const char XSID::sampleConvertTable[16] = + { + '\x80', '\x94', '\xa9', '\xbc', '\xce', '\xe1', '\xf2', '\x03', + '\x1b', '\x2a', '\x3b', '\x49', '\x58', '\x66', '\x73', '\x7f' +diff -uNr sidplay-libs-2.1.1.org/libsidplay/src/xsid/xsid.h sidplay-libs-2.1.1/libsidplay/src/xsid/xsid.h +--- sidplay-libs-2.1.1.org/libsidplay/src/xsid/xsid.h 2004-06-14 22:08:02.000000000 +0200 ++++ sidplay-libs-2.1.1/libsidplay/src/xsid/xsid.h 2016-08-12 18:11:01.000000000 +0200 +@@ -238,7 +238,7 @@ + uint8_t sidData0x18; + bool _sidSamples; + int8_t sampleOffset; +- static const int8_t sampleConvertTable[16]; ++ static const char sampleConvertTable[16]; + bool wasRunning; + + private: diff --git a/package/libsigsegv/Config.in b/package/libsigsegv/Config.in index 90c6ba30a..f258dc9e8 100644 --- a/package/libsigsegv/Config.in +++ b/package/libsigsegv/Config.in @@ -1,15 +1,20 @@ +config BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS + bool + # with glibc/musl, ucontext is available for all supported + # architectures + default y if BR2_TOOLCHAIN_USES_GLIBC + default y if BR2_TOOLCHAIN_USES_MUSL + # with uclibc, ucontext is only available for a subset of the + # supported architectures + default y if BR2_TOOLCHAIN_USES_UCLIBC && \ + (BR2_ARM_CPU_HAS_ARM || BR2_i386 || \ + BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \ + BR2_sparc || BR2_x86_64) + config BR2_PACKAGE_LIBSIGSEGV bool "libsigsegv" - depends on !BR2_xtensa - depends on !BR2_arc # no ucontext_i.sym file - depends on !BR2_microblaze - depends on !BR2_m68k # unknown type name 'ucontext_t' - # No ucontext support in uclibc for powerpc and superh - depends on !((BR2_powerpc || BR2_sh) && BR2_TOOLCHAIN_USES_UCLIBC) + depends on BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS help Library for handling page faults in user mode. http://www.gnu.org/software/libsigsegv/ - -comment "libsigsegv needs a glibc toolchain" - depends on (BR2_powerpc || BR2_sh) && BR2_TOOLCHAIN_USES_UCLIBC diff --git a/package/libunwind/Config.in b/package/libunwind/Config.in index a70d9e889..04ab5a5c5 100644 --- a/package/libunwind/Config.in +++ b/package/libunwind/Config.in @@ -10,16 +10,16 @@ config BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS bool default y if BR2_TOOLCHAIN_USES_GLIBC && \ - ((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \ - (BR2_mips || BR2_mipsel || BR2_mips64 || \ + (((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \ + BR2_mips || BR2_mipsel || BR2_mips64 || \ BR2_mips64el || BR2_powerpc || BR2_sh || BR2_sh64 || BR2_i386 || BR2_x86_64) default y if BR2_TOOLCHAIN_USES_UCLIBC && \ - ((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \ - (BR2_i386 || BR2_mips || BR2_mipsel || \ + (((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \ + BR2_i386 || BR2_mips || BR2_mipsel || \ BR2_mips64 || BR2_mips64el || BR2_x86_64) default y if BR2_TOOLCHAIN_USES_MUSL && \ - ((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \ - (BR2_i386 || BR2_x86_64) + (((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \ + BR2_i386 || BR2_x86_64) config BR2_PACKAGE_LIBUNWIND bool "libunwind" diff --git a/package/libxml2/libxml2.mk b/package/libxml2/libxml2.mk index ed6f9af49..2a7153ad1 100644 --- a/package/libxml2/libxml2.mk +++ b/package/libxml2/libxml2.mk @@ -11,6 +11,11 @@ LIBXML2_LICENSE = MIT LIBXML2_LICENSE_FILES = COPYING LIBXML2_CONFIG_SCRIPTS = xml2-config +# relocation truncated to fit: R_68K_GOT16O +ifeq ($(BR2_m68k_cf),y) +LIBXML2_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -mxgot" +endif + LIBXML2_CONF_OPTS = --with-gnu-ld --without-python --without-debug HOST_LIBXML2_DEPENDENCIES = host-pkgconf diff --git a/package/libxmlrpc/0006-narrowing.patch b/package/libxmlrpc/0006-narrowing.patch new file mode 100644 index 000000000..43a5ca5f4 --- /dev/null +++ b/package/libxmlrpc/0006-narrowing.patch @@ -0,0 +1,20 @@ +Fix build with gcc6 + +Downloaded from +https://build.opensuse.org/package/view_file/devel:libraries:c_c++/xmlrpc-c/narrowing.patch + +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> + +Index: xmlrpc-c-1.33.18/src/cpp/base64.cpp +=================================================================== +--- xmlrpc-c-1.33.18.orig/src/cpp/base64.cpp ++++ xmlrpc-c-1.33.18/src/cpp/base64.cpp +@@ -14,7 +14,7 @@ using namespace xmlrpc_c; + + namespace { + +-char const table_a2b_base64[] = { ++signed char const table_a2b_base64[] = { + -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, + -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, + -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,62, -1,-1,-1,63, diff --git a/package/linknx/0002-musl-cdefs.patch b/package/linknx/0002-musl-cdefs.patch deleted file mode 100644 index 59e28ca70..000000000 --- a/package/linknx/0002-musl-cdefs.patch +++ /dev/null @@ -1,37 +0,0 @@ -Do not use the non-standard <sys/cdefs.h> header - -<sys/cdefs.h> is glibc-specific, and should be used only internally by -glibc, not by external libraries/programs. It is not available in all -standard C libraries. - -Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> -(Patch sent upstream: https://sourceforge.net/p/linknx/patches/21/) - -diff -uNr linknx-0.0.1.32.org/include/eibclient.h linknx-0.0.1.32/include/eibclient.h ---- linknx-0.0.1.32.org/include/eibclient.h 2007-10-11 01:55:33.000000000 +0200 -+++ linknx-0.0.1.32/include/eibclient.h 2016-01-23 23:21:17.315006629 +0100 -@@ -27,11 +27,12 @@ - #ifndef EIBCLIENT_H - #define EIBCLIENT_H - --#include "sys/cdefs.h" - #include "stdint.h" - #include <pthsem.h> - --__BEGIN_DECLS; -+#ifdef __cplusplus -+extern "C" { -+#endif - - #include "eibloadresult.h" - -@@ -705,5 +706,8 @@ - */ - int EIB_LoadImage_async (EIBConnection * con, const uint8_t * image, int len); - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif -+ - #endif diff --git a/package/linknx/0002-src-suncalc.cpp-fix-build-with-gcc-6.x.patch b/package/linknx/0002-src-suncalc.cpp-fix-build-with-gcc-6.x.patch new file mode 100644 index 000000000..d204a0226 --- /dev/null +++ b/package/linknx/0002-src-suncalc.cpp-fix-build-with-gcc-6.x.patch @@ -0,0 +1,42 @@ +From ff52cf04c6fa8b3352544447abf429bfa6000dc8 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Sat, 20 Aug 2016 12:13:04 +0200 +Subject: [PATCH] src/suncalc.cpp: fix build with gcc 6.x + +src/suncalc.cpp currently includes <math.h>, but this causes a build +failure with gcc 6.x, and <cmath> should be used instead. The build +failure is: + +/home/test/autobuild/run/instance-0/output/host/usr/arc-buildroot-linux-uclibc/include/c++/6.1.1/cmath:101:37: error: '__is_integer' was not declared in this scope + typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + ^~~~~~~~~~~~ + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + src/suncalc.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/suncalc.cpp b/src/suncalc.cpp +index ea2366a..b553f96 100644 +--- a/src/suncalc.cpp ++++ b/src/suncalc.cpp +@@ -22,6 +22,8 @@ + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + ++#include <cmath> ++ + #include "suncalc.h" + #include "services.h" + +@@ -44,7 +46,6 @@ Released to the public domain by Paul Schlyter, December 1992 + + + #include <stdio.h> +-#include <math.h> + #include <time.h> + #include <stdlib.h> + #include <getopt.h> +-- +2.7.4 + diff --git a/package/linknx/Config.in b/package/linknx/Config.in index ca55c8bfb..e85838990 100644 --- a/package/linknx/Config.in +++ b/package/linknx/Config.in @@ -11,6 +11,7 @@ config BR2_PACKAGE_LINKNX to EIB/KNX installation. http://linknx.sourceforge.net/ + https://github.com/linknx/linknx comment "linknx needs a toolchain w/ C++" depends on BR2_USE_MMU diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index ae5cc5d88..f3a99e534 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -237,17 +237,17 @@ config BR2_DEFAULT_KERNEL_HEADERS string default "3.2.81" if BR2_KERNEL_HEADERS_3_2 default "3.4.112" if BR2_KERNEL_HEADERS_3_4 - default "3.10.102" if BR2_KERNEL_HEADERS_3_10 + default "3.10.103" if BR2_KERNEL_HEADERS_3_10 default "3.12.62" if BR2_KERNEL_HEADERS_3_12 - default "3.14.74" if BR2_KERNEL_HEADERS_3_14 - default "3.18.38" if BR2_KERNEL_HEADERS_3_18 + default "3.14.77" if BR2_KERNEL_HEADERS_3_14 + default "3.18.40" if BR2_KERNEL_HEADERS_3_18 default "3.19.8" if BR2_KERNEL_HEADERS_3_19 default "4.0.9" if BR2_KERNEL_HEADERS_4_0 - default "4.1.29" if BR2_KERNEL_HEADERS_4_1 + default "4.1.31" if BR2_KERNEL_HEADERS_4_1 default "4.2.8" if BR2_KERNEL_HEADERS_4_2 default "4.3.6" if BR2_KERNEL_HEADERS_4_3 - default "4.4.16" if BR2_KERNEL_HEADERS_4_4 + default "4.4.19" if BR2_KERNEL_HEADERS_4_4 default "4.5.7" if BR2_KERNEL_HEADERS_4_5 - default "4.6.5" if BR2_KERNEL_HEADERS_4_6 - default "4.7" if BR2_KERNEL_HEADERS_4_7 + default "4.6.7" if BR2_KERNEL_HEADERS_4_6 + default "4.7.2" if BR2_KERNEL_HEADERS_4_7 default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION diff --git a/package/linux-pam/Config.in b/package/linux-pam/Config.in index f6cf5307d..7044073d2 100644 --- a/package/linux-pam/Config.in +++ b/package/linux-pam/Config.in @@ -11,6 +11,7 @@ config BR2_PACKAGE_LINUX_PAM # for details. depends on !BR2_STATIC_LIBS depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam + depends on BR2_USE_MMU # fork() help A Security Framework that Provides Authentication for Applications diff --git a/package/linux-zigbee/0002-addrdb-coord-config-parse.y-add-missing-time.h-inclu.patch b/package/linux-zigbee/0002-addrdb-coord-config-parse.y-add-missing-time.h-inclu.patch new file mode 100644 index 000000000..0ce4381c1 --- /dev/null +++ b/package/linux-zigbee/0002-addrdb-coord-config-parse.y-add-missing-time.h-inclu.patch @@ -0,0 +1,43 @@ +From 8cc60d618f81f2eeaa926cd60ed9b55ee6cda6ea Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Mon, 8 Aug 2016 15:42:46 +0200 +Subject: [PATCH] addrdb/coord-config-parse.y: add missing <time.h> include +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The %union definition uses the time_t structure. In order to use this +structure, the <time.h> header has to be included. Otherwise, the build +breaks with some C libraries, such as musl: + +In file included from coord-config-lex.l:23:0: +coord-config-parse.y:107:2: error: unknown type name ‘time_t’ + time_t timestamp; + ^ + +This patch includes <time.h> using the '%code requires' directive of +Yacc. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + addrdb/coord-config-parse.y | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/addrdb/coord-config-parse.y b/addrdb/coord-config-parse.y +index 2e10a88..85ee058 100644 +--- a/addrdb/coord-config-parse.y ++++ b/addrdb/coord-config-parse.y +@@ -102,6 +102,10 @@ + + %} + ++%code requires { ++#include <time.h> ++} ++ + %union { + unsigned long number; + time_t timestamp; +-- +2.7.4 + diff --git a/package/lirc-tools/0004-configure-check-for-clock_gettime-in-librt.patch b/package/lirc-tools/0004-configure-check-for-clock_gettime-in-librt.patch new file mode 100644 index 000000000..710dfd3b0 --- /dev/null +++ b/package/lirc-tools/0004-configure-check-for-clock_gettime-in-librt.patch @@ -0,0 +1,54 @@ +From e654ae139cec42a6f1b5684261787d0c241cfd3b Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Fri, 19 Aug 2016 15:25:48 +0200 +Subject: [PATCH] configure: check for clock_gettime in librt + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + configure.ac | 3 +++ + daemons/Makefile.am | 2 +- + plugins/Makefile.am | 1 + + 3 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 73340c7..466e638 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -67,6 +67,9 @@ AC_CHECK_FUNCS(gethostname gettimeofday mkfifo select socket strdup \ + AC_SEARCH_LIBS([dlopen], [dl dld], [], [ + AC_MSG_ERROR([unable to find the dlopen() function]) + ]) ++# glibc < 2.17 needs librt for clock_gettime() ++AC_CHECK_LIB(rt, clock_gettime, LIBCLOCK_GETTIME="-lrt") ++AC_SUBST(LIBCLOCK_GETTIME) + AC_CHECK_FUNCS(daemon) + if test "$ac_cv_func_daemon" != yes; then + daemon="" +diff --git a/daemons/Makefile.am b/daemons/Makefile.am +index 5625627..85a28f3 100644 +--- a/daemons/Makefile.am ++++ b/daemons/Makefile.am +@@ -21,7 +21,7 @@ sbin_PROGRAMS += lircd-uinput + endif + + lircd_SOURCES = lircd.cpp +-lircd_LDADD = ../lib/liblirc.la ++lircd_LDADD = ../lib/liblirc.la @LIBCLOCK_GETTIME@ + + lircd_uinput_SOURCES = lircd-uinput.cpp + lircd_uinput_LDADD = ../lib/liblirc.la +diff --git a/plugins/Makefile.am b/plugins/Makefile.am +index ddff01d..45c012a 100644 +--- a/plugins/Makefile.am ++++ b/plugins/Makefile.am +@@ -127,6 +127,7 @@ zotac_la_SOURCES = zotac.c + + plugin_LTLIBRARIES += mplay.la + mplay_la_SOURCES = mplay.c ++mplay_la_LIBADD = @LIBCLOCK_GETTIME@ + endif + + $(srcdir)/pluginlist.am: +-- +2.7.4 + diff --git a/package/lirc-tools/lirc-tools.mk b/package/lirc-tools/lirc-tools.mk index ca775f7ac..547df46e6 100644 --- a/package/lirc-tools/lirc-tools.mk +++ b/package/lirc-tools/lirc-tools.mk @@ -13,6 +13,7 @@ LIRC_TOOLS_DEPENDENCIES = host-libxslt host-pkgconf host-python3 LIRC_TOOLS_INSTALL_STAGING = YES # 0001-lib-use-proper-linking-method-to-avoid-parallel-buil.patch # 0003-Don-t-build-commandir-unless-we-have-usb.h-191.patch +# 0004-configure-check-for-clock_gettime-in-librt.patch LIRC_TOOLS_AUTORECONF = YES LIRC_TOOLS_CONF_ENV = XSLTPROC=yes diff --git a/package/lldpd/0002-configure-do-not-check-for-libbsd.patch b/package/lldpd/0002-configure-do-not-check-for-libbsd.patch new file mode 100644 index 000000000..4d6327452 --- /dev/null +++ b/package/lldpd/0002-configure-do-not-check-for-libbsd.patch @@ -0,0 +1,61 @@ +From 0801a066cd4a24a858ddfa7c62c7802e0f5533a8 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" <yann.morin.1998@free.fr> +Date: Sun, 14 Aug 2016 12:15:17 +0200 +Subject: [PATCH] configure: do not check for libbsd + +libbsd causes build issues because its libbsd-overlay.pc file is borked: +it contains -isystem in CFLAGS, which is not munged by pkgconf, so we +end up using the headers of the build machine, causing all sorts of +hard-to-debug trouble at build time. + +lldpd uses libbsd-overlay for a few helper functions, but has fallbacks +in case it is not available. The only feature that is lost when not using +it is that the neighbour name is no longer displayed in /proc/self/cmdline. +As the author of lldpd said on IRC: "people should survive! ;-)" + +So we just remove the detection of libbsd altogether. + +Fixes: + http://autobuild.buildroot.org/results/6b7/6b70fa379e834ec71cc260ba6af771b531ca3511/ + http://autobuild.buildroot.org/results/769/769074c4bb67336ae6679f2c1cd2a8220d2bec24/ + http://autobuild.buildroot.org/results/c8a/c8a6001f437701ecc75f6c9252935645bda8a8c8/ + [...] + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> +--- + configure.ac | 19 ------------------- + 1 file changed, 19 deletions(-) + +diff --git a/configure.ac b/configure.ac +index dd723b0..45498ce 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -165,25 +165,6 @@ AC_FUNC_MALLOC + AC_FUNC_REALLOC + AC_FUNC_FORK + +-# Some functions can be in libbsd +-PKG_CHECK_MODULES([libbsd], [libbsd-overlay], [ +- _save_CFLAGS="$CFLAGS" +- _save_LIBS="$LIBS" +- CFLAGS="$CFLAGS $libbsd_CFLAGS" +- LIBS="$LIBS $libbsd_LIBS" +- AC_MSG_CHECKING([if libbsd can be linked correctly]) +- AC_LINK_IFELSE([AC_LANG_SOURCE([[int main() { return 0; }]])], +- [ +- AC_MSG_RESULT(yes) +- LLDP_CFLAGS="$LLDP_CFLAGS $libbsd_CFLAGS" +- LLDP_LDFLAGS="$LLDP_LDFLAGS $libbsd_LIBS" +- ],[ +- AC_MSG_RESULT(no) +- CFLAGS="$_save_CFLAGS" +- LIBS="$_save_LIBS" +- ]) +-], [:]) +- + # setproctitle may have an _init function + AC_REPLACE_FUNCS([setproctitle]) + AC_CHECK_FUNCS([setproctitle_init]) +-- +2.7.4 + diff --git a/package/lldpd/lldpd.mk b/package/lldpd/lldpd.mk index 924f2db98..349c556c1 100644 --- a/package/lldpd/lldpd.mk +++ b/package/lldpd/lldpd.mk @@ -9,9 +9,17 @@ LLDPD_SITE = http://media.luffy.cx/files/lldpd LLDPD_DEPENDENCIES = host-pkgconf libevent LLDPD_LICENSE = ISC LLDPD_LICENSE_FILES = README.md -# 0001-build-make-generation-of-atom-glue-compatible-with-o.patch +# 0002-configure-do-not-check-for-libbsd.patch LLDPD_AUTORECONF = YES +ifeq ($(BR2_PACKAGE_CHECK),y) +LLDPD_DEPENDENCIES += check +endif + +ifeq ($(BR2_PACKAGE_VALGRIND),y) +LLDPD_DEPENDENCIES += valgrind +endif + # Detection of c99 support in configure fails without WCHAR. To enable # automatic detection of c99 support by configure, we need to enable # WCHAR in toolchain. But actually we do not need WCHAR at lldpd diff --git a/package/logrotate/logrotate.hash b/package/logrotate/logrotate.hash index ee31f8e05..3003d4254 100644 --- a/package/logrotate/logrotate.hash +++ b/package/logrotate/logrotate.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 db63b5932190cba941357c029b595a7fddf43539943aa1e0ca53a96136e4c5d9 logrotate-3.10.0.tar.gz +sha256 e0d360908ac506e02f08fa1ad70e17d6985045d8640f383fef8f322886d6e1e1 6a36c105587b07ad14fc937f3ee6e2eb402621a2.patch diff --git a/package/logrotate/logrotate.mk b/package/logrotate/logrotate.mk index 96012c003..14d06937b 100644 --- a/package/logrotate/logrotate.mk +++ b/package/logrotate/logrotate.mk @@ -13,6 +13,7 @@ LOGROTATE_DEPENDENCIES = popt host-pkgconf LOGROTATE_AUTORECONF = YES LOGROTATE_CONF_ENV = LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs popt`" LOGROTATE_CONF_OPTS = --without-selinux +LOGROTATE_PATCH = https://github.com/logrotate/logrotate/commit/6a36c105587b07ad14fc937f3ee6e2eb402621a2.patch ifeq ($(BR2_PACKAGE_ACL),y) LOGROTATE_DEPENDENCIES += acl diff --git a/package/lshw/0002-Fix-musl-build-basename-is-in-libgen.h.patch b/package/lshw/0002-Fix-musl-build-basename-is-in-libgen.h.patch new file mode 100644 index 000000000..d80c62a12 --- /dev/null +++ b/package/lshw/0002-Fix-musl-build-basename-is-in-libgen.h.patch @@ -0,0 +1,78 @@ +From 016bdb133a44bdf42c268ff72ee7aa04af19cfd3 Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be> +Date: Sat, 27 Aug 2016 01:11:56 +0200 +Subject: [PATCH] Fix musl build: basename() is in libgen.h. + +Also, its argument is not const, so add const_cast. This is risky +because in fact basename() will modify the argument if it ends with / +but that's not the case here. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> +--- + src/core/dasd.cc | 1 + + src/core/sysfs.cc | 9 +++++---- + 2 files changed, 6 insertions(+), 4 deletions(-) + +diff --git a/src/core/dasd.cc b/src/core/dasd.cc +index 626b8a8..6276101 100644 +--- a/src/core/dasd.cc ++++ b/src/core/dasd.cc +@@ -9,6 +9,7 @@ + #include <sys/ioctl.h> + #include <linux/fs.h> + #include <map> ++#include <libgen.h> + + using namespace std; + +diff --git a/src/core/sysfs.cc b/src/core/sysfs.cc +index acc9d00..bdd69e3 100644 +--- a/src/core/sysfs.cc ++++ b/src/core/sysfs.cc +@@ -16,6 +16,7 @@ + #include <sys/stat.h> + #include <sys/types.h> + #include <sys/mount.h> ++#include <libgen.h> + + __ID("@(#) $Id$"); + +@@ -99,7 +100,7 @@ static string sysfs_getbustype(const string & path) + { + devname = + string(fs.path + "/bus/") + string(namelist[i]->d_name) + +- "/devices/" + basename(path.c_str()); ++ "/devices/" + basename(const_cast<char*>(path.c_str())); + + if (samefile(devname, path)) + return string(namelist[i]->d_name); +@@ -139,7 +140,7 @@ static string sysfstobusinfo(const string & path) + + if (bustype == "virtio") + { +- string name = basename(path.c_str()); ++ string name = basename(const_cast<char*>(path.c_str())); + if (name.compare(0, 6, "virtio") == 0) + return "virtio@" + name.substr(6); + else +@@ -207,7 +208,7 @@ string entry::driver() const + string driverlink = This->devpath + "/driver"; + if (!exists(driverlink)) + return ""; +- return basename(readlink(driverlink).c_str()); ++ return basename(const_cast<char*>(readlink(driverlink).c_str())); + } + + +@@ -288,7 +289,7 @@ string entry::name_in_class(const string & classname) const + + string entry::name() const + { +- return basename(This->devpath.c_str()); ++ return basename(const_cast<char*>(This->devpath.c_str())); + } + + +-- +2.9.3 + diff --git a/package/lshw/0003-Fix-use-of-LONG_BIT.patch b/package/lshw/0003-Fix-use-of-LONG_BIT.patch new file mode 100644 index 000000000..7d8d73945 --- /dev/null +++ b/package/lshw/0003-Fix-use-of-LONG_BIT.patch @@ -0,0 +1,36 @@ +From 50284ac4400ac3d7562f4765726492caee8ff547 Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be> +Date: Sat, 27 Aug 2016 01:15:13 +0200 +Subject: [PATCH] Fix use of LONG_BIT + +LONG_BIT is not a sysconf value, it is either 32 or 64. Using it as +a sysconf value will give weird results. + +Originally it was sysconf(_SC_LONG_BIT) (before it was "fixed" by the +gentoo guys). But this is useless: it will always return a value +equal to LONG_BIT: it's either compiled 32-bit or 64-bit so a runtime +lookup doesn't make sense. For this reason, musl has removed the +definition of _SC_LONG_BIT. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> +--- + src/core/abi.cc | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/core/abi.cc b/src/core/abi.cc +index 76e5082..a13daaa 100644 +--- a/src/core/abi.cc ++++ b/src/core/abi.cc +@@ -19,8 +19,7 @@ __ID("@(#) $Id: mem.cc 1352 2006-05-27 23:54:13Z ezix $"); + + bool scan_abi(hwNode & system) + { +- // are we compiled as 32- or 64-bit process ? +- system.setWidth(sysconf(LONG_BIT)); ++ system.setWidth(LONG_BIT); + + pushd(PROC_SYS); + +-- +2.9.3 + diff --git a/package/lttng-libust/lttng-libust.hash b/package/lttng-libust/lttng-libust.hash index 57c7e003a..1494acf64 100644 --- a/package/lttng-libust/lttng-libust.hash +++ b/package/lttng-libust/lttng-libust.hash @@ -1,2 +1,6 @@ # http://www.lttng.org/files/lttng-ust/lttng-ust-2.7.1.tar.bz2.sha1 sha1 597ebecb885debb58c263de57f30b1096d4eefc6 lttng-ust-2.7.1.tar.bz2 + +# Locally computed +sha1 2e79c98e458b2e052930fb81441e6ca8377a2ed7 787364e8bac9a146f9d65c763633c2b75eb76463.patch +sha1 cf77ec415111f77573be7917d9b62d8e49dc6304 30307a67b48641875b122d8f832bbfb454e95d92.patch diff --git a/package/lttng-libust/lttng-libust.mk b/package/lttng-libust/lttng-libust.mk index 4a65057c4..61ffed428 100644 --- a/package/lttng-libust/lttng-libust.mk +++ b/package/lttng-libust/lttng-libust.mk @@ -10,6 +10,10 @@ LTTNG_LIBUST_SOURCE = lttng-ust-$(LTTNG_LIBUST_VERSION).tar.bz2 LTTNG_LIBUST_LICENSE = LGPLv2.1, MIT (system headers), GPLv2 (liblttng-ust-ctl/ustctl.c used by lttng-sessiond) LTTNG_LIBUST_LICENSE_FILES = COPYING +LTTNG_LIBUST_PATCH = \ + https://github.com/lttng/lttng-ust/commit/787364e8bac9a146f9d65c763633c2b75eb76463.patch \ + https://github.com/lttng/lttng-ust/commit/30307a67b48641875b122d8f832bbfb454e95d92.patch + LTTNG_LIBUST_INSTALL_STAGING = YES LTTNG_LIBUST_DEPENDENCIES = liburcu util-linux diff --git a/package/luajit/Config.in b/package/luajit/Config.in index 8ce528b2c..f9285e8a4 100644 --- a/package/luajit/Config.in +++ b/package/luajit/Config.in @@ -3,7 +3,8 @@ config BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS default y if BR2_i386 || \ (BR2_x86_64 && BR2_HOSTARCH='x86_64') || \ BR2_powerpc || BR2_arm || BR2_armeb || \ - ((BR2_mips || BR2_mipsel) && !BR2_MIPS_SOFT_FLOAT) + ((BR2_mips || BR2_mipsel) && !BR2_MIPS_SOFT_FLOAT && \ + !BR2_mips_32r6 && !BR2_mips_64r6) config BR2_PACKAGE_LUAJIT bool "luajit" diff --git a/package/mpd/Config.in b/package/mpd/Config.in index 2ea21fc6a..82bbd8d21 100644 --- a/package/mpd/Config.in +++ b/package/mpd/Config.in @@ -262,6 +262,12 @@ comment "pulseaudio support needs a toolchain w/ dynamic library" depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_STATIC_LIBS +config BR2_PACKAGE_MPD_SHOUTCAST + bool "shoutcast" + select BR2_PACKAGE_LIBSHOUT + help + Enable shoutcast streaming output support. + comment "Miscellaneous plugins" config BR2_PACKAGE_MPD_AVAHI_SUPPORT diff --git a/package/mpd/mpd.mk b/package/mpd/mpd.mk index e88261d2f..de168c16a 100644 --- a/package/mpd/mpd.mk +++ b/package/mpd/mpd.mk @@ -195,6 +195,13 @@ else MPD_CONF_OPTS += --disable-pulse endif +ifeq ($(BR2_PACKAGE_MPD_SHOUTCAST),y) +MPD_DEPENDENCIES += libshout +MPD_CONF_OPTS += --enable-shout +else +MPD_CONF_OPTS += --disable-shout +endif + ifeq ($(BR2_PACKAGE_MPD_SOUNDCLOUD),y) MPD_DEPENDENCIES += yajl MPD_CONF_OPTS += --enable-soundcloud diff --git a/package/mplayer/mplayer.mk b/package/mplayer/mplayer.mk index 541dd4f75..6baf50090 100644 --- a/package/mplayer/mplayer.mk +++ b/package/mplayer/mplayer.mk @@ -13,6 +13,12 @@ MPLAYER_LICENSE_FILES = LICENSE Copyright MPLAYER_CFLAGS = $(TARGET_CFLAGS) MPLAYER_LDFLAGS = $(TARGET_LDFLAGS) +# Adding $(STAGING_DIR)/usr/include in the header path is normally not +# needed. Except that mplayer's configure script has a completely +# brain-damaged way of looking for X11/Xlib.h (it parses extra-cflags +# for -I options). +MPLAYER_CFLAGS += -I$(STAGING_DIR)/usr/include + # mplayer needs pcm+mixer support, but configure fails to check for it ifeq ($(BR2_PACKAGE_ALSA_LIB)$(BR2_PACKAGE_ALSA_LIB_MIXER)$(BR2_PACKAGE_ALSA_LIB_PCM),yyy) MPLAYER_DEPENDENCIES += alsa-lib diff --git a/package/mpv/0002-wscript-improve-stdatomic-check.patch b/package/mpv/0002-wscript-improve-stdatomic-check.patch new file mode 100644 index 000000000..c2a307e9a --- /dev/null +++ b/package/mpv/0002-wscript-improve-stdatomic-check.patch @@ -0,0 +1,47 @@ +From 5a635a0066b10d2ba25e0ce78cc57b2be619371c Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Mon, 8 Aug 2016 23:34:32 +0200 +Subject: [PATCH] wscript: improve stdatomic check + +The current stdatomic check verifies the availability of the function by +calling atomic_load(). It also uses this test to check if linking +against libatomic is needed or not. + +Unfortunately, on specific architectures (namely SPARC), using +atomic_load() does *not* require linking against libatomic, while other +atomic operations do. Due to this, mpv's wscript concludes that +stdatomic is available, and that linking against libatomic is not +needed, causing the following link failure: + +[190/190] Linking build/mpv +audio/out/ao.c.13.o: In function `ao_query_and_reset_events': +/home/peko/autobuild/instance-0/output/build/mpv-0.18.1/build/../audio/out/ao.c:399: undefined reference to `__atomic_fetch_and_4' + +In order to fix this, the stdatomic check is adjusted to call +atomic_fetch_add() instead, which does require libatomic. Thanks to +this, the wscript realizes that linking against libatomic is needed, and +the build works fine. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- +Submitted upstream: https://github.com/mpv-player/mpv/pull/3403 + + wscript | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/wscript b/wscript +index a18df6f..4c49caf 100644 +--- a/wscript ++++ b/wscript +@@ -154,7 +154,7 @@ main_dependencies = [ + 'func': check_libs(['atomic'], + check_statement('stdatomic.h', + 'atomic_int_least64_t test = ATOMIC_VAR_INIT(123);' +- 'int test2 = atomic_load(&test)')) ++ 'atomic_fetch_add(&test, 1)')) + }, { + 'name': 'atomic-builtins', + 'desc': 'compiler support for __atomic built-ins', +-- +2.7.4 + diff --git a/package/mtd/0003-fs-tests-integrity-don-t-include-header-bits-stdio_l.patch b/package/mtd/0003-fs-tests-integrity-don-t-include-header-bits-stdio_l.patch new file mode 100644 index 000000000..5c0a552dd --- /dev/null +++ b/package/mtd/0003-fs-tests-integrity-don-t-include-header-bits-stdio_l.patch @@ -0,0 +1,45 @@ +From 600ab10e3b452cdffc6c82770b0bb2ff5c23ad70 Mon Sep 17 00:00:00 2001 +From: Rahul Bedarkar <rahul.bedarkar@imgtec.com> +Date: Fri, 12 Aug 2016 22:59:35 +0530 +Subject: [PATCH 1/1] fs-tests: integrity: don't include header + <bits/stdio_lim.h> + +With musl C library, we get following build error + +integck.c:37:28: fatal error: bits/stdio_lim.h: No such file or directory + #include <bits/stdio_lim.h> + ^ +compilation terminated. +make[2]: *** [integck] Error 1 + +Header <bits/stdio_lim.h> is not available in musl C library. However +<stdio.h> has all definition that <bits/stdio_lim.h> supposed to be +providing. Moreover <bits/stdio_lim.h> shouldn't be included directly +instead we should be using <stdio.h>. + +Since we already include <stdio.h> and in case of uClibc or glibc +<bits/stdio_lim.h> gets included internally, we can safely remove it. + +This build issue is found by Buildroot autobuilder +http://autobuild.buildroot.net/results/175/1754861457af520480cc34d7d2d0edff2868ff66/ + +Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com> +--- + tests/fs-tests/integrity/integck.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/tests/fs-tests/integrity/integck.c b/tests/fs-tests/integrity/integck.c +index 6ef817e..0bb9711 100644 +--- a/tests/fs-tests/integrity/integck.c ++++ b/tests/fs-tests/integrity/integck.c +@@ -34,7 +34,6 @@ + #ifdef INTEGCK_DEBUG + #include <execinfo.h> + #endif +-#include <bits/stdio_lim.h> + #include <sys/mman.h> + #include <sys/vfs.h> + #include <sys/mount.h> +-- +2.6.2 + diff --git a/package/mtd/Config.in b/package/mtd/Config.in index eef812909..8be5eff55 100644 --- a/package/mtd/Config.in +++ b/package/mtd/Config.in @@ -161,6 +161,7 @@ config BR2_PACKAGE_MTD_UBIBLOCK config BR2_PACKAGE_MTD_INTEGCK bool "integck" + depends on BR2_USE_MMU # fork() help Install the integck test program. diff --git a/package/musl-compat-headers/Config.in b/package/musl-compat-headers/Config.in new file mode 100644 index 000000000..c672f9cac --- /dev/null +++ b/package/musl-compat-headers/Config.in @@ -0,0 +1,2 @@ +config BR2_PACKAGE_MUSL_COMPAT_HEADERS + bool diff --git a/package/musl-compat-headers/cdefs.h b/package/musl-compat-headers/cdefs.h new file mode 100644 index 000000000..6fe7aa435 --- /dev/null +++ b/package/musl-compat-headers/cdefs.h @@ -0,0 +1,51 @@ +/* Copyright (C) 2016 Yann E. MORIN <yann.morin.1998@free.fr> + * + * This file is in the Public Domain. + * + * For jurisdictions in which the Public Domain does not exist + * or it is not otherwise applicable, this file is licensed CC0 + * (Creative Commons Zero). + */ + +/* This file contains definitions for non-standard macros defined by + * glibc, but quite commonly used in packages. + * + * Because they are non-standard, musl does not define those macros. + * It does not provide cdefs.h either. + * + * This file is a compatibility header written from scratch, to be + * installed when the C library is musl. + * + * Not all macros from the glibc's cdefs.h are available, only the + * most commonly used ones. + * + * Please refer to the glibc documentation and source code for + * explanations about those macros. + */ + +#ifndef BUILDROOT_SYS_CDEFS_H +#define BUILDROOT_SYS_CDEFS_H + +/* Function prototypes. */ +#undef __P +#define __P(arg) arg + +/* C declarations in C++ mode. */ +#ifdef __cplusplus +# define __BEGIN_DECLS extern "C" { +# define __END_DECLS } +#else +# define __BEGIN_DECLS +# define __END_DECLS +#endif + +/* Don't throw exceptions in C functions. */ +#ifndef __cplusplus +# define __THROW __attribute__ ((__nothrow__)) +# define __NTH(f) __attribute__ ((__nothrow__)) f +#else +# define __THROW +# define __NTH(f) f +#endif + +#endif /* ifndef BUILDROOT_SYS_CDEFS_H */ diff --git a/package/netbsd-queue/netbsd-queue.hash b/package/musl-compat-headers/musl-compat-headers.hash index f8e2a6c59..f8e2a6c59 100644 --- a/package/netbsd-queue/netbsd-queue.hash +++ b/package/musl-compat-headers/musl-compat-headers.hash diff --git a/package/musl-compat-headers/musl-compat-headers.mk b/package/musl-compat-headers/musl-compat-headers.mk new file mode 100644 index 000000000..25e032c72 --- /dev/null +++ b/package/musl-compat-headers/musl-compat-headers.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# musl-compat-headers +# +################################################################################ + +# No main site, just using extra downloads +MUSL_COMPAT_HEADERS_QUEUE_H = http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/sys/queue.h?rev=1.70 + +MUSL_COMPAT_HEADERS_EXTRA_DOWNLOADS = $(MUSL_COMPAT_HEADERS_QUEUE_H) + +MUSL_COMPAT_HEADERS_LICENSE = BSD-3c, Public Domain or CC0 +MUSL_COMPAT_HEADERS_LICENSE_FILES = queue.h cdefs.h + +MUSL_COMPAT_HEADERS_ADD_TOOLCHAIN_DEPENDENCY = NO + +# Only installs headers +MUSL_COMPAT_HEADERS_INSTALL_TARGET = NO +MUSL_COMPAT_HEADERS_INSTALL_STAGING = YES + +# Copying both headers so legal-info finds them (they are _LICENSE_FILES) +define MUSL_COMPAT_HEADERS_EXTRACT_CMDS + $(INSTALL) -m 0644 -D $(DL_DIR)/$(notdir $(MUSL_COMPAT_HEADERS_QUEUE_H)) $(@D)/queue.h + $(INSTALL) -m 0644 -D $(MUSL_COMPAT_HEADERS_PKGDIR)/cdefs.h $(@D)/cdefs.h +endef + +define MUSL_COMPAT_HEADERS_INSTALL_STAGING_CMDS + $(INSTALL) -D -m 0644 $(@D)/queue.h \ + $(STAGING_DIR)/usr/include/sys/queue.h + $(INSTALL) -D -m 0644 $(@D)/cdefs.h \ + $(STAGING_DIR)/usr/include/sys/cdefs.h +endef + +$(eval $(generic-package)) diff --git a/package/musl/0001-fix-regression-in-tcsetattr-on-all-mips-archs.patch b/package/musl/0001-fix-regression-in-tcsetattr-on-all-mips-archs.patch new file mode 100644 index 000000000..73ccae449 --- /dev/null +++ b/package/musl/0001-fix-regression-in-tcsetattr-on-all-mips-archs.patch @@ -0,0 +1,67 @@ +From cff5747c74c41b22f1ce1340978b1c226a8cdf32 Mon Sep 17 00:00:00 2001 +From: Rich Felker <dalias@aerifal.cx> +Date: Wed, 13 Jul 2016 15:04:30 -0400 +Subject: [PATCH] fix regression in tcsetattr on all mips archs + +revert commit 8c316e9e49d37ad92c2e7493e16166a2afca419f. it was wrong +and does not match how the kernel API works. + +Signed-off-by: Rich Felker <dalias@aerifal.cx> +Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> +--- + arch/mips/bits/termios.h | 6 +++--- + arch/mips64/bits/termios.h | 6 +++--- + arch/mipsn32/bits/termios.h | 6 +++--- + 3 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/arch/mips/bits/termios.h b/arch/mips/bits/termios.h +index f559f76..6a1205d 100644 +--- a/arch/mips/bits/termios.h ++++ b/arch/mips/bits/termios.h +@@ -141,9 +141,9 @@ struct termios { + #define TCOFLUSH 1 + #define TCIOFLUSH 2 + +-#define TCSANOW 0x540e +-#define TCSADRAIN 0x540f +-#define TCSAFLUSH 0x5410 ++#define TCSANOW 0 ++#define TCSADRAIN 1 ++#define TCSAFLUSH 2 + + #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + #define EXTA 0000016 +diff --git a/arch/mips64/bits/termios.h b/arch/mips64/bits/termios.h +index f559f76..6a1205d 100644 +--- a/arch/mips64/bits/termios.h ++++ b/arch/mips64/bits/termios.h +@@ -141,9 +141,9 @@ struct termios { + #define TCOFLUSH 1 + #define TCIOFLUSH 2 + +-#define TCSANOW 0x540e +-#define TCSADRAIN 0x540f +-#define TCSAFLUSH 0x5410 ++#define TCSANOW 0 ++#define TCSADRAIN 1 ++#define TCSAFLUSH 2 + + #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + #define EXTA 0000016 +diff --git a/arch/mipsn32/bits/termios.h b/arch/mipsn32/bits/termios.h +index f559f76..6a1205d 100644 +--- a/arch/mipsn32/bits/termios.h ++++ b/arch/mipsn32/bits/termios.h +@@ -141,9 +141,9 @@ struct termios { + #define TCOFLUSH 1 + #define TCIOFLUSH 2 + +-#define TCSANOW 0x540e +-#define TCSADRAIN 0x540f +-#define TCSAFLUSH 0x5410 ++#define TCSANOW 0 ++#define TCSADRAIN 1 ++#define TCSAFLUSH 2 + + #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + #define EXTA 0000016 diff --git a/package/musl/Config.in b/package/musl/Config.in index c263006a2..18ae69d28 100644 --- a/package/musl/Config.in +++ b/package/musl/Config.in @@ -3,5 +3,6 @@ config BR2_PACKAGE_MUSL depends on BR2_TOOLCHAIN_USES_MUSL default y select BR2_PACKAGE_LINUX_HEADERS - select BR2_PACKAGE_NETBSD_QUEUE select BR2_TOOLCHAIN_HAS_SSP + # Compatibility headers: cdefs.h, queue.h + select BR2_PACKAGE_MUSL_COMPAT_HEADERS diff --git a/package/musl/musl.mk b/package/musl/musl.mk index 920bbbfd1..ea1ce6d9a 100644 --- a/package/musl/musl.mk +++ b/package/musl/musl.mk @@ -13,10 +13,12 @@ MUSL_LICENSE_FILES = COPYRIGHT # cross-compiler and the kernel headers MUSL_DEPENDENCIES = host-gcc-initial linux-headers -# musl does not provide a sys/queue.h implementation, so add the -# netbsd-queue package that will install a sys/queue.h file in the -# staging directory based on the NetBSD implementation. -MUSL_DEPENDENCIES += netbsd-queue +# musl does not provide an implementation for sys/queue.h or sys/cdefs.h. +# So, add the musl-compat-headers package that will install those files, +# into the staging directory: +# sys/queue.h: header from NetBSD +# sys/cdefs.h: minimalist header bundled in Buildroot +MUSL_DEPENDENCIES += musl-compat-headers # musl is part of the toolchain so disable the toolchain dependency MUSL_ADD_TOOLCHAIN_DEPENDENCY = NO diff --git a/package/ncdu/Config.in b/package/ncdu/Config.in index dac744410..0e4403444 100644 --- a/package/ncdu/Config.in +++ b/package/ncdu/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_NCDU bool "ncdu" + depends on BR2_USE_MMU # system() select BR2_PACKAGE_NCURSES help ncdu is a disk usage analyzer with an ncurses interface diff --git a/package/ncurses/0003-recognise-uclinux.patch b/package/ncurses/0003-recognise-uclinux.patch new file mode 100644 index 000000000..e86546cc5 --- /dev/null +++ b/package/ncurses/0003-recognise-uclinux.patch @@ -0,0 +1,30 @@ +aclocal: fix detection for uclinux hosts + +uclinux is just a linux like the others... + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +diff -durN ncurses-5.9.orig/aclocal.m4 ncurses-5.9/aclocal.m4 +--- ncurses-5.9.orig/aclocal.m4 2011-04-01 01:35:38.000000000 +0200 ++++ ncurses-5.9/aclocal.m4 2016-08-21 15:24:47.003620029 +0200 +@@ -6531,7 +6531,7 @@ + irix[[56]].*) #(vi + cf_xopen_source="-D_SGI_SOURCE" + ;; +-linux*|gnu*|mint*|k*bsd*-gnu) #(vi ++linux*|uclinux*|gnu*|mint*|k*bsd*-gnu) #(vi + CF_GNU_SOURCE + ;; + mirbsd*) #(vi +diff -durN ncurses-5.9.orig/configure ncurses-5.9/configure +--- ncurses-5.9.orig/configure 2016-08-21 15:21:50.789285661 +0200 ++++ ncurses-5.9/configure 2016-08-21 15:24:35.187463625 +0200 +@@ -6984,7 +6984,7 @@ + irix[56].*) #(vi + cf_xopen_source="-D_SGI_SOURCE" + ;; +-linux*|gnu*|mint*|k*bsd*-gnu) #(vi ++linux*|uclinux*|gnu*|mint*|k*bsd*-gnu) #(vi + + echo "$as_me:6996: checking if we must define _GNU_SOURCE" >&5 + echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6 diff --git a/package/neon/neon.mk b/package/neon/neon.mk index 0cff1a26f..13d80844c 100644 --- a/package/neon/neon.mk +++ b/package/neon/neon.mk @@ -28,7 +28,7 @@ NEON_CONF_OPTS += --without-ssl endif ifeq ($(BR2_PACKAGE_NEON_EXPAT),y) -NEON_CONF_OPTS += --with-expat=$(STAGING_DIR)/usr/lib/libexpat.la +NEON_CONF_OPTS += --with-expat=yes NEON_DEPENDENCIES += expat else NEON_CONF_OPTS += --with-expat=no diff --git a/package/netbsd-queue/Config.in b/package/netbsd-queue/Config.in deleted file mode 100644 index 7837f4cd7..000000000 --- a/package/netbsd-queue/Config.in +++ /dev/null @@ -1,2 +0,0 @@ -config BR2_PACKAGE_NETBSD_QUEUE - bool diff --git a/package/netbsd-queue/netbsd-queue.mk b/package/netbsd-queue/netbsd-queue.mk deleted file mode 100644 index 5fd926bba..000000000 --- a/package/netbsd-queue/netbsd-queue.mk +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# -# netbsd-queue -# -################################################################################ - -NETBSD_QUEUE_VERSION = 1.70 -NETBSD_QUEUE_SITE = http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/sys -NETBSD_QUEUE_SOURCE = queue.h?rev=$(NETBSD_QUEUE_VERSION) -NETBSD_QUEUE_LICENSE = BSD-3c - -NETBSD_QUEUE_ADD_TOOLCHAIN_DEPENDENCY = NO -NETBSD_QUEUE_INSTALL_STAGING = YES - -define NETBSD_QUEUE_EXTRACT_CMDS - cp $(DL_DIR)/$(NETBSD_QUEUE_SOURCE) $(@D)/queue.h -endef - -define NETBSD_QUEUE_INSTALL_STAGING_CMDS - $(INSTALL) -D -m 0644 $(@D)/queue.h \ - $(STAGING_DIR)/usr/include/sys/queue.h -endef - -$(eval $(generic-package)) diff --git a/package/netplug/0002-add-missing-time-include.patch b/package/netplug/0002-add-missing-time-include.patch new file mode 100644 index 000000000..f204c9243 --- /dev/null +++ b/package/netplug/0002-add-missing-time-include.patch @@ -0,0 +1,20 @@ +Add missing <time.h> include + +netplug.h uses time_t, so it must include <time.h>. This fixes a build +issue with the musl C library. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Index: b/netplug.h +=================================================================== +--- a/netplug.h ++++ b/netplug.h +@@ -20,7 +20,7 @@ + #ifndef __netplug_h + #define __netplug_h + +- ++#include <time.h> + #include <asm/types.h> + #include <sys/socket.h> + #include <linux/netlink.h> diff --git a/package/netplug/0003-remove-assert-fail.patch b/package/netplug/0003-remove-assert-fail.patch new file mode 100644 index 000000000..635c462a5 --- /dev/null +++ b/package/netplug/0003-remove-assert-fail.patch @@ -0,0 +1,51 @@ +Remove __assert_fail() + +The netplug code uses the assert() macro in various places. In glibc +internally, assert() uses a function called __assert_fail() to print a +message and abort. Relying on internal glibc details, netplug +re-defines __assert_fail() in the hope that it will get called instead +of glibc internal version. + +This attempt: + + * Doesn't work with uClibc, which doesn't use any __assert_fail() + function at all. It doesn't fail to build, but it is entirely + useless. + + * Fails to build with musl, which also defines __assert_fail(), but + with a different prototype. + +We simply remove the __assert_fail() implementation, so that the C +library implementation of assert() just does its normal work. The only +functionality lost is that the message is displayed on the standard +output rather than in netplug's logs (and this was only working with +glibc anyway). + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Index: b/lib.c +=================================================================== +--- a/lib.c ++++ b/lib.c +@@ -199,21 +199,6 @@ + return x; + } + +- +-void +-__assert_fail(const char *assertion, const char *file, +- unsigned int line, const char *function) +-{ +- do_log(LOG_CRIT, "%s:%u: %s%sAssertion `%s' failed", +- file, line, +- function ? function : "", +- function ? ": " : "", +- assertion); +- +- abort(); +-} +- +- + /* + * Local variables: + * c-file-style: "stroustrup" diff --git a/package/nettle/0002-fix-CVE-2016-6489.patch b/package/nettle/0002-fix-CVE-2016-6489.patch new file mode 100644 index 000000000..8c99ff72f --- /dev/null +++ b/package/nettle/0002-fix-CVE-2016-6489.patch @@ -0,0 +1,181 @@ +From 6450224f3e3c78fdfa37eadbe6ada8301279f6c1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> +Date: Mon, 20 Jun 2016 20:04:56 +0200 +Subject: Use mpz_powm_sec. +Subject: Check for invalid keys, with even p, in dsa_sign. +Subject: Reject invalid keys, with even moduli, in rsa_compute_root_tr. +Subject: Reject invalid RSA keys with even modulo. + +Patch status: upstream + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +diff --git a/bignum.h b/bignum.h +index 24158e0..0d30534 100644 +--- a/bignum.h ++++ b/bignum.h +@@ -53,6 +53,8 @@ + # define mpz_combit mpz_combit + # define mpz_import mpz_import + # define mpz_export mpz_export ++/* Side-channel silent powm not available in mini-gmp. */ ++# define mpz_powm_sec mpz_powm + #else + # include <gmp.h> + #endif +diff --git a/configure.ac b/configure.ac +index e1ee64c..1e88477 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -236,9 +236,9 @@ fi + # Checks for libraries + if test "x$enable_public_key" = "xyes" ; then + if test "x$enable_mini_gmp" = "xno" ; then +- AC_CHECK_LIB(gmp, __gmpz_getlimbn,, ++ AC_CHECK_LIB(gmp, __gmpz_powm_sec,, + [AC_MSG_WARN( +- [GNU MP not found, or not 3.1 or up, see http://gmplib.org/. ++ [GNU MP not found, or too old. GMP-5.0 or later is needed, see http://gmplib.org/. + Support for public key algorithms will be unavailable.])] + enable_public_key=no) + +diff --git a/dsa-sign.c b/dsa-sign.c +index 62c7d4a..b713743 100644 +--- a/dsa-sign.c ++++ b/dsa-sign.c +@@ -56,6 +56,11 @@ dsa_sign(const struct dsa_params *params, + mpz_t tmp; + int res; + ++ /* Check that p is odd, so that invalid keys don't result in a crash ++ inside mpz_powm_sec. */ ++ if (mpz_even_p (params->p)) ++ return 0; ++ + /* Select k, 0<k<q, randomly */ + mpz_init_set(tmp, params->q); + mpz_sub_ui(tmp, tmp, 1); +@@ -65,7 +70,7 @@ dsa_sign(const struct dsa_params *params, + mpz_add_ui(k, k, 1); + + /* Compute r = (g^k (mod p)) (mod q) */ +- mpz_powm(tmp, params->g, k, params->p); ++ mpz_powm_sec(tmp, params->g, k, params->p); + mpz_fdiv_r(signature->r, tmp, params->q); + + /* Compute hash */ +diff --git a/rsa-blind.c b/rsa-blind.c +index 7662f50..16b03d7 100644 +--- a/rsa-blind.c ++++ b/rsa-blind.c +@@ -61,7 +61,7 @@ _rsa_blind (const struct rsa_public_key *pub, + while (!mpz_invert (ri, r, pub->n)); + + /* c = c*(r^e) mod n */ +- mpz_powm(r, r, pub->e, pub->n); ++ mpz_powm_sec(r, r, pub->e, pub->n); + mpz_mul(c, c, r); + mpz_fdiv_r(c, c, pub->n); + +diff --git a/rsa-sign-tr.c b/rsa-sign-tr.c +index 3d80ed4..8542cae 100644 +--- a/rsa-sign-tr.c ++++ b/rsa-sign-tr.c +@@ -60,7 +60,7 @@ rsa_blind (const struct rsa_public_key *pub, + while (!mpz_invert (ri, r, pub->n)); + + /* c = c*(r^e) mod n */ +- mpz_powm(r, r, pub->e, pub->n); ++ mpz_powm_sec(r, r, pub->e, pub->n); + mpz_mul(c, m, r); + mpz_fdiv_r(c, c, pub->n); + +@@ -88,6 +88,14 @@ rsa_compute_root_tr(const struct rsa_public_key *pub, + int res; + mpz_t t, mb, xb, ri; + ++ /* mpz_powm_sec handles only odd moduli. If p, q or n is even, the ++ key is invalid and rejected by rsa_private_key_prepare. However, ++ some applications, notably gnutls, don't use this function, and ++ we don't want an invalid key to lead to a crash down inside ++ mpz_powm_sec. So do an additional check here. */ ++ if (mpz_even_p (pub->n) || mpz_even_p (key->p) || mpz_even_p (key->q)) ++ return 0; ++ + mpz_init (mb); + mpz_init (xb); + mpz_init (ri); +@@ -97,7 +105,7 @@ rsa_compute_root_tr(const struct rsa_public_key *pub, + + rsa_compute_root (key, xb, mb); + +- mpz_powm(t, xb, pub->e, pub->n); ++ mpz_powm_sec(t, xb, pub->e, pub->n); + res = (mpz_cmp(mb, t) == 0); + + if (res) +diff --git a/rsa-sign.c b/rsa-sign.c +index eba7388..4832352 100644 +--- a/rsa-sign.c ++++ b/rsa-sign.c +@@ -96,11 +96,11 @@ rsa_compute_root(const struct rsa_private_key *key, + + /* Compute xq = m^d % q = (m%q)^b % q */ + mpz_fdiv_r(xq, m, key->q); +- mpz_powm(xq, xq, key->b, key->q); ++ mpz_powm_sec(xq, xq, key->b, key->q); + + /* Compute xp = m^d % p = (m%p)^a % p */ + mpz_fdiv_r(xp, m, key->p); +- mpz_powm(xp, xp, key->a, key->p); ++ mpz_powm_sec(xp, xp, key->a, key->p); + + /* Set xp' = (xp - xq) c % p. */ + mpz_sub(xp, xp, xq); +diff --git a/rsa.c b/rsa.c +index 19d93de..f594140 100644 +--- a/rsa.c ++++ b/rsa.c +@@ -58,13 +58,18 @@ rsa_public_key_clear(struct rsa_public_key *key) + } + + /* Computes the size, in octets, of a the modulo. Returns 0 if the +- * modulo is too small to be useful. */ +- ++ * modulo is too small to be useful, or otherwise appears invalid. */ + size_t + _rsa_check_size(mpz_t n) + { + /* Round upwards */ +- size_t size = (mpz_sizeinbase(n, 2) + 7) / 8; ++ size_t size; ++ ++ /* Even moduli are invalid, and not supported by mpz_powm_sec. */ ++ if (mpz_even_p (n)) ++ return 0; ++ ++ size = (mpz_sizeinbase(n, 2) + 7) / 8; + + if (size < RSA_MINIMUM_N_OCTETS) + return 0; +diff --git a/testsuite/rsa-test.c b/testsuite/rsa-test.c +index e9b1c03..a429664 100644 +--- a/testsuite/rsa-test.c ++++ b/testsuite/rsa-test.c +@@ -57,6 +57,13 @@ test_main(void) + + test_rsa_sha512(&pub, &key, expected); + ++ /* Test detection of invalid keys with even modulo */ ++ mpz_clrbit (pub.n, 0); ++ ASSERT (!rsa_public_key_prepare (&pub)); ++ ++ mpz_clrbit (key.p, 0); ++ ASSERT (!rsa_private_key_prepare (&key)); ++ + /* 777-bit key, generated by + * + * lsh-keygen -a rsa -l 777 -f advanced-hex +-- +2.7.3 + diff --git a/package/nettle/nettle.mk b/package/nettle/nettle.mk index a94a7fc3d..0fbe57b85 100644 --- a/package/nettle/nettle.mk +++ b/package/nettle/nettle.mk @@ -13,6 +13,8 @@ NETTLE_LICENSE_FILES = COPYING.LESSERv3 COPYINGv2 # don't include openssl support for (unused) examples as it has problems # with static linking NETTLE_CONF_OPTS = --disable-openssl +# For 0002-fix-CVE-2016-6489.patch +NETTLE_AUTORECONF = YES # ARM assembly requires v6+ ISA ifeq ($(BR2_ARM_CPU_ARMV4)$(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV7M),y) diff --git a/package/nodm/Config.in b/package/nodm/Config.in index b8629a275..97ce8c39c 100644 --- a/package/nodm/Config.in +++ b/package/nodm/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_NODM depends on !BR2_STATIC_LIBS # linux-pam depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam depends on !BR2_TOOLCHAIN_USES_UCLIBC # needs wordexp.h + depends on BR2_USE_MMU # linux-pam select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_LINUX_PAM help diff --git a/package/norm/0003-remove-kernel-headers-include-musl-fix.patch b/package/norm/0003-remove-kernel-headers-include-musl-fix.patch new file mode 100644 index 000000000..7581c10b7 --- /dev/null +++ b/package/norm/0003-remove-kernel-headers-include-musl-fix.patch @@ -0,0 +1,55 @@ +Remove kernel header includes causing issues with musl + +Include the kernel headers from netfilter causes a conflict with the +<netinet/in.h> way of defining the IPPROTO_* constants, resulting in +the following build failure: + +In file included from /home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/netdb.h:9:0, + from /home/peko/autobuild/instance-0/output/build/norm-1.5r6/protolib/include/protoAddress.h:13, + from /home/peko/autobuild/instance-0/output/build/norm-1.5r6/protolib/include/protoDetour.h:5, + from ../protolib/src/linux/linuxDetour.cpp:3: +/home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/in.h:28:3: error: expected identifier before numeric constant + IPPROTO_IP = 0, /* Dummy protocol for TCP */ + ^ +/home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/in.h:28:3: error: expected '}' before numeric constant +/home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/in.h:28:3: error: expected unqualified-id before numeric constant +In file included from /home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/netfilter.h:7:0, + from /home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/netfilter_ipv4.h:8, + from ../protolib/src/linux/linuxDetour.cpp:10: +/home/peko/autobuild/instance-0/output/host/usr/arm-buildroot-linux-musleabihf/sysroot/usr/include/linux/in.h:79:1: error: expected declaration before '}' token + }; + ^ + +Since from musl's developers perspective including kernel headers is +seen as being unsafe, we simply duplicate the necessary netfilter +definitions (there are just a few) instead of including some kernel +headers. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Index: b/protolib/src/linux/linuxDetour.cpp +=================================================================== +--- a/protolib/src/linux/linuxDetour.cpp ++++ b/protolib/src/linux/linuxDetour.cpp +@@ -7,15 +7,18 @@ + #include <stdlib.h> // for atoi(), getenv() + #include <stdio.h> + #include <unistd.h> // for close() +-#include <linux/netfilter_ipv4.h> // for NF_IP_LOCAL_OUT, etc +-#include <linux/netfilter_ipv6.h> // for NF_IP6_LOCAL_OUT, etc +-#include <linux/netfilter.h> // for NF_ACCEPT, etc + #include <libnetfilter_queue/libnetfilter_queue.h> + + #include <fcntl.h> // for fcntl(), etc + #include <linux/if_ether.h> // for ETH_P_IP + #include <net/if_arp.h> // for ARPHRD_ETHER + ++/* From netfilter kernel headers */ ++#define NF_IP_LOCAL_OUT 3 ++ ++#define NF_DROP 0 ++#define NF_ACCEPT 1 ++ + /** NOTES: + * + * 1) This newer implementation of LinuxDetour uses netfilter_queue diff --git a/package/ntfs-3g/0001-libfuse-util-include-paths.h-when-needed.patch b/package/ntfs-3g/0001-libfuse-util-include-paths.h-when-needed.patch new file mode 100644 index 000000000..1765f68c8 --- /dev/null +++ b/package/ntfs-3g/0001-libfuse-util-include-paths.h-when-needed.patch @@ -0,0 +1,43 @@ +From da021ed297ff7a69f3b7532ef68a9b6877a55265 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Sat, 20 Aug 2016 11:05:27 +0200 +Subject: [PATCH] libfuse-util: include <paths.h> when needed + +Both fusermount.c and mount_util.c use _PATH_MOUNTED, so they should +include <paths.h>, which provides this definition. + +This fixes the build with the musl C library. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + libfuse-lite/fusermount.c | 1 + + libfuse-lite/mount_util.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/libfuse-lite/fusermount.c b/libfuse-lite/fusermount.c +index 4e724db..680fee1 100644 +--- a/libfuse-lite/fusermount.c ++++ b/libfuse-lite/fusermount.c +@@ -19,6 +19,7 @@ + #include <errno.h> + #include <fcntl.h> + #include <pwd.h> ++#include <paths.h> + + #ifdef __SOLARIS__ + #include <sys/mnttab.h> +diff --git a/libfuse-lite/mount_util.c b/libfuse-lite/mount_util.c +index 8ea5e08..8b31722 100644 +--- a/libfuse-lite/mount_util.c ++++ b/libfuse-lite/mount_util.c +@@ -15,6 +15,7 @@ + #include <dirent.h> + #include <errno.h> + #include <limits.h> ++#include <paths.h> + #include <sys/stat.h> + #include <sys/wait.h> + #ifdef __SOLARIS__ +-- +2.7.4 + diff --git a/package/ntp/ntp.mk b/package/ntp/ntp.mk index 7d203a5e3..0b6304b10 100644 --- a/package/ntp/ntp.mk +++ b/package/ntp/ntp.mk @@ -15,6 +15,7 @@ NTP_CONF_OPTS = \ --with-shared \ --program-transform-name=s,,, \ --disable-tickadj \ + --disable-debugging \ --with-yielding-select=yes \ --disable-local-libevent # 0002-ntp-syscalls-fallback.patch diff --git a/package/openblas/0002-Makefile.arm-remove-march-flags.patch b/package/openblas/0002-Makefile.arm-remove-march-flags.patch new file mode 100644 index 000000000..39058f7df --- /dev/null +++ b/package/openblas/0002-Makefile.arm-remove-march-flags.patch @@ -0,0 +1,73 @@ +From 71b9e9b7f080c464777d07bd1a917a1c449d2ef8 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Sun, 7 Aug 2016 23:20:00 +0200 +Subject: [PATCH] Makefile.arm: remove -march flags + +The provided -march flags, especially for ARMv5 and ARMv6 may not +necessarily match the needed ones: for ARMv5, it might be armv5, +armv5te, armv5t, etc. If the wrong one is used, the incorrect toolchain +sysroot can be used in a multilib toolchain. + +Therefore, let the user building OpenBLAS pass the appropriate -march +flag. + +The other flags, such as -mfpu=vfp or -mfloat-abi=hard are kept, as they +are actually required for the build to proceed (OpenBLAS uses VFP +instructions, and assume an EABIhf ABI). + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + Makefile.arm | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +diff --git a/Makefile.arm b/Makefile.arm +index 62bf275..c0d6ab8 100644 +--- a/Makefile.arm ++++ b/Makefile.arm +@@ -1,31 +1,31 @@ + # ifeq logical or + ifeq ($(CORE), $(filter $(CORE),CORTEXA9 CORTEXA15)) + ifeq ($(OSNAME), Android) +-CCOMMON_OPT += -marm -mfpu=neon -mfloat-abi=hard -march=armv7-a +-FCOMMON_OPT += -marm -mfpu=neon -mfloat-abi=hard -march=armv7-a ++CCOMMON_OPT += -marm -mfpu=neon -mfloat-abi=hard ++FCOMMON_OPT += -marm -mfpu=neon -mfloat-abi=hard + else +-CCOMMON_OPT += -marm -mfpu=vfpv3 -mfloat-abi=hard -march=armv7-a +-FCOMMON_OPT += -marm -mfpu=vfpv3 -mfloat-abi=hard -march=armv7-a ++CCOMMON_OPT += -marm -mfpu=vfpv3 -mfloat-abi=hard ++FCOMMON_OPT += -marm -mfpu=vfpv3 -mfloat-abi=hard + endif + endif + + ifeq ($(CORE), ARMV7) + ifeq ($(OSNAME), Android) +-CCOMMON_OPT += -marm -mfpu=neon -mfloat-abi=hard -march=armv7-a -Wl,--no-warn-mismatch +-FCOMMON_OPT += -marm -mfpu=neon -mfloat-abi=hard -march=armv7-a -Wl,--no-warn-mismatch ++CCOMMON_OPT += -marm -mfpu=neon -mfloat-abi=hard -Wl,--no-warn-mismatch ++FCOMMON_OPT += -marm -mfpu=neon -mfloat-abi=hard -Wl,--no-warn-mismatch + else +-CCOMMON_OPT += -marm -mfpu=vfpv3 -mfloat-abi=hard -march=armv7-a +-FCOMMON_OPT += -marm -mfpu=vfpv3 -mfloat-abi=hard -march=armv7-a ++CCOMMON_OPT += -marm -mfpu=vfpv3 -mfloat-abi=hard ++FCOMMON_OPT += -marm -mfpu=vfpv3 -mfloat-abi=hard + endif + endif + + ifeq ($(CORE), ARMV6) +-CCOMMON_OPT += -marm -mfpu=vfp -mfloat-abi=hard -march=armv6 +-FCOMMON_OPT += -marm -mfpu=vfp -mfloat-abi=hard -march=armv6 ++CCOMMON_OPT += -marm -mfpu=vfp -mfloat-abi=hard ++FCOMMON_OPT += -marm -mfpu=vfp -mfloat-abi=hard + endif + + + ifeq ($(CORE), ARMV5) +-CCOMMON_OPT += -marm -march=armv5 +-FCOMMON_OPT += -marm -march=armv5 ++CCOMMON_OPT += -marm ++FCOMMON_OPT += -marm + endif +-- +2.7.4 + diff --git a/package/openblas/Config.in b/package/openblas/Config.in index 51afaec3c..0609a91e5 100644 --- a/package/openblas/Config.in +++ b/package/openblas/Config.in @@ -26,15 +26,28 @@ config BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET default "PPC970" if BR2_powerpc_970 default "PPC440" if BR2_powerpc_440 default "PPC440FP2" if BR2_powerpc_440fp - default "P5600" if BR2_mips_32r2 + # P5600 is built with MSA support which is only available in Codescape toolchains + default "P5600" if BR2_mips_32r2 && BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS default "SICORTEX" if BR2_mips_64 - default "I6400" if BR2_mips_64r6 + # I6400 is built with MSA support which is only available in Codescape toolchains + default "I6400" if BR2_mips_64r6 && BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS default "SPARC" if BR2_sparc - default "CORTEXA15" if BR2_cortex_a15 - default "CORTEXA9" if BR2_cortex_a9 + # Cortex-A15 always have a VFPv4 + default "CORTEXA15" if (BR2_cortex_a15 && BR2_ARM_EABIHF) + # Cortex-A9 have an optional VFPv3, so we need to make sure it + # is available + default "CORTEXA9" if (BR2_cortex_a9 && BR2_ARM_EABIHF && \ + BR2_ARM_CPU_HAS_VFPV3) default "ARMV5" if BR2_ARM_CPU_ARMV5 - default "ARMV6" if BR2_ARM_CPU_ARMV6 - default "ARMV7" if BR2_ARM_CPU_ARMV7A + # On ARMv6, OpenBLAS assumes that a VFP is available, and + # EABIhf is used + default "ARMV6" if (BR2_ARM_CPU_ARMV6 && BR2_ARM_EABIHF && \ + BR2_ARM_CPU_HAS_VFPV2) + # On ARMv7, OpenBLAS assumes that a full VFPv3+ is available + # (and not the more limited D16 variant), and that EABIhf is + # used. + default "ARMV7" if (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF && \ + BR2_ARM_CPU_HAS_VFPV3) default "ARMV8" if BR2_aarch64 || BR2_aarch64_be help OpenBLAS target CPU. See TargetList.txt in the source tree for diff --git a/package/openblas/openblas.mk b/package/openblas/openblas.mk index baeef0529..9583e0ea2 100644 --- a/package/openblas/openblas.mk +++ b/package/openblas/openblas.mk @@ -38,6 +38,19 @@ else ifeq ($(BR2_SHARED_LIBS),y) OPENBLAS_MAKE_OPTS += NO_STATIC=1 endif +# binutils version <= 2.23.2 has a bug +# (https://sourceware.org/bugzilla/show_bug.cgi?id=14887) where +# whitespaces in ARM register specifications such as [ r1, #12 ] or [ +# r2 ] cause the assembler to reject the code. Since there are +# numerous instances of such cases in the code, we use sed rather than +# a patch. We simply replace [ foobar ] by [foobar] to work around the +# problem. +define OPENBLAS_FIXUP_ARM_ASSEMBLY + $(SED) 's%\[\s*%\[%;s%\s*\]%\]%' $(@D)/kernel/arm/*.S +endef + +OPENBLAS_POST_PATCH_HOOKS += OPENBLAS_FIXUP_ARM_ASSEMBLY + define OPENBLAS_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(OPENBLAS_MAKE_OPTS) \ -C $(@D) diff --git a/package/openipmi/Config.in b/package/openipmi/Config.in index da886578f..d8c94b307 100644 --- a/package/openipmi/Config.in +++ b/package/openipmi/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_OPENIPMI bool "openipmi" depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS # dlopen() - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_PACKAGE_POPT select BR2_PACKAGE_NCURSES help @@ -13,6 +13,6 @@ config BR2_PACKAGE_OPENIPMI http://openipmi.sourceforge.net -comment "openipmi needs a toolchain w/ dynamic library, threads" +comment "openipmi needs a toolchain w/ dynamic library, NPTL" depends on BR2_USE_MMU - depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL diff --git a/package/openmpi/Config.in b/package/openmpi/Config.in index 9638040f3..4413c55f9 100644 --- a/package/openmpi/Config.in +++ b/package/openmpi/Config.in @@ -1,5 +1,6 @@ comment "openmpi needs a toolchain w/ dynamic library, NPTL, wchar, C++" depends on BR2_USE_MMU + depends on !BR2_sparc depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ || !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP @@ -10,6 +11,9 @@ config BR2_PACKAGE_OPENMPI depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS # dlfcn.h + # from the configure script: "Sparc v8 target is not supported + # in this release of Open MPI" + depends on !BR2_sparc help A High Performance Message Passing Library. diff --git a/package/openswan/Config.in b/package/openswan/Config.in index 0370143ed..ba5d53df7 100644 --- a/package/openswan/Config.in +++ b/package/openswan/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_OPENSWAN bool "openswan" depends on BR2_USE_MMU # iproute2 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # iproute2 + depends on !BR2_TOOLCHAIN_USES_MUSL # GLOB_BRACE select BR2_PACKAGE_GMP select BR2_PACKAGE_IPROUTE2 help @@ -9,6 +10,7 @@ config BR2_PACKAGE_OPENSWAN http://www.openswan.org -comment "openswan needs a toolchain w/ headers >= 3.0" +comment "openswan needs a uClibc or glibc toolchain toolchain w/ headers >= 3.0" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || \ + BR2_TOOLCHAIN_USES_MUSL diff --git a/package/owfs/owfs.mk b/package/owfs/owfs.mk index 0092603fb..83614afc7 100644 --- a/package/owfs/owfs.mk +++ b/package/owfs/owfs.mk @@ -17,6 +17,10 @@ OWFS_LICENSE = GPLv2+, LGPLv2 (owtcl) OWFS_LICENSE_FILES = COPYING COPYING.LIB OWFS_INSTALL_STAGING = YES +# owfs PHP support is not PHP 7 compliant +# https://sourceforge.net/p/owfs/support-requests/32/ +OWFS_CONF_OPTS += --disable-owphp --without-php + ifeq ($(BR2_PACKAGE_LIBFUSE),y) OWFS_DEPENDENCIES += libfuse OWFS_CONF_OPTS += \ @@ -49,13 +53,6 @@ else OWFS_CONF_OPTS += --disable-avahi endif -ifeq ($(BR2_PACKAGE_PHP),y) -OWFS_CONF_OPTS += --enable-owphp --with-php --with-phpconfig=$(STAGING_DIR)/usr/bin/php-config -OWFS_DEPENDENCIES += php host-swig -else -OWFS_CONF_OPTS += --disable-owphp --without-php -endif - # setup.py isn't python3 compliant ifeq ($(BR2_PACKAGE_PYTHON),y) OWFS_CONF_OPTS += \ diff --git a/package/php/0001-ditch-unset.patch b/package/php/0001-acinclude.m4-don-t-unset-variables.patch index eda83c95a..d507775b8 100644 --- a/package/php/0001-ditch-unset.patch +++ b/package/php/0001-acinclude.m4-don-t-unset-variables.patch @@ -1,12 +1,21 @@ +From 7a4168062fbab2e33ef9a42bca9f87a5921afac2 Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias <gustavo@zacarias.com.ar> +Date: Tue, 9 Aug 2016 11:49:56 +0200 +Subject: [PATCH] acinclude.m4: don't unset variables + Unsetting ac_cv_{func,lib}_* is bad, you can't feed the configure cache. Terminate them with extreme prejudice. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> +--- + acinclude.m4 | 4 ---- + 1 file changed, 4 deletions(-) -diff -Nura php-5.6.8.orig/acinclude.m4 php-5.6.8/acinclude.m4 ---- php-5.6.8.orig/acinclude.m4 2015-04-15 20:05:57.000000000 +0200 -+++ php-5.6.8/acinclude.m4 2015-05-18 20:03:50.833099001 +0200 -@@ -1897,8 +1897,6 @@ +diff --git a/acinclude.m4 b/acinclude.m4 +index 28506b6..af4aa06 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -1898,8 +1898,6 @@ define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,])) dnl AC_DEFUN([PHP_CHECK_FUNC_LIB],[ ifelse($2,,:,[ @@ -15,7 +24,7 @@ diff -Nura php-5.6.8.orig/acinclude.m4 php-5.6.8/acinclude.m4 unset found AC_CHECK_LIB($2, $1, [found=yes], [ AC_CHECK_LIB($2, __$1, [found=yes], [found=no]) -@@ -1930,8 +1928,6 @@ +@@ -1931,8 +1929,6 @@ dnl in the default libraries and as a fall back in the specified library. dnl Defines HAVE_func and HAVE_library if found and adds the library to LIBS. dnl AC_DEFUN([PHP_CHECK_FUNC],[ @@ -24,3 +33,6 @@ diff -Nura php-5.6.8.orig/acinclude.m4 php-5.6.8/acinclude.m4 unset found AC_CHECK_FUNC($1, [found=yes],[ AC_CHECK_FUNC(__$1,[found=yes],[found=no]) ]) +-- +2.7.4 + diff --git a/package/php/0002-no-iconv-search.patch b/package/php/0002-iconv-tweak-iconv-detection.patch index 32aa7f5f8..a34664930 100644 --- a/package/php/0002-no-iconv-search.patch +++ b/package/php/0002-iconv-tweak-iconv-detection.patch @@ -1,3 +1,8 @@ +From 1357df0196806d5697b1f84497ef72aab5faa8a3 Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias <gustavo@zacarias.com.ar> +Date: Tue, 9 Aug 2016 11:50:49 +0200 +Subject: [PATCH] iconv: tweak iconv detection + Tweak PHP_SETUP_ICONV from aclocal/acinclude.m4 to not PHP_ADD_INCLUDE $ICONV_DIR/include since the tests use test instead of AC_TRY_LINK to find headers which is bad, @@ -8,11 +13,16 @@ PHP_ICONV_H_PATH which, again, uses test and absolute paths. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> [Gustavo: convert to nice m4 instead of patching configure] [Gustavo: update for 5.6.10] +--- + acinclude.m4 | 2 +- + ext/iconv/config.m4 | 22 ---------------------- + 2 files changed, 1 insertion(+), 23 deletions(-) -diff -Nura php-5.6.10.orig/acinclude.m4 php-5.6.10/acinclude.m4 ---- php-5.6.10.orig/acinclude.m4 2015-06-12 16:09:06.274355813 -0300 -+++ php-5.6.10/acinclude.m4 2015-06-12 16:10:10.884544865 -0300 -@@ -2474,7 +2474,7 @@ +diff --git a/acinclude.m4 b/acinclude.m4 +index af4aa06..1bd2652 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -2471,7 +2471,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [ dnl if test "$found_iconv" = "no"; then @@ -21,10 +31,11 @@ diff -Nura php-5.6.10.orig/acinclude.m4 php-5.6.10/acinclude.m4 if test -r $i/include/giconv.h; then AC_DEFINE(HAVE_GICONV_H, 1, [ ]) ICONV_DIR=$i -diff -Nura php-5.6.10.orig/ext/iconv/config.m4 php-5.6.10/ext/iconv/config.m4 ---- php-5.6.10.orig/ext/iconv/config.m4 2015-06-12 16:09:07.792407246 -0300 -+++ php-5.6.10/ext/iconv/config.m4 2015-06-12 16:11:07.752471600 -0300 -@@ -14,28 +14,6 @@ +diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4 +index 6a05697..694fcb8 100644 +--- a/ext/iconv/config.m4 ++++ b/ext/iconv/config.m4 +@@ -14,28 +14,6 @@ if test "$PHP_ICONV" != "no"; then ]) if test "$iconv_avail" != "no"; then @@ -53,3 +64,6 @@ diff -Nura php-5.6.10.orig/ext/iconv/config.m4 php-5.6.10/ext/iconv/config.m4 AC_MSG_CHECKING([if iconv is glibc's]) AC_TRY_LINK([#include <gnu/libc-version.h>],[gnu_get_libc_version();], +-- +2.7.4 + diff --git a/package/php/0003-disable-pharcmd.patch b/package/php/0003-configure-disable-the-phar-tool.patch index bfcc95634..3b64b7b6b 100644 --- a/package/php/0003-disable-pharcmd.patch +++ b/package/php/0003-configure-disable-the-phar-tool.patch @@ -1,3 +1,8 @@ +From 5ba6355e489f647c88ca48afbc75965468193181 Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias <gustavo@zacarias.com.ar> +Date: Tue, 9 Aug 2016 11:51:53 +0200 +Subject: [PATCH] configure: disable the 'phar' tool + Disable the 'phar' command-line tool build/installation since it requires php to run and pack up phar itself in phar format. This would require a host-php instance and really probably nobody needs the phar tool @@ -5,13 +10,17 @@ on the target. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> [Gustavo: update for autoreconf/configure.in] +--- + configure.in | 9 ++------- + 1 file changed, 2 insertions(+), 7 deletions(-) -diff -Nura php-5.6.7.orig/configure.in php-5.6.7/configure.in ---- php-5.6.7.orig/configure.in 2015-04-08 11:08:10.815835010 -0300 -+++ php-5.6.7/configure.in 2015-04-08 11:16:20.460467444 -0300 -@@ -1437,13 +1437,8 @@ +diff --git a/configure.in b/configure.in +index 25c8abf..4dc8a09 100644 +--- a/configure.in ++++ b/configure.in +@@ -1445,13 +1445,8 @@ CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag" INLINE_CFLAGS="$INLINE_CFLAGS $standard_libtool_flag" - CXXFLAGS="$CXXFLAGS $standard_libtool_flag" + CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)" -if test "$PHP_PHAR" != "no" && test "$PHP_CLI" != "no"; then - pharcmd=pharcmd @@ -25,3 +34,6 @@ diff -Nura php-5.6.7.orig/configure.in php-5.6.7/configure.in all_targets="$lcov_target \$(OVERALL_TARGET) \$(PHP_MODULES) \$(PHP_ZEND_EX) \$(PHP_BINARIES) $pharcmd" install_targets="$install_sapi $install_modules $install_binaries install-build install-headers install-programs $install_pear $pharcmd_install" +-- +2.7.4 + diff --git a/package/php/0004-flock-type-linux.patch b/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch index a03c2624a..9b530361c 100644 --- a/package/php/0004-flock-type-linux.patch +++ b/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch @@ -1,11 +1,18 @@ -OPcache: flock mechanism is obviously linux so force it. +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> +--- + ext/opcache/config.m4 | 34 ++-------------------------------- + 1 file changed, 2 insertions(+), 32 deletions(-) -diff -Nura php-5.6.7.orig/ext/opcache/config.m4 php-5.6.7/ext/opcache/config.m4 ---- php-5.6.7.orig/ext/opcache/config.m4 2015-04-08 11:08:11.125845540 -0300 -+++ php-5.6.7/ext/opcache/config.m4 2015-04-08 11:57:23.648831436 -0300 -@@ -326,38 +326,8 @@ +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 +@@ -343,38 +343,8 @@ int main() { msg=yes,msg=no,msg=no) AC_MSG_RESULT([$msg]) @@ -44,5 +51,8 @@ diff -Nura php-5.6.7.orig/ext/opcache/config.m4 php-5.6.7/ext/opcache/config.m4 +flock_type=linux +AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type]) - if test "$flock_type" == "unknown"; then + 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/0005-ac-cache-strcasestr.patch b/package/php/0005-ac-cache-strcasestr.patch deleted file mode 100644 index 8a8c5d86f..000000000 --- a/package/php/0005-ac-cache-strcasestr.patch +++ /dev/null @@ -1,24 +0,0 @@ -Allow cache answer for strcasestr discovery. - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> - -diff -Nura php-5.6.7.orig/ext/fileinfo/config.m4 php-5.6.7/ext/fileinfo/config.m4 ---- php-5.6.7.orig/ext/fileinfo/config.m4 2015-04-08 22:19:45.798770792 -0300 -+++ php-5.6.7/ext/fileinfo/config.m4 2015-04-08 22:26:33.110654338 -0300 -@@ -14,6 +14,7 @@ - libmagic/readcdf.c libmagic/softmagic.c" - - AC_MSG_CHECKING([for strcasestr]) -+ AC_CACHE_VAL(ac_cv_func_strcasestr, - AC_TRY_RUN([ - #include <string.h> - #include <strings.h> -@@ -46,7 +47,7 @@ - AC_MSG_RESULT(no) - AC_MSG_NOTICE(using libmagic strcasestr implementation) - libmagic_sources="$libmagic_sources libmagic/strcasestr.c" -- ]) -+ ])) - - PHP_NEW_EXTENSION(fileinfo, fileinfo.c $libmagic_sources, $ext_shared,,-I@ext_srcdir@/libmagic) - PHP_ADD_BUILD_DIR($ext_builddir/libmagic) diff --git a/package/php/0005-ext-fileinfo-config.m4-allow-cache-answer-for-strcas.patch b/package/php/0005-ext-fileinfo-config.m4-allow-cache-answer-for-strcas.patch new file mode 100644 index 000000000..a36c2a3ae --- /dev/null +++ b/package/php/0005-ext-fileinfo-config.m4-allow-cache-answer-for-strcas.patch @@ -0,0 +1,35 @@ +From a874ba472151c6811018de322a5787d0ca6148c9 Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias <gustavo@zacarias.com.ar> +Date: Tue, 9 Aug 2016 11:52:51 +0200 +Subject: [PATCH] ext/fileinfo/config.m4: allow cache answer for strcasestr + discovery + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> +--- + ext/fileinfo/config.m4 | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4 +index 7e98d62..8561962 100644 +--- a/ext/fileinfo/config.m4 ++++ b/ext/fileinfo/config.m4 +@@ -14,6 +14,7 @@ if test "$PHP_FILEINFO" != "no"; then + libmagic/readcdf.c libmagic/softmagic.c" + + AC_MSG_CHECKING([for strcasestr]) ++ AC_CACHE_VAL(ac_cv_func_strcasestr, + AC_TRY_RUN([ + #include <string.h> + #include <strings.h> +@@ -46,7 +47,7 @@ int main(void) + AC_MSG_RESULT(no) + AC_MSG_NOTICE(using libmagic strcasestr implementation) + libmagic_sources="$libmagic_sources libmagic/strcasestr.c" +- ]) ++ ])) + + PHP_NEW_EXTENSION(fileinfo, fileinfo.c $libmagic_sources, $ext_shared,,-I@ext_srcdir@/libmagic) + PHP_ADD_BUILD_DIR($ext_builddir/libmagic) +-- +2.7.4 + diff --git a/package/php/0006-fix-php-fpm.service.in.patch b/package/php/0006-Fix-php-fpm.service.in.patch index a182a2528..68cb50a37 100644 --- a/package/php/0006-fix-php-fpm.service.in.patch +++ b/package/php/0006-Fix-php-fpm.service.in.patch @@ -1,4 +1,4 @@ -From bb19125781c0794da9a63fee62e263ff4efff661 Mon Sep 17 00:00:00 2001 +From 1a8714d0b56e06301b3c261eaef93d897ec5d834 Mon Sep 17 00:00:00 2001 From: Floris Bos <bos@je-eigen-domein.nl> Date: Fri, 1 May 2015 15:28:55 +0200 Subject: [PATCH] Fix php-fpm.service.in @@ -31,5 +31,5 @@ index a2df30e..c135f04 100644 [Install] -- -2.1.4 +2.7.4 diff --git a/package/php/0007-phpdbg_prompt-enclose-phpdbg_load_module_or_extensio.patch b/package/php/0007-phpdbg_prompt-enclose-phpdbg_load_module_or_extensio.patch new file mode 100644 index 000000000..006a03485 --- /dev/null +++ b/package/php/0007-phpdbg_prompt-enclose-phpdbg_load_module_or_extensio.patch @@ -0,0 +1,47 @@ +From 9ca3de0446fcd31b1561b333020ae0674a83bec7 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Tue, 9 Aug 2016 11:39:10 +0200 +Subject: [PATCH] phpdbg_prompt: enclose phpdbg_load_module_or_extension() in + HAVE_LIBDL + +The phpdbg_load_module_or_extension() function relies on libdl +functionality, so it should be enclosed in HAVE_LIBDL to avoid the +following build failure when libdl support is not available: + +php-7.0.9/sapi/phpdbg/phpdbg_prompt.c:(.text+0x1c20): undefined reference to `_DL_LOAD' +php-7.0.9/sapi/phpdbg/phpdbg_prompt.c:(.text+0x1c36): undefined reference to `_GET_DL_ERROR' +php-7.0.9/sapi/phpdbg/phpdbg_prompt.c:(.text+0x1c6a): undefined reference to `_DL_FETCH_SYMBOL' +php-7.0.9/sapi/phpdbg/phpdbg_prompt.c:(.text+0x1c7e): undefined reference to `_DL_FETCH_SYMBOL' +php-7.0.9/sapi/phpdbg/phpdbg_prompt.c:(.text+0x1dc6): undefined reference to `_DL_UNLOAD' + +This function is only called in the "dl" debug command, inside an +HAVE_LIBDL condition. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + sapi/phpdbg/phpdbg_prompt.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/sapi/phpdbg/phpdbg_prompt.c b/sapi/phpdbg/phpdbg_prompt.c +index 6f73d30..6768dc5 100644 +--- a/sapi/phpdbg/phpdbg_prompt.c ++++ b/sapi/phpdbg/phpdbg_prompt.c +@@ -1019,6 +1019,7 @@ static int add_zendext_info(zend_extension *ext) /* {{{ */ { + } + /* }}} */ + ++#ifdef HAVE_LIBDL + PHPDBG_API const char *phpdbg_load_module_or_extension(char **path, char **name) /* {{{ */ { + DL_HANDLE handle; + char *extension_dir; +@@ -1158,6 +1159,7 @@ quit: + DL_UNLOAD(handle); + return NULL; + } ++#endif + /* }}} */ + + PHPDBG_COMMAND(dl) /* {{{ */ +-- +2.7.4 + diff --git a/package/pinentry/pinentry.mk b/package/pinentry/pinentry.mk index 09a7705c2..bcb910a0e 100644 --- a/package/pinentry/pinentry.mk +++ b/package/pinentry/pinentry.mk @@ -14,6 +14,13 @@ PINENTRY_DEPENDENCIES = \ host-pkgconf PINENTRY_CONF_OPTS += --without-libcap # requires PAM +# pinentry uses some std::string functionality that needs C++11 +# support when gcc >= 5.x. This should be removed when bumping +# pinentry, since newer versions no longer use std::string. +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),y) +PINENTRY_CONF_ENV = CXXFLAGS="$(TARGET_CXXFLAGS) -std=gnu++11" +endif + # build with X if available ifeq ($(BR2_PACKAGE_XORG7),y) PINENTRY_CONF_OPTS += --with-x diff --git a/package/pixman/pixman.mk b/package/pixman/pixman.mk index 38524e63c..c797b3e60 100644 --- a/package/pixman/pixman.mk +++ b/package/pixman/pixman.mk @@ -20,6 +20,23 @@ PIXMAN_AUTORECONF = YES # don't build gtk based demos PIXMAN_CONF_OPTS = --disable-gtk +# The ARM SIMD code from pixman requires a recent enough ARM core, but +# there is a runtime CPU check that makes sure it doesn't get used if +# the HW doesn't support it. The only case where the ARM SIMD code +# cannot be *built* at all is when the platform doesn't support ARM +# instructions at all, so we have to disable that explicitly. +ifeq ($(BR2_ARM_CPU_HAS_ARM),y) +PIXMAN_CONF_OPTS += --enable-arm-simd +else +PIXMAN_CONF_OPTS += --disable-arm-simd +endif + +ifeq ($(BR2_ARM_CPU_HAS_ARM)$(BR2_ARM_CPU_HAS_NEON),yy) +PIXMAN_CONF_OPTS += --enable-arm-neon +else +PIXMAN_CONF_OPTS += --disable-arm-neon +endif + # disable iwmmxt support for CPU's that don't have # this feature ifneq ($(BR2_iwmmxt),y) diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk index 75e2df001..d1cdb89fb 100644 --- a/package/pkg-autotools.mk +++ b/package/pkg-autotools.mk @@ -65,14 +65,14 @@ define LIBTOOL_PATCH_HOOK ltmain_patchlevel=`sed -n '/^[ \t]*VERSION=/{s/^[ \t]*VERSION=//;p;q;}' $$i | \ sed -e 's/\([0-9]*\.[0-9]*\.*\)\([0-9]*\).*/\2/' -e 's/\"//'`; \ if test $${ltmain_version} = '1.5'; then \ - $(APPLY_PATCHES) $${i%/*} support/libtool buildroot-libtool-v1.5.patch; \ + patch -i support/libtool/buildroot-libtool-v1.5.patch $${i}; \ elif test $${ltmain_version} = "2.2"; then\ - $(APPLY_PATCHES) $${i%/*} support/libtool buildroot-libtool-v2.2.patch; \ + patch -i support/libtool/buildroot-libtool-v2.2.patch $${i}; \ elif test $${ltmain_version} = "2.4"; then\ if test $${ltmain_patchlevel:-0} -gt 2; then\ - $(APPLY_PATCHES) $${i%/*} support/libtool buildroot-libtool-v2.4.4.patch; \ + patch -i support/libtool/buildroot-libtool-v2.4.4.patch $${i}; \ else \ - $(APPLY_PATCHES) $${i%/*} support/libtool buildroot-libtool-v2.4.patch; \ + patch -i support/libtool/buildroot-libtool-v2.4.patch $${i}; \ fi \ fi \ done diff --git a/package/poco/0002-fix-m68k-double-conv-detect.patch b/package/poco/0002-fix-m68k-double-conv-detect.patch new file mode 100644 index 000000000..3ca03fc7b --- /dev/null +++ b/package/poco/0002-fix-m68k-double-conv-detect.patch @@ -0,0 +1,19 @@ +Fixes compile for m68k. + +From upstream double-conversion commit da111796231: +https://github.com/google/double-conversion/blob/master/double-conversion/utils.h + +Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> + +diff -Nur poco-poco-1.7.2-release.orig/Foundation/src/utils.h poco-poco-1.7.2-release/Foundation/src/utils.h +--- poco-poco-1.7.2-release.orig/Foundation/src/utils.h 2016-03-19 08:19:35.000000000 +0100 ++++ poco-poco-1.7.2-release/Foundation/src/utils.h 2016-08-11 02:55:02.827238119 +0200 +@@ -63,6 +63,8 @@ + defined(__AARCH64EL__) || \ + defined(nios2) || defined(__nios2) || defined(__nios2__) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 ++#elif defined(__mc68000__) ++#undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS + #elif defined(_M_IX86) || defined(__i386__) || defined(__i386) + #if defined(_WIN32) + // Windows uses a 64bit wide floating point stack. diff --git a/package/procps-ng/0003-ps-output.c-include-dlfcn.h-only-when-necessary.patch b/package/procps-ng/0003-ps-output.c-include-dlfcn.h-only-when-necessary.patch new file mode 100644 index 000000000..dca28fab1 --- /dev/null +++ b/package/procps-ng/0003-ps-output.c-include-dlfcn.h-only-when-necessary.patch @@ -0,0 +1,32 @@ +From 4fc9a348026a945aec8eddffc7613de9cb10b10c Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Sun, 7 Aug 2016 11:08:26 +0200 +Subject: [PATCH] ps/output.c: include <dlfcn.h> only when necessary + +dlopen() functionality is only used when SELinux support is enabled, so +<dlfcn.h> only needs to be included when ENABLE_LIBSELINUX is +defined. This fixes the build in configurations where <dlfcn.h> is not +available. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + ps/output.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ps/output.c b/ps/output.c +index 42c04cf..f540832 100644 +--- a/ps/output.c ++++ b/ps/output.c +@@ -46,7 +46,9 @@ + */ + + #include <ctype.h> ++#if ENABLE_LIBSELINUX + #include <dlfcn.h> ++#endif + #include <fcntl.h> + #include <grp.h> + #include <limits.h> +-- +2.7.4 + diff --git a/package/procps-ng/procps-ng.mk b/package/procps-ng/procps-ng.mk index 83323b700..48b472094 100644 --- a/package/procps-ng/procps-ng.mk +++ b/package/procps-ng/procps-ng.mk @@ -47,4 +47,10 @@ PROCPS_NG_CONF_OPTS += \ --enable-watch8bit endif +# numa support requires libdl, so explicitly disable it when +# BR2_STATIC_LIBS=y +ifeq ($(BR2_STATIC_LIBS),y) +PROCPS_NG_CONF_OPTS += --disable-numa +endif + $(eval $(autotools-package)) diff --git a/package/protobuf/Config.in b/package/protobuf/Config.in index 3215a075f..bccf258f6 100644 --- a/package/protobuf/Config.in +++ b/package/protobuf/Config.in @@ -27,6 +27,7 @@ config BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS default y if BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_sparc64 # missing definition of Atomic64 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on BR2_USE_MMU # fork() config BR2_PACKAGE_PROTOBUF bool "protobuf" diff --git a/package/python-meld3/python-meld3.mk b/package/python-meld3/python-meld3.mk index 268263d86..529425c8b 100644 --- a/package/python-meld3/python-meld3.mk +++ b/package/python-meld3/python-meld3.mk @@ -9,6 +9,6 @@ PYTHON_MELD3_SOURCE = meld3-$(PYTHON_MELD3_VERSION).tar.gz PYTHON_MELD3_SITE = https://pypi.python.org/packages/45/a0/317c6422b26c12fe0161e936fc35f36552069ba8e6f7ecbd99bbffe32a5f PYTHON_MELD3_LICENSE = ZPLv2.1 PYTHON_MELD3_LICENSE_FILES = COPYRIGHT.txt LICENSE.txt -PYTHON_MELD3_SETUP_TYPE = distutils +PYTHON_MELD3_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-pam/Config.in b/package/python-pam/Config.in index 497bcd38e..02865d00d 100644 --- a/package/python-pam/Config.in +++ b/package/python-pam/Config.in @@ -8,6 +8,7 @@ config BR2_PACKAGE_PYTHON_PAM depends on BR2_PACKAGE_PYTHON # C extension not compatible with python3 depends on BR2_ENABLE_LOCALE # linux-pam depends on BR2_USE_WCHAR # linux-pam + depends on BR2_USE_MMU # linux-pam depends on !BR2_STATIC_LIBS # linux-pam depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam select BR2_PACKAGE_LINUX_PAM diff --git a/package/qlibc/0004-md5-fix-musl-build-by-removing-usage-of-internal-gli.patch b/package/qlibc/0004-md5-fix-musl-build-by-removing-usage-of-internal-gli.patch deleted file mode 100644 index a48b27f6b..000000000 --- a/package/qlibc/0004-md5-fix-musl-build-by-removing-usage-of-internal-gli.patch +++ /dev/null @@ -1,59 +0,0 @@ -From fe45b18f777b1414aee908f08f56a5730a00dbb5 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls <bernd.kuhls@t-online.de> -Date: Sat, 21 May 2016 09:59:56 +0200 -Subject: [PATCH 1/1] md5: fix musl build by removing usage of internal glibc - header sys/cdefs.h - -As suggested in musl FAQ: -http://wiki.musl-libc.org/wiki/FAQ#Q:_I.27m_trying_to_compile_something_against_musl_and_I_get_error_messages_about_sys.2Fcdefs.h - -Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> -(Patch for master branch sent upstream: - https://github.com/wolkykim/qlibc/pull/53) ---- - src/internal/md5/md5.h | 10 ++++++---- - src/internal/md5/md5c.c | 1 - - 2 files changed, 6 insertions(+), 5 deletions(-) - -diff --git a/src/internal/md5/md5.h b/src/internal/md5/md5.h -index cbfa7ca..8e726fe 100644 ---- a/src/internal/md5/md5.h -+++ b/src/internal/md5/md5.h -@@ -35,9 +35,9 @@ typedef struct MD5Context { - unsigned char buffer[64]; /* input buffer */ - } MD5_CTX; - --#include <sys/cdefs.h> -- --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - void MD5Init(MD5_CTX *); - void MD5Update(MD5_CTX *, const unsigned char *, unsigned int); - void MD5Final(unsigned char[16], MD5_CTX *); -@@ -45,6 +45,8 @@ char * MD5End(MD5_CTX *, char *); - char * MD5File(const char *, char *); - char * MD5FileChunk(const char *, char *, off_t, off_t); - char * MD5Data(const unsigned char *, unsigned int, char *); --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* Q_MD5_H */ -diff --git a/src/internal/md5/md5c.c b/src/internal/md5/md5c.c -index de9e47f..040bf5e 100644 ---- a/src/internal/md5/md5c.c -+++ b/src/internal/md5/md5c.c -@@ -26,7 +26,6 @@ - * edited for clarity and style only. - */ - --#include <sys/cdefs.h> - #include <sys/types.h> - #include <string.h> - #include "md5.h" --- -2.8.1 - diff --git a/package/qt/Config.in b/package/qt/Config.in index 548d18063..fa5235d6f 100644 --- a/package/qt/Config.in +++ b/package/qt/Config.in @@ -126,6 +126,7 @@ config BR2_PACKAGE_QT_CONFIG_FILE config BR2_PACKAGE_QT_QT3SUPPORT bool "Compatibility with Qt3" depends on BR2_PACKAGE_QT_GUI_MODULE + select BR2_PACKAGE_QT_SQL_MODULE help Turns on support for older Qt3. This will create an additional library with proxy code and increase the space required on target. @@ -468,15 +469,23 @@ config BR2_PACKAGE_QT_WEBKIT depends on BR2_PACKAGE_QT_NETWORK depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # needs pthread_getattr_np() + depends on BR2_PACKAGE_GSTREAMER + select BR2_PACKAGE_GST_PLUGINS_BASE + select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP help Build the WebKit module. If unsure, say n. -comment "WebKit needs shared library/NPTL toolchain/script/gui/network support" - depends on !(BR2_PACKAGE_QT_SCRIPT && BR2_PACKAGE_QT_SHARED && \ - BR2_PACKAGE_QT_GUI_MODULE && BR2_PACKAGE_QT_NETWORK) - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL +comment "WebKit needs a toolchain w/ dynamic library, NPTL" + depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIB + +comment "WebKit needs QtShared/Script/Gui/Network and Gstreamer 0.10" depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL && !BR2_STATIC_LIB + depends on !BR2_PACKAGE_QT_SCRIPT || !BR2_PACKAGE_QT_SHARED \ + || !BR2_PACKAGE_QT_GUI_MODULE || !BR2_PACKAGE_QT_NETWORK \ + || !BR2_PACKAGE_GSTREAMER config BR2_PACKAGE_QT_STL bool "STL support" diff --git a/package/qt/qt.hash b/package/qt/qt.hash index 301010cae..de8136851 100644 --- a/package/qt/qt.hash +++ b/package/qt/qt.hash @@ -1,3 +1,4 @@ # md5 http://download.qt.io/official_releases/qt/4.8/4.8.7/md5sums-4.8.7, sha256 locally computed: md5 d990ee66bf7ab0c785589776f35ba6ad qt-everywhere-opensource-src-4.8.7.tar.gz sha256 e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0 qt-everywhere-opensource-src-4.8.7.tar.gz +sha256 e03740e20b8dbf52d163d8a4a37125e7c55b59a9a5e7cf7e89a08e07286b6135 b8f98d956501dfa4ce03a137f15d404930a56066.patch diff --git a/package/qt/qt.mk b/package/qt/qt.mk index 47d5b007f..8c0ff7b03 100644 --- a/package/qt/qt.mk +++ b/package/qt/qt.mk @@ -15,6 +15,9 @@ QT_VERSION_MAJOR = 4.8 QT_VERSION = $(QT_VERSION_MAJOR).7 QT_SOURCE = qt-everywhere-opensource-src-$(QT_VERSION).tar.gz QT_SITE = http://download.qt-project.org/official_releases/qt/$(QT_VERSION_MAJOR)/$(QT_VERSION) +# Patch fixing ALSA detection. Taken from Qt5, but applies fine to +# Qt4. +QT_PATCH = https://github.com/qtproject/qtbase/commit/b8f98d956501dfa4ce03a137f15d404930a56066.patch QT_DEPENDENCIES = host-pkgconf QT_INSTALL_STAGING = YES @@ -38,6 +41,11 @@ QT_CFLAGS = $(TARGET_CFLAGS) QT_CXXFLAGS = $(TARGET_CXXFLAGS) QT_LDFLAGS = $(TARGET_LDFLAGS) +# Qt WebKit build fails when gcc-6 is used for build, because +# 'std::auto_ptr' is deprecated starting from gcc 6.x. So, we have to +# use an older c++ standard to prevent build failure +QT_CXXFLAGS += -std=gnu++98 + # Qt has some assembly function that are not present in thumb1 mode: # Error: selected processor does not support Thumb mode `swp r3,r7,[r4]' # so, we desactivate thumb mode @@ -426,6 +434,7 @@ endif ifeq ($(BR2_PACKAGE_QT_WEBKIT),y) QT_CONFIGURE_OPTS += -webkit +QT_DEPENDENCIES += gstreamer gst-plugins-base else QT_CONFIGURE_OPTS += -no-webkit endif diff --git a/package/qt5/qt5base/0007-Remove-libudev-dependency-from-kms.pro.patch b/package/qt5/qt5base/0007-Remove-libudev-dependency-from-kms.pro.patch new file mode 100644 index 000000000..7ecbcd056 --- /dev/null +++ b/package/qt5/qt5base/0007-Remove-libudev-dependency-from-kms.pro.patch @@ -0,0 +1,33 @@ +From 0f1b4bb65abe0e36e9e4b9813e45192223509de8 Mon Sep 17 00:00:00 2001 +From: Ralf Nolden <nolden@kde.org> +Date: Tue, 17 May 2016 12:57:17 +0200 +Subject: [PATCH] Remove libudev dependency from kms.pro + +To compile the kms qpa plugin, only libdrm is needed. +Remove the libudev dependency for the compile check to enable +building of the qpa plugin on platforms where libudev is not present +such as BSD systems (but where KMS works) + +Change-Id: Icd0be70a8949578a6158d523428706890a9674eb +Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> +Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> + +Upstream: https://code.qt.io/cgit/qt/qtbase.git/patch/?id=72492735b7b7770808fcc9fe067e8f03fab827fc +Signed-off-by: Peter Seiderer <ps.report@gmx.net> +--- + config.tests/qpa/kms/kms.pro | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/config.tests/qpa/kms/kms.pro b/config.tests/qpa/kms/kms.pro +index 1fb7367..5147bc8 100644 +--- a/config.tests/qpa/kms/kms.pro ++++ b/config.tests/qpa/kms/kms.pro +@@ -1,4 +1,4 @@ + SOURCES = kms.cpp + CONFIG += link_pkgconfig +-PKGCONFIG += libdrm libudev ++PKGCONFIG += libdrm + CONFIG -= qt +-- +2.8.1 + diff --git a/package/quagga/0003-lib-memory-fix-indirect-static-link-with-zlib.patch b/package/quagga/0003-lib-memory-fix-indirect-static-link-with-zlib.patch new file mode 100644 index 000000000..6990f47cd --- /dev/null +++ b/package/quagga/0003-lib-memory-fix-indirect-static-link-with-zlib.patch @@ -0,0 +1,108 @@ +From 008dd9771057dbbd7ce971c43bce2a0b05e2cf97 Mon Sep 17 00:00:00 2001 +From: Baruch Siach <baruch@tkos.co.il> +Date: Sun, 21 Aug 2016 08:56:57 +0300 +Subject: [PATCH] lib/memory: fix indirect static link with zlib + +quagga SNMP support depends on netsnmp, that optionally depends on OpenSSL, +which in turn requires zlib. zlib exports the 'zcalloc' symbol, which collides +with a function of the same name in memory.c. This is not a problem when +linking dynamically, since quagga does not use zlib directly. But static +linking fails with the error: + + CCLD ospfd +.../output/host/usr/mips64el-buildroot-linux-uclibc/sysroot/usr/lib/libz.a(zutil.o): In function `zcalloc': +zutil.c:(.text+0x48): multiple definition of `zcalloc' +.../output/build/quagga-1.0.20160315/lib/.libs/libzebra.a(memory.o):memory.c:(.text+0x1a0): first defined here + +Rename 'zcalloc' to 'zzcalloc' to avoid symbol collision. + +Signed-off-by: Baruch Siach <baruch@tkos.co.il> +--- +Patch status: posted upstream +https://lists.quagga.net/pipermail/quagga-dev/2016-August/016109.html + + lib/memory.c | 14 ++++++++------ + lib/memory.h | 4 ++-- + 2 files changed, 10 insertions(+), 8 deletions(-) + +diff --git a/lib/memory.c b/lib/memory.c +index 269520d5a435..b1680a5e6f07 100644 +--- a/lib/memory.c ++++ b/lib/memory.c +@@ -80,9 +80,11 @@ zmalloc (int type, size_t size) + + /* + * Allocate memory as in zmalloc, and also clear the memory. ++ * Add an extra 'z' prefix to function name to avoid collision when linking ++ * statically with zlib that exports the 'zcalloc' symbol. + */ + void * +-zcalloc (int type, size_t size) ++zzcalloc (int type, size_t size) + { + void *memory; + +@@ -97,9 +99,9 @@ zcalloc (int type, size_t size) + } + + /* +- * Given a pointer returned by zmalloc or zcalloc, free it and ++ * Given a pointer returned by zmalloc or zzcalloc, free it and + * return a pointer to a new size, basically acting like realloc(). +- * Requires: ptr was returned by zmalloc, zcalloc, or zrealloc with the ++ * Requires: ptr was returned by zmalloc, zzcalloc, or zrealloc with the + * same type. + * Effects: Returns a pointer to the new memory, or aborts. + */ +@@ -109,7 +111,7 @@ zrealloc (int type, void *ptr, size_t size) + void *memory; + + if (ptr == NULL) /* is really alloc */ +- return zcalloc(type, size); ++ return zzcalloc(type, size); + + memory = realloc (ptr, size); + if (memory == NULL) +@@ -122,7 +124,7 @@ zrealloc (int type, void *ptr, size_t size) + + /* + * Free memory allocated by z*alloc or zstrdup. +- * Requires: ptr was returned by zmalloc, zcalloc, or zrealloc with the ++ * Requires: ptr was returned by zmalloc, zzcalloc, or zrealloc with the + * same type. + * Effects: The memory is freed and may no longer be referenced. + */ +@@ -196,7 +198,7 @@ mtype_zcalloc (const char *file, int line, int type, size_t size) + mstat[type].c_calloc++; + mstat[type].t_calloc++; + +- memory = zcalloc (type, size); ++ memory = zzcalloc (type, size); + mtype_log ("xcalloc", memory, file, line, type); + + return memory; +diff --git a/lib/memory.h b/lib/memory.h +index 23962235dbfe..501352993d21 100644 +--- a/lib/memory.h ++++ b/lib/memory.h +@@ -56,7 +56,7 @@ extern struct mlist mlists[]; + mtype_zstrdup (__FILE__, __LINE__, (mtype), (str)) + #else + #define XMALLOC(mtype, size) zmalloc ((mtype), (size)) +-#define XCALLOC(mtype, size) zcalloc ((mtype), (size)) ++#define XCALLOC(mtype, size) zzcalloc ((mtype), (size)) + #define XREALLOC(mtype, ptr, size) zrealloc ((mtype), (ptr), (size)) + #define XFREE(mtype, ptr) do { \ + zfree ((mtype), (ptr)); \ +@@ -67,7 +67,7 @@ extern struct mlist mlists[]; + + /* Prototypes of memory function. */ + extern void *zmalloc (int type, size_t size); +-extern void *zcalloc (int type, size_t size); ++extern void *zzcalloc (int type, size_t size); + extern void *zrealloc (int type, void *ptr, size_t size); + extern void zfree (int type, void *ptr); + extern char *zstrdup (int type, const char *str); +-- +2.8.1 + diff --git a/package/quota/quota.mk b/package/quota/quota.mk index c30a2bd85..a1e343a38 100644 --- a/package/quota/quota.mk +++ b/package/quota/quota.mk @@ -21,6 +21,11 @@ endif ifeq ($(BR2_PACKAGE_E2FSPROGS),y) QUOTA_DEPENDENCIES += e2fsprogs QUOTA_CONF_OPTS += --enable-ext2direct +# quote does not use pkg-config to find e2fsprogs, so it does not know it +# may require -pthreads in case of static build +ifeq ($(BR2_STATIC_LIBS)$(BR2_TOOLCHAIN_HAS_THREADS),yy) +QUOTA_LIBS += -pthread +endif else QUOTA_CONF_OPTS += --disable-ext2direct endif diff --git a/package/rpcbind/0003-src-remove-use-of-the-__P-macro.patch b/package/rpcbind/0003-src-remove-use-of-the-__P-macro.patch new file mode 100644 index 000000000..72fda880c --- /dev/null +++ b/package/rpcbind/0003-src-remove-use-of-the-__P-macro.patch @@ -0,0 +1,243 @@ +From 2f7d15304e0544e4c693c86d8ab8b2f08b9e9886 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" <yann.morin.1998@free.fr> +Date: Mon, 15 Aug 2016 16:36:40 +0200 +Subject: [PATCH] src: remove use of the __P() macro + +The __P() macro is a legacy compatibility macro aimed making pre-ANSI +(i.e. K&R) compilers that do not support function prototypes happy, +while still allowing such prototypes for ANSI-compliant compilers. + +Since virtually all compilers have been ANSI-compliant for a few decades +now, use of __P() is totally useless. + +Furthermore, __P() is defined in the non-standard sys/cdefs.h header. +This header is present in glibc and uClibc, and both have it included +from many of their headers. So, sys/cdefs.h is automagically included in +most cases and its macros are available. + +However, the musl C library does not provide this sys/cdefs.h header. +Thus, the build breaks on musl. + +For all the above reasons, get rid of __P() wherever it is used; just +always declare real function prototypes. + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> +Cc: Chuck Lever <chuck.lever@oracle.com> +Cc: Steve Dickson <SteveD@redhat.com> +--- + src/check_bound.c | 2 +- + src/pmap_svc.c | 10 +++++----- + src/rpcb_svc.c | 10 +++++----- + src/rpcb_svc_4.c | 14 ++++++-------- + src/rpcb_svc_com.c | 46 +++++++++++++++++++++++----------------------- + src/rpcbind.c | 12 ++++++------ + src/util.c | 2 +- + src/warmstart.c | 4 ++-- + 8 files changed, 49 insertions(+), 51 deletions(-) + +diff --git a/src/check_bound.c b/src/check_bound.c +index c70b845..92bfd36 100644 +--- a/src/check_bound.c ++++ b/src/check_bound.c +@@ -70,7 +70,7 @@ static struct fdlist *fdhead; /* Link list of the check fd's */ + static struct fdlist *fdtail; + static char *nullstring = ""; + +-static bool_t check_bound __P((struct fdlist *, char *uaddr)); ++static bool_t check_bound(struct fdlist *, char *uaddr); + + /* + * Returns 1 if the given address is bound for the given addr & transport +diff --git a/src/pmap_svc.c b/src/pmap_svc.c +index ad28b93..4c744fe 100644 +--- a/src/pmap_svc.c ++++ b/src/pmap_svc.c +@@ -60,11 +60,11 @@ static char sccsid[] = "@(#)pmap_svc.c 1.23 89/04/05 Copyr 1984 Sun Micro"; + #include "rpcbind.h" + #include "xlog.h" + #include <rpc/svc_soc.h> /* svc_getcaller routine definition */ +-static struct pmaplist *find_service_pmap __P((rpcprog_t, rpcvers_t, +- rpcprot_t)); +-static bool_t pmapproc_change __P((struct svc_req *, SVCXPRT *, u_long)); +-static bool_t pmapproc_getport __P((struct svc_req *, SVCXPRT *)); +-static bool_t pmapproc_dump __P((struct svc_req *, SVCXPRT *)); ++static struct pmaplist *find_service_pmap(rpcprog_t, rpcvers_t, ++ rpcprot_t); ++static bool_t pmapproc_change(struct svc_req *, SVCXPRT *, u_long); ++static bool_t pmapproc_getport(struct svc_req *, SVCXPRT *); ++static bool_t pmapproc_dump(struct svc_req *, SVCXPRT *); + + /* + * Called for all the version 2 inquiries. +diff --git a/src/rpcb_svc.c b/src/rpcb_svc.c +index bd92201..709e3fb 100644 +--- a/src/rpcb_svc.c ++++ b/src/rpcb_svc.c +@@ -53,10 +53,10 @@ + #include "rpcbind.h" + #include "xlog.h" + +-static void *rpcbproc_getaddr_3_local __P((void *, struct svc_req *, SVCXPRT *, +- rpcvers_t)); +-static void *rpcbproc_dump_3_local __P((void *, struct svc_req *, SVCXPRT *, +- rpcvers_t)); ++static void *rpcbproc_getaddr_3_local(void *, struct svc_req *, SVCXPRT *, ++ rpcvers_t); ++static void *rpcbproc_dump_3_local(void *, struct svc_req *, SVCXPRT *, ++ rpcvers_t); + + /* + * Called by svc_getreqset. There is a separate server handle for +@@ -75,7 +75,7 @@ rpcb_service_3(struct svc_req *rqstp, SVCXPRT *transp) + } argument; + char *result; + xdrproc_t xdr_argument, xdr_result; +- void *(*local) __P((void *, struct svc_req *, SVCXPRT *, rpcvers_t)); ++ void *(*local)(void *, struct svc_req *, SVCXPRT *, rpcvers_t); + rpcprog_t setprog = 0; + + rpcbs_procinfo(RPCBVERS_3_STAT, rqstp->rq_proc); +diff --git a/src/rpcb_svc_4.c b/src/rpcb_svc_4.c +index b673452..5094879 100644 +--- a/src/rpcb_svc_4.c ++++ b/src/rpcb_svc_4.c +@@ -54,13 +54,11 @@ + #include "rpcbind.h" + #include "xlog.h" + +-static void *rpcbproc_getaddr_4_local __P((void *, struct svc_req *, SVCXPRT *, +- rpcvers_t)); +-static void *rpcbproc_getversaddr_4_local __P((void *, struct svc_req *, SVCXPRT *, rpcvers_t)); +-static void *rpcbproc_getaddrlist_4_local +- __P((void *, struct svc_req *, SVCXPRT *, rpcvers_t)); +-static void free_rpcb_entry_list __P((rpcb_entry_list_ptr *)); +-static void *rpcbproc_dump_4_local __P((void *, struct svc_req *, SVCXPRT *, rpcvers_t)); ++static void *rpcbproc_getaddr_4_local(void *, struct svc_req *, SVCXPRT *, rpcvers_t); ++static void *rpcbproc_getversaddr_4_local(void *, struct svc_req *, SVCXPRT *, rpcvers_t); ++static void *rpcbproc_getaddrlist_4_local(void *, struct svc_req *, SVCXPRT *, rpcvers_t); ++static void free_rpcb_entry_list(rpcb_entry_list_ptr *); ++static void *rpcbproc_dump_4_local(void *, struct svc_req *, SVCXPRT *, rpcvers_t); + + /* + * Called by svc_getreqset. There is a separate server handle for +@@ -78,7 +76,7 @@ rpcb_service_4(struct svc_req *rqstp, SVCXPRT *transp) + } argument; + char *result; + xdrproc_t xdr_argument, xdr_result; +- void *(*local) __P((void *, struct svc_req *, SVCXPRT *, rpcvers_t)); ++ void *(*local)(void *, struct svc_req *, SVCXPRT *, rpcvers_t); + rpcprog_t setprog = 0; + + rpcbs_procinfo(RPCBVERS_4_STAT, rqstp->rq_proc); +diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c +index 148fe42..5862c26 100644 +--- a/src/rpcb_svc_com.c ++++ b/src/rpcb_svc_com.c +@@ -100,29 +100,29 @@ struct finfo { + static struct finfo FINFO[NFORWARD]; + + +-static bool_t xdr_encap_parms __P((XDR *, struct encap_parms *)); +-static bool_t xdr_rmtcall_args __P((XDR *, struct r_rmtcall_args *)); +-static bool_t xdr_rmtcall_result __P((XDR *, struct r_rmtcall_args *)); +-static bool_t xdr_opaque_parms __P((XDR *, struct r_rmtcall_args *)); +-static int find_rmtcallfd_by_netid __P((char *)); +-static SVCXPRT *find_rmtcallxprt_by_fd __P((int)); +-static int forward_register __P((u_int32_t, struct netbuf *, int, char *, +- rpcproc_t, rpcvers_t, u_int32_t *)); +-static struct finfo *forward_find __P((u_int32_t)); +-static int free_slot_by_xid __P((u_int32_t)); +-static int free_slot_by_index __P((int)); +-static int netbufcmp __P((struct netbuf *, struct netbuf *)); +-static struct netbuf *netbufdup __P((struct netbuf *)); +-static void netbuffree __P((struct netbuf *)); +-static int check_rmtcalls __P((struct pollfd *, int)); +-static void xprt_set_caller __P((SVCXPRT *, struct finfo *)); +-static void send_svcsyserr __P((SVCXPRT *, struct finfo *)); +-static void handle_reply __P((int, SVCXPRT *)); +-static void find_versions __P((rpcprog_t, char *, rpcvers_t *, rpcvers_t *)); +-static rpcblist_ptr find_service __P((rpcprog_t, rpcvers_t, char *)); +-static char *getowner __P((SVCXPRT *, char *, size_t)); +-static int add_pmaplist __P((RPCB *)); +-static int del_pmaplist __P((RPCB *)); ++static bool_t xdr_encap_parms(XDR *, struct encap_parms *); ++static bool_t xdr_rmtcall_args(XDR *, struct r_rmtcall_args *); ++static bool_t xdr_rmtcall_result(XDR *, struct r_rmtcall_args *); ++static bool_t xdr_opaque_parms(XDR *, struct r_rmtcall_args *); ++static int find_rmtcallfd_by_netid(char *); ++static SVCXPRT *find_rmtcallxprt_by_fd(int); ++static int forward_register(u_int32_t, struct netbuf *, int, char *, ++ rpcproc_t, rpcvers_t, u_int32_t *); ++static struct finfo *forward_find(u_int32_t); ++static int free_slot_by_xid(u_int32_t); ++static int free_slot_by_index(int); ++static int netbufcmp(struct netbuf *, struct netbuf *); ++static struct netbuf *netbufdup(struct netbuf *); ++static void netbuffree(struct netbuf *); ++static int check_rmtcalls(struct pollfd *, int); ++static void xprt_set_caller(SVCXPRT *, struct finfo *); ++static void send_svcsyserr(SVCXPRT *, struct finfo *); ++static void handle_reply(int, SVCXPRT *); ++static void find_versions(rpcprog_t, char *, rpcvers_t *, rpcvers_t *); ++static rpcblist_ptr find_service(rpcprog_t, rpcvers_t, char *); ++static char *getowner(SVCXPRT *, char *, size_t); ++static int add_pmaplist(RPCB *); ++static int del_pmaplist(RPCB *); + + /* + * Set a mapping of program, version, netid +diff --git a/src/rpcbind.c b/src/rpcbind.c +index c4265cd..87ccdc2 100644 +--- a/src/rpcbind.c ++++ b/src/rpcbind.c +@@ -136,13 +136,13 @@ char *tcp_uaddr; /* Universal TCP address */ + static char servname[] = "rpcbind"; + static char superuser[] = "superuser"; + +-int main __P((int, char *[])); ++int main(int, char *[]); + +-static int init_transport __P((struct netconfig *)); +-static void rbllist_add __P((rpcprog_t, rpcvers_t, struct netconfig *, +- struct netbuf *)); +-static void terminate __P((int)); +-static void parseargs __P((int, char *[])); ++static int init_transport(struct netconfig *); ++static void rbllist_add(rpcprog_t, rpcvers_t, struct netconfig *, ++ struct netbuf *); ++static void terminate(int); ++static void parseargs(int, char *[]); + + int + main(int argc, char *argv[]) +diff --git a/src/util.c b/src/util.c +index a6c835b..74b0284 100644 +--- a/src/util.c ++++ b/src/util.c +@@ -70,7 +70,7 @@ static struct sockaddr_in *local_in4; + static struct sockaddr_in6 *local_in6; + #endif + +-static int bitmaskcmp __P((void *, void *, void *, int)); ++static int bitmaskcmp(void *, void *, void *, int); + + /* + * For all bits set in "mask", compare the corresponding bits in +diff --git a/src/warmstart.c b/src/warmstart.c +index b6eb73e..122a058 100644 +--- a/src/warmstart.c ++++ b/src/warmstart.c +@@ -58,8 +58,8 @@ + #define PMAPFILE RPCBIND_STATEDIR "/portmap.xdr" + #endif + +-static bool_t write_struct __P((char *, xdrproc_t, void *)); +-static bool_t read_struct __P((char *, xdrproc_t, void *)); ++static bool_t write_struct(char *, xdrproc_t, void *); ++static bool_t read_struct(char *, xdrproc_t, void *); + + static bool_t + write_struct(char *filename, xdrproc_t structproc, void *list) +-- +2.7.4 + diff --git a/package/rsh-redone/Config.in b/package/rsh-redone/Config.in index 6258369e2..6a8aec036 100644 --- a/package/rsh-redone/Config.in +++ b/package/rsh-redone/Config.in @@ -17,6 +17,7 @@ config BR2_PACKAGE_RSH_REDONE_RLOGIND depends on !BR2_STATIC_LIBS depends on BR2_ENABLE_LOCALE && BR2_USE_WCHAR depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam + depends on BR2_USE_MMU # linux-pam select BR2_PACKAGE_LINUX_PAM comment "rlogind needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library" @@ -31,6 +32,7 @@ config BR2_PACKAGE_RSH_REDONE_RSHD depends on BR2_ENABLE_LOCALE && BR2_USE_WCHAR depends on !BR2_STATIC_LIBS depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam + depends on BR2_USE_MMU # linux-pam select BR2_PACKAGE_LINUX_PAM comment "rshd needs a uClibc or glibc toolchain w/ wchar, locale, dynamic library" diff --git a/package/rt-tests/0003-Add-syscall-number-for-sched_-gs-etattr-for-SH4.patch b/package/rt-tests/0003-Add-syscall-number-for-sched_-gs-etattr-for-SH4.patch new file mode 100644 index 000000000..9d606a4df --- /dev/null +++ b/package/rt-tests/0003-Add-syscall-number-for-sched_-gs-etattr-for-SH4.patch @@ -0,0 +1,34 @@ +From 53c7e8bc75f0f27752309ddae49e8d3b867a7681 Mon Sep 17 00:00:00 2001 +From: Romain Naour <romain.naour@gmail.com> +Date: Mon, 15 Aug 2016 18:20:47 +0200 +Subject: [PATCH] Add syscall-number for sched_(gs)etattr() for SH4 + +Signed-off-by: Romain Naour <romain.naour@gmail.com> +--- + src/include/rt-sched.h | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/src/include/rt-sched.h b/src/include/rt-sched.h +index 679c4bd..83394c6 100644 +--- a/src/include/rt-sched.h ++++ b/src/include/rt-sched.h +@@ -51,6 +51,16 @@ + #endif + #endif + ++/* SCHED_DEADLINE available on sh4 since kernel 4.8 */ ++#ifdef __SH4__ ++#ifndef __NR_sched_setattr ++#define __NR_sched_setattr 370 ++#endif ++#ifndef __NR_sched_getattr ++#define __NR_sched_getattr 369 ++#endif ++#endif ++ + #ifdef __tilegx__ + #define __NR_sched_setattr 274 + #define __NR_sched_getattr 275 +-- +2.5.5 + diff --git a/package/sane-backends/0002-Add-missing-sys-types.h-includes.patch b/package/sane-backends/0002-Add-missing-sys-types.h-includes.patch new file mode 100644 index 000000000..8ab41f1fe --- /dev/null +++ b/package/sane-backends/0002-Add-missing-sys-types.h-includes.patch @@ -0,0 +1,106 @@ +From d33f16f463e888846d69ddfbeeb963d40972b654 Mon Sep 17 00:00:00 2001 +From: Luiz Angelo Daros de Luca <luizluca@gmail.com> +Date: Thu, 15 Oct 2015 12:35:00 +0900 +Subject: [PATCH] Add missing <sys/types.h> includes + +[Thomas: backport from upstream commit +33495ef9b42a783c8f5f2c056ac5699481d3cc7e, allows to fix the build with +the musl C library.] +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + backend/epsonds-io.c | 3 +++ + backend/hp5400.c | 3 +++ + backend/hp5590.c | 3 +++ + backend/kvs20xx_cmd.h | 4 ++++ + backend/kvs40xx.h | 3 +++ + include/sane/sanei_udp.h | 3 +++ + 6 files changed, 19 insertions(+) + +diff --git a/backend/epsonds-io.c b/backend/epsonds-io.c +index 28bacfc..512997d 100644 +--- a/backend/epsonds-io.c ++++ b/backend/epsonds-io.c +@@ -16,6 +16,9 @@ + #include "sane/config.h" + #include <ctype.h> + #include <unistd.h> /* sleep */ ++#ifdef HAVE_SYS_TYPES_H ++#include <sys/types.h> ++#endif + + #include "epsonds.h" + #include "epsonds-io.h" +diff --git a/backend/hp5400.c b/backend/hp5400.c +index 61de3db..cfa2dc9 100644 +--- a/backend/hp5400.c ++++ b/backend/hp5400.c +@@ -67,6 +67,9 @@ + #include <stdlib.h> /* malloc, free */ + #include <string.h> /* memcpy */ + #include <stdio.h> ++#ifdef HAVE_SYS_TYPES_H ++#include <sys/types.h> ++#endif + + + #define HP5400_CONFIG_FILE "hp5400.conf" +diff --git a/backend/hp5590.c b/backend/hp5590.c +index 7b1cd60..5422372 100644 +--- a/backend/hp5590.c ++++ b/backend/hp5590.c +@@ -48,6 +48,9 @@ + #include <stdio.h> + #include <string.h> + #include <unistd.h> ++#ifdef HAVE_SYS_TYPES_H ++#include <sys/types.h> ++#endif + + #include "../include/sane/sane.h" + #define BACKEND_NAME hp5590 +diff --git a/backend/kvs20xx_cmd.h b/backend/kvs20xx_cmd.h +index c18b754..4acaf62 100644 +--- a/backend/kvs20xx_cmd.h ++++ b/backend/kvs20xx_cmd.h +@@ -9,6 +9,10 @@ + Panasonic KV-S20xx USB-SCSI scanners. + */ + ++#ifdef HAVE_SYS_TYPES_H ++#include <sys/types.h> ++#endif ++ + #define COMMAND_BLOCK 1 + #define DATA_BLOCK 2 + #define RESPONSE_BLOCK 3 +diff --git a/backend/kvs40xx.h b/backend/kvs40xx.h +index fa17163..02e0da6 100644 +--- a/backend/kvs40xx.h ++++ b/backend/kvs40xx.h +@@ -10,6 +10,9 @@ + + #include "../include/sane/config.h" + #include <semaphore.h> ++#ifdef HAVE_SYS_TYPES_H ++#include <sys/types.h> ++#endif + + #undef BACKEND_NAME + #define BACKEND_NAME kvs40xx +diff --git a/include/sane/sanei_udp.h b/include/sane/sanei_udp.h +index c44afdd..e32fc1a 100644 +--- a/include/sane/sanei_udp.h ++++ b/include/sane/sanei_udp.h +@@ -27,6 +27,9 @@ + #include <netinet/in.h> + #include <netdb.h> + #endif ++#ifdef HAVE_SYS_TYPES_H ++#include <sys/types.h> ++#endif + + extern SANE_Status sanei_udp_open(const char *host, int port, int *fdp); + extern SANE_Status sanei_udp_open_broadcast(int *fdp); +-- +2.7.4 + diff --git a/package/sconeserver/Config.in b/package/sconeserver/Config.in index 4083aa7dc..f03af8dd2 100644 --- a/package/sconeserver/Config.in +++ b/package/sconeserver/Config.in @@ -2,6 +2,7 @@ menuconfig BR2_PACKAGE_SCONESERVER bool "sconeserver" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on !BR2_STATIC_LIBS # dlopen() select BR2_PACKAGE_PCRE help Sconeserver is a modular, object-orientated and extremely versatile @@ -102,5 +103,6 @@ comment "ui module requires X.org" endif # BR2_PACKAGE_SCONESERVER -comment "sconeserver needs a toolchain w/ C++, NPTL" - depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS_NPTL) +comment "sconeserver needs a toolchain with dynamic library, C++, NPTL" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ + || BR2_STATIC_LIBS diff --git a/package/sconeserver/sconeserver.hash b/package/sconeserver/sconeserver.hash index 4503b9f7e..978b442f5 100644 --- a/package/sconeserver/sconeserver.hash +++ b/package/sconeserver/sconeserver.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 6bd76843df8e48519c67c72505412896b227d7b40ec0dee831c79ed414c85ff3 sconeserver-bbb384404575f8a3ef31c1ec41218b621b66ab27.tar.gz +sha256 38e72b962eb42bea8f0deb6f101833f8f2f2fa8c53f0dc03f3eb5d56873517c8 sconeserver-d659468cd164e6a6cc12932cc6780566b04f8328.tar.gz diff --git a/package/sconeserver/sconeserver.mk b/package/sconeserver/sconeserver.mk index 0b0ed1aa7..793ca6fb2 100644 --- a/package/sconeserver/sconeserver.mk +++ b/package/sconeserver/sconeserver.mk @@ -4,13 +4,13 @@ # ################################################################################ -SCONESERVER_VERSION = bbb384404575f8a3ef31c1ec41218b621b66ab27 +SCONESERVER_VERSION = d659468cd164e6a6cc12932cc6780566b04f8328 SCONESERVER_SITE = $(call github,sconemad,sconeserver,$(SCONESERVER_VERSION)) SCONESERVER_LICENSE = GPLv2+ SCONESERVER_LICENSE_FILES = COPYING # fetching from Git, we need to generate the configure script SCONESERVER_AUTORECONF = YES -SCONESERVER_DEPENDENCIES += pcre +SCONESERVER_DEPENDENCIES = host-pkgconf pcre # disable markdown module because its git submodule cmark # https://github.com/sconemad/sconeserver/tree/master/markdown # has no cross-compile support provided by the sconeserver build system @@ -46,7 +46,7 @@ SCONESERVER_CONF_OPTS += --without-sconesite endif ifeq ($(BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE),y) -SCONESERVER_DEPENDENCIES += imagemagick host-pkgconf +SCONESERVER_DEPENDENCIES += imagemagick SCONESERVER_CONF_OPTS += \ --with-sconesite-image \ --with-Magick++-config="$(STAGING_DIR)/usr/bin/Magick++-config" @@ -79,7 +79,7 @@ SCONESERVER_CONF_OPTS += --without-rss endif ifeq ($(BR2_PACKAGE_SCONESERVER_LOCATION),y) -SCONESERVER_DEPENDENCIES += host-pkgconf gpsd +SCONESERVER_DEPENDENCIES += gpsd SCONESERVER_CONF_OPTS += --with-location else SCONESERVER_CONF_OPTS += --without-location diff --git a/package/sg3_utils/0001-support-uclinux-as-a-linux.patch b/package/sg3_utils/0001-support-uclinux-as-a-linux.patch new file mode 100644 index 000000000..d9106cd9f --- /dev/null +++ b/package/sg3_utils/0001-support-uclinux-as-a-linux.patch @@ -0,0 +1,16 @@ +Recognise uclinux as a linux + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +diff -durN sg3_utils-1.42.orig/configure.ac sg3_utils-1.42/configure.ac +--- sg3_utils-1.42.orig/configure.ac 2015-10-21 01:10:59.000000000 +0200 ++++ sg3_utils-1.42/configure.ac 2016-08-14 19:30:37.841766149 +0200 +@@ -71,7 +71,7 @@ + + # Define platform-specific symbol. + AM_CONDITIONAL(OS_FREEBSD, [echo $host_os | grep 'freebsd' > /dev/null]) +-AM_CONDITIONAL(OS_LINUX, [echo $host_os | grep '^linux' > /dev/null]) ++AM_CONDITIONAL(OS_LINUX, [echo $host_os | grep -E '^(uc)?linux' > /dev/null]) + AM_CONDITIONAL(OS_OSF, [echo $host_os | grep '^osf' > /dev/null]) + AM_CONDITIONAL(OS_SOLARIS, [echo $host_os | grep '^solaris' > /dev/null]) + AM_CONDITIONAL(OS_WIN32_MINGW, [echo $host_os | grep '^mingw' > /dev/null]) diff --git a/package/sg3_utils/sg3_utils.mk b/package/sg3_utils/sg3_utils.mk index 36cb32e33..e7af83a52 100644 --- a/package/sg3_utils/sg3_utils.mk +++ b/package/sg3_utils/sg3_utils.mk @@ -14,6 +14,9 @@ SG3_UTILS_LICENSE += GPLv2+ endif SG3_UTILS_LICENSE_FILES = COPYING BSD_LICENSE +# Patching configure.ac +SG3_UTILS_AUTORECONF = YES + # install the libsgutils2 library SG3_UTILS_INSTALL_STAGING = YES diff --git a/package/spidev_test/spidev_test.mk b/package/spidev_test/spidev_test.mk index 646372f2f..52441bb3d 100644 --- a/package/spidev_test/spidev_test.mk +++ b/package/spidev_test/spidev_test.mk @@ -16,6 +16,15 @@ SPIDEV_TEST_SITE = http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.gi SPIDEV_TEST_SOURCE = spidev_test.c?id=$(SPIDEV_TEST_VERSION) SPIDEV_TEST_LICENSE = GPLv2 +# musl libc requires linux/ioctl.h for _IOC_SIZEBITS. Do a sed patch to keep +# compatibility with different spidev_test.c versions that we support. +define SPIDEV_ADD_LINUX_IOCTL + $(SED) 's~^#include <sys/ioctl.h>~#include <sys/ioctl.h>\n#include <linux/ioctl.h>~' \ + $(@D)/spidev_test.c +endef + +SPIDEV_TEST_POST_PATCH_HOOKS += SPIDEV_ADD_LINUX_IOCTL + define SPIDEV_TEST_EXTRACT_CMDS cp $(BR2_DL_DIR)/$(SPIDEV_TEST_SOURCE) $(@D)/spidev_test.c endef diff --git a/package/squeezelite/Config.in b/package/squeezelite/Config.in index 79d294749..63b918302 100644 --- a/package/squeezelite/Config.in +++ b/package/squeezelite/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_SQUEEZELITE bool "squeezelite" depends on BR2_USE_WCHAR # flac - depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_USE_MMU # mpg123 depends on !BR2_STATIC_LIBS # dlopen select BR2_PACKAGE_ALSA_LIB @@ -36,7 +36,7 @@ config BR2_PACKAGE_SQUEEZELITE_VISEXPORT endif -comment "squeezelite needs a toolchain w/ wchar, threads, dynamic library" +comment "squeezelite needs a toolchain w/ wchar, NPTL, dynamic library" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS \ + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ || BR2_STATIC_LIBS diff --git a/package/stella/0003-configure-Add-CXXFLAGS-for-test-compilations.patch b/package/stella/0003-configure-Add-CXXFLAGS-for-test-compilations.patch new file mode 100644 index 000000000..c548d0825 --- /dev/null +++ b/package/stella/0003-configure-Add-CXXFLAGS-for-test-compilations.patch @@ -0,0 +1,44 @@ +From 28f0c20302e5c64712899848cae3d0a48a9dc952 Mon Sep 17 00:00:00 2001 +From: Vlad Zakharov <vzakhar@synopsys.com> +Date: Wed, 10 Aug 2016 18:02:59 +0300 +Subject: [PATCH] configure: Add $CXXFLAGS for test compilations + +Why we are passing only linker flags when compiling test code? +Loosing compiler flags leads to errors. + +Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com> +--- + configure | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/configure b/configure +index 0d90a4f..618fe78 100755 +--- a/configure ++++ b/configure +@@ -63,9 +63,9 @@ cc_check() { + echo >> "$TMPLOG" + cat "$TMPC" >> "$TMPLOG" + echo >> "$TMPLOG" +- echo "$CXX $TMPC $LDFLAGS -o $TMPO$EXEEXT $@" >> "$TMPLOG" ++ echo "$CXX $TMPC $CXXFLAGS $LDFLAGS -o $TMPO$EXEEXT $@" >> "$TMPLOG" + rm -f "$TMPO$EXEEXT" +- ( $CXX "$TMPC" $LDFLAGS -o "$TMPO$EXEEXT" "$@" ) >> "$TMPLOG" 2>&1 ++ ( $CXX "$TMPC" $CXXFLAGS $LDFLAGS -o "$TMPO$EXEEXT" "$@" ) >> "$TMPLOG" 2>&1 + TMP="$?" + echo >> "$TMPLOG" + return "$TMP" +@@ -107,9 +107,9 @@ EOF + + if test -n "$_host"; then + # In cross-compiling mode, we cannot run the result +- eval "$1 $LDFLAGS -o tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp 2> /dev/null" && rm -f tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp ++ eval "$1 $CXXFLAGS $LDFLAGS -o tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp 2> /dev/null" && rm -f tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp + else +- eval "$1 $LDFLAGS -o tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp 2> /dev/null" && eval "./tmp_cxx_compiler 2> /dev/null" && rm -f tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp ++ eval "$1 $CXXFLAGS $LDFLAGS -o tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp 2> /dev/null" && eval "./tmp_cxx_compiler 2> /dev/null" && rm -f tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp + fi + } + +-- +2.5.5 + diff --git a/package/systemd-bootchart/0001-configure-add-option-to-not-build-manpages.patch b/package/systemd-bootchart/0001-configure-add-option-to-not-build-manpages.patch new file mode 100644 index 000000000..ea9f8f24f --- /dev/null +++ b/package/systemd-bootchart/0001-configure-add-option-to-not-build-manpages.patch @@ -0,0 +1,59 @@ +From 60a581253331ac38721a12495909d073eff703b7 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" <yann.morin.1998@free.fr> +Date: Sat, 13 Aug 2016 18:47:17 +0200 +Subject: [PATCH] configure: add option to not build manpages + +Man pages are not always needed, especially on embedded systems. + +Add a configure option to not build them; by default, build them. + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> +--- +Patch sent upstream: + https://github.com/systemd/systemd-bootchart/pull/14 +--- + Makefile.am | 5 ++++- + configure.ac | 10 +++++++++- + 2 files changed, 13 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index a71f8d8..e6510d5 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -74,7 +74,10 @@ EXTRA_DIST = \ + MANPAGES = man/bootchart.conf.5 man/systemd-bootchart.1 + MANPAGES_ALIAS = man/bootchart.conf.d.5 + +-man_MANS = $(MANPAGES) $(MANPAGES_ALIAS) ++if COND_man ++MAYBE_MANPAGES = $(MANPAGES) $(MANPAGES_ALIAS) ++endif ++man_MANS = $(MAYBE_MANPAGES) + + man/bootchart.conf.d.5: man/bootchart.conf.5 + +diff --git a/configure.ac b/configure.ac +index f8e62d8..90e8b03 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -167,8 +167,16 @@ AC_ARG_WITH([rootlibdir], + AC_SUBST([rootprefix], [$with_rootprefix]) + AC_SUBST([rootlibdir], [$with_rootlibdir]) + ++AC_ARG_ENABLE([man], ++ AS_HELP_STRING([--diable-man],[Build the man pages (default: yes)]), ++ [build_man=$enableval], ++ [build_man=yes]) ++ + AC_PATH_PROG([XSLTPROC], [xsltproc]) +-AS_IF([test -z "$XSLTPROC"], AC_MSG_ERROR([*** xsltproc is required for man pages])) ++AS_IF([test -z "$XSLTPROC" -a "$build_man" = "yes"], ++ [AC_MSG_ERROR([*** xsltproc is required for man pages])]) ++ ++AM_CONDITIONAL([COND_man],[test "$build_man" = "yes"]) + + AC_CONFIG_FILES([ + Makefile +-- +2.7.4 + diff --git a/package/systemd-bootchart/Config.in b/package/systemd-bootchart/Config.in index 2a70b8d26..8deb6b9b7 100644 --- a/package/systemd-bootchart/Config.in +++ b/package/systemd-bootchart/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_SYSTEMD_BOOTCHART bool "systemd-bootchart" depends on BR2_INIT_SYSTEMD + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 help systemd-bootchart is a tool, usually run at system startup, that collects the CPU load, disk load, memory usage, as well @@ -19,3 +20,7 @@ config BR2_PACKAGE_SYSTEMD_BOOTCHART these options are enabled. http://www.freedesktop.org/software/systemd/man/systemd-bootchart.html + +comment "systemd-bootchart needs a toolchain w/ headers >= 3.17" + depends on BR2_INIT_SYSTEMD + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 diff --git a/package/systemd-bootchart/systemd-bootchart.mk b/package/systemd-bootchart/systemd-bootchart.mk index 4fdd712ee..3d91b05f7 100644 --- a/package/systemd-bootchart/systemd-bootchart.mk +++ b/package/systemd-bootchart/systemd-bootchart.mk @@ -11,6 +11,15 @@ SYSTEMD_BOOTCHART_SOURCE = systemd-bootchart-$(SYSTEMD_BOOTCHART_VERSION).tar.xz SYSTEMD_BOOTCHART_SITE = https://github.com/systemd/systemd-bootchart/releases/download/v$(SYSTEMD_BOOTCHART_VERSION) SYSTEMD_BOOTCHART_LICENSE = LGPLv2.1+ SYSTEMD_BOOTCHART_LICENSE_FILES = LICENSE.LGPL2.1 -SYSTEMD_BOOTCHART_DEPENDENCIES = systemd +SYSTEMD_BOOTCHART_DEPENDENCIES = host-intltool systemd + +# 0001-configure-add-option-to-not-build-manpages.patch +SYSTEMD_BOOTCHART_AUTORECONF = YES +SYSTEMD_BOOTCHART_CONF_OPTS = --disable-man + +define SYSTEMD_BOOTCHART_INTLTOOLIZE + cd $(@D) && $(HOST_DIR)/usr/bin/intltoolize --force --automake +endef +SYSTEMD_BOOTCHART_PRE_CONFIGURE_HOOKS = SYSTEMD_BOOTCHART_INTLTOOLIZE $(eval $(autotools-package)) diff --git a/package/sysvinit/Config.in b/package/sysvinit/Config.in index ab67ed60f..94f161237 100644 --- a/package/sysvinit/Config.in +++ b/package/sysvinit/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_SYSVINIT bool "sysvinit" + depends on BR2_USE_MMU # fork() depends on BR2_INIT_SYSV depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS help diff --git a/package/tftpd/Config.in b/package/tftpd/Config.in index 6517bd581..ea5cb303f 100644 --- a/package/tftpd/Config.in +++ b/package/tftpd/Config.in @@ -1,5 +1,7 @@ config BR2_PACKAGE_TFTPD bool "tftpd" + # linker issue with pre-6.x toolchains + depends on !(BR2_nios2 && !BR2_TOOLCHAIN_GCC_AT_LEAST_6) depends on BR2_USE_MMU # fork() depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS help diff --git a/package/thrift/thrift.mk b/package/thrift/thrift.mk index a40ddadb1..185e1ec1c 100644 --- a/package/thrift/thrift.mk +++ b/package/thrift/thrift.mk @@ -25,6 +25,11 @@ THRIFT_AUTORECONF_OPTS = -I $(HOST_DIR)/usr/share/autoconf-archive THRIFT_LICENSE = Apache-2.0 THRIFT_LICENSE_FILES = LICENSE +# relocation truncated to fit: R_68K_GOT16O +ifeq ($(BR2_m68k_cf),y) +THRIFT_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -mxgot" +endif + ifeq ($(BR2_STATIC_LIBS),y) # openssl uses zlib, so we need to explicitly link with it when static THRIFT_CONF_ENV += LIBS=-lz diff --git a/package/tinycbor/0001-Makefile-use-installation-logic-compatible-with-old-.patch b/package/tinycbor/0001-Makefile-use-installation-logic-compatible-with-old-.patch deleted file mode 100644 index 8ab69559b..000000000 --- a/package/tinycbor/0001-Makefile-use-installation-logic-compatible-with-old-.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 1d92e2a4af056466dcbefd09750bce07cf1085ed Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Sat, 30 Jul 2016 18:42:53 +0200 -Subject: [PATCH] Makefile: use installation logic compatible with old make - version - -The installation logic used by the Makefile causes a problem with old -make versions, such as make 3.81. Indeed, the rule "$(DESTDIR)%/" gets -matched even for targets like "$(DESTDIR)$(libdir)/libtinycbor.a". Due -to this, with those old make versions, tinycbor.a is installed as a -directory, and the library is never copied: - -make[1]: Entering directory `/home/test/outputs/b1305500555cbb5b959e5be11dee5cf75907f0ce/output/build/tinycbor-v0.3.1' -install -d /home/test/outputs/b1305500555cbb5b959e5be11dee5cf75907f0ce/output/target/usr/bin/cbordump -install -d /home/test/outputs/b1305500555cbb5b959e5be11dee5cf75907f0ce/output/target/usr/lib/libtinycbor.a -install -d /home/test/outputs/b1305500555cbb5b959e5be11dee5cf75907f0ce/output/target/usr/lib/pkgconfig/tinycbor.pc -install -d /home/test/outputs/b1305500555cbb5b959e5be11dee5cf75907f0ce/output/target/usr/include/tinycbor/cbor.h -install -d /home/test/outputs/b1305500555cbb5b959e5be11dee5cf75907f0ce/output/target/usr/include/tinycbor/cborjson.h -make[1]: Leaving directory `/home/test/outputs/b1305500555cbb5b959e5be11dee5cf75907f0ce/output/build/tinycbor-v0.3.1' - -To address this, we create the destination directory directly within -the per-file make targets. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---- - Makefile | 14 ++++++++------ - 1 file changed, 8 insertions(+), 6 deletions(-) - -diff --git a/Makefile b/Makefile -index 0692f6b..94beaf8 100644 ---- a/Makefile -+++ b/Makefile -@@ -123,15 +123,17 @@ $(PACKAGE).tar.gz: | .git - $(PACKAGE).zip: | .git - GIT_DIR=$(SRCDIR).git $(GIT_ARCHIVE) --format=zip -o "$(PACKAGE).zip" HEAD - --$(DESTDIR)%/: -- $(INSTALL) -d $@ --$(DESTDIR)$(libdir)/%: lib/% | $(DESTDIR)$(libdir)/ -+$(DESTDIR)$(libdir)/%: lib/% -+ $(INSTALL) -d $(@D) - $(INSTALL_DATA) $< $@ --$(DESTDIR)$(bindir)/%: bin/% | $(DESTDIR)$(bindir)/ -+$(DESTDIR)$(bindir)/%: bin/% -+ $(INSTALL) -d $(@D) - $(INSTALL_PROGRAM) $< $@ --$(DESTDIR)$(pkgconfigdir)/%: % | $(DESTDIR)$(pkgconfigdir)/ -+$(DESTDIR)$(pkgconfigdir)/%: % -+ $(INSTALL) -d $(@D) - $(INSTALL_DATA) $< $@ --$(DESTDIR)$(includedir)/tinycbor/%: src/% | $(DESTDIR)$(includedir)/tinycbor/ -+$(DESTDIR)$(includedir)/tinycbor/%: src/% -+ $(INSTALL) -d $(@D) - $(INSTALL_DATA) $< $@ - - install-strip: --- -2.7.4 - diff --git a/package/tinycbor/Config.in b/package/tinycbor/Config.in index 41f0b5fac..cf176e46f 100644 --- a/package/tinycbor/Config.in +++ b/package/tinycbor/Config.in @@ -1,5 +1,7 @@ config BR2_PACKAGE_TINYCBOR bool "tinycbor" + # package uses fopencookie(), not available with this toolchain + depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX help Concise Binary Object Representation (CBOR) Library diff --git a/package/tinycbor/tinycbor.hash b/package/tinycbor/tinycbor.hash index e60a86ccd..8757047b1 100644 --- a/package/tinycbor/tinycbor.hash +++ b/package/tinycbor/tinycbor.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 e73a617b3a51fac103df1faab9ea037e509c1491cca29c1fd4b5083d74267597 tinycbor-v0.3.1.tar.gz +sha256 f70de1e6b7e3750abb4ceacf0059e47b47c769f113434de10293b33867ce54c2 tinycbor-v0.3.2.tar.gz +sha256 7d3aa839ae246e9e14fc73e67869d88c684802c1578fb75503f3fdde1482dcf6 ede7f1431ae06c9086f2a83a57bd7832d99280e3.patch diff --git a/package/tinycbor/tinycbor.mk b/package/tinycbor/tinycbor.mk index 0be91b7bb..6af2eef46 100644 --- a/package/tinycbor/tinycbor.mk +++ b/package/tinycbor/tinycbor.mk @@ -4,11 +4,17 @@ # ################################################################################ -TINYCBOR_VERSION = v0.3.1 +TINYCBOR_VERSION = v0.3.2 TINYCBOR_SITE = $(call github,01org,tinycbor,$(TINYCBOR_VERSION)) TINYCBOR_LICENSE = MIT TINYCBOR_LICENSE_FILES = LICENSE +# This patch fixes the issue on unnamed union which are not supported by some +# targets like blackfin +# This patch is currently in dev branch and will be a part of v0.4 +TINYCBOR_PATCH = \ + https://github.com/01org/tinycbor/commit/ede7f1431ae06c9086f2a83a57bd7832d99280e3.patch + TINYCBOR_DEPENDENCIES = host-pkgconf TINYCBOR_INSTALL_STAGING = YES diff --git a/package/tinydtls/tinydtls.mk b/package/tinydtls/tinydtls.mk index 90796b148..fe250014c 100644 --- a/package/tinydtls/tinydtls.mk +++ b/package/tinydtls/tinydtls.mk @@ -11,5 +11,7 @@ TINYDTLS_LICENSE = MIT TINYDTLS_LICENSE_FILES = tinydtls.h TINYDTLS_INSTALL_STAGING = YES TINYDTLS_STRIP_COMPONENTS = 2 +# use inttypes.h data types instead of u_intXX_t for musl compatibility +TINYDTLS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -DSHA2_USE_INTTYPES_H" $(eval $(autotools-package)) diff --git a/package/trace-cmd/0001-trace-cmd-Fix-trace-record.c-with-non-ptrace-compile.patch b/package/trace-cmd/0001-trace-cmd-Fix-trace-record.c-with-non-ptrace-compile.patch new file mode 100644 index 000000000..5f7d2bab7 --- /dev/null +++ b/package/trace-cmd/0001-trace-cmd-Fix-trace-record.c-with-non-ptrace-compile.patch @@ -0,0 +1,32 @@ +From bdfcddd4f135dc1d4fefb0373d9ebb93ef5110cb Mon Sep 17 00:00:00 2001 +From: "Steven Rostedt (Red Hat)" <rostedt@goodmis.org> +Date: Mon, 7 Dec 2015 16:41:19 -0500 +Subject: [PATCH] trace-cmd: Fix trace-record.c with non ptrace compile + +Fix ptrace_wait() when NO_PTRACE=1 is defined. + +Status: upstream + +Signed-off-by: Steven Rostedt <rostedt@goodmis.org> +[Romain backport to 2.6] +Signed-off-by: Romain Naour <romain.naour@gmail.com> +--- + trace-record.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/trace-record.c b/trace-record.c +index df82883..f83ec4b 100644 +--- a/trace-record.c ++++ b/trace-record.c +@@ -1099,7 +1099,7 @@ static void ptrace_wait(enum trace_type type, int main_pid) + (!WIFEXITED(status) || pid != main_pid)); + } + #else +-static inline void ptrace_wait(int main_pid) { } ++static inline void ptrace_wait(enum trace_type type, int main_pid) { } + static inline void enable_ptrace(void) { } + static inline void ptrace_attach(int pid) { } + +-- +2.5.5 + diff --git a/package/trousers/0003-tsp_tcsi_param-include-limits.h-to-fix-musl-build.patch b/package/trousers/0003-tsp_tcsi_param-include-limits.h-to-fix-musl-build.patch new file mode 100644 index 000000000..f88e47ac2 --- /dev/null +++ b/package/trousers/0003-tsp_tcsi_param-include-limits.h-to-fix-musl-build.patch @@ -0,0 +1,29 @@ +From 66bbe0a87818a1e3c721780dc33b2d81fdf4a774 Mon Sep 17 00:00:00 2001 +From: Romain Naour <romain.naour@gmail.com> +Date: Sun, 21 Aug 2016 23:32:10 +0200 +Subject: [PATCH] tsp_tcsi_param: include limits.h to fix musl build + +The musl libc doesn't provide <bits/local_lim.h>, use <limits.h> +instead. + +Signed-off-by: Romain Naour <romain.naour@gmail.com> +--- + src/tspi/tsp_tcsi_param.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/tspi/tsp_tcsi_param.c b/src/tspi/tsp_tcsi_param.c +index 670f86f..8f2b4e4 100644 +--- a/src/tspi/tsp_tcsi_param.c ++++ b/src/tspi/tsp_tcsi_param.c +@@ -11,7 +11,7 @@ + #include <stdlib.h> + #include <string.h> + #include <stdio.h> +-#include <bits/local_lim.h> ++#include <limits.h> + #include "trousers/tss.h" + #include "trousers/trousers.h" + #include "trousers_types.h" +-- +2.5.5 + diff --git a/package/trousers/0004-Check-that-getpwent_r-is-available-before-using-it.patch b/package/trousers/0004-Check-that-getpwent_r-is-available-before-using-it.patch new file mode 100644 index 000000000..7014ad7af --- /dev/null +++ b/package/trousers/0004-Check-that-getpwent_r-is-available-before-using-it.patch @@ -0,0 +1,80 @@ +From 9e42c405f30d2b52d019598436ea346ef8586f43 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?No=C3=A9=20Rubinstein?= <nrubinstein@aldebaran.com> +Date: Wed, 24 Aug 2016 18:55:25 +0200 +Subject: [PATCH] Check that getpwent_r is available before using it + +This fixes building trousers with musl + +Signed-off-by: Noé Rubinstein <nrubinstein@aldebaran.com> +--- + configure.in | 4 ++++ + src/tspi/ps/tspps.c | 10 +++++----- + 2 files changed, 9 insertions(+), 5 deletions(-) + +diff --git a/configure.in b/configure.in +index fd3f5f1..e3d7acf 100644 +--- a/configure.in ++++ b/configure.in +@@ -145,6 +145,10 @@ else + AC_MSG_ERROR(["gtk", "openssl" and "none" are the only supported gui options for trousers]) + fi + ++# Look for getpwent_r. If it is not found, getpwent will be used instead, with ++# an additional mutex. ++AC_CHECK_FUNC(getpwent_r, [AC_DEFINE(HAVE_GETPWENT_R)]) ++ + # + # The default port that the TCS daemon listens on + # +diff --git a/src/tspi/ps/tspps.c b/src/tspi/ps/tspps.c +index c6f9c3d..9d00d2a 100644 +--- a/src/tspi/ps/tspps.c ++++ b/src/tspi/ps/tspps.c +@@ -45,7 +45,7 @@ + + static int user_ps_fd = -1; + static MUTEX_DECLARE_INIT(user_ps_lock); +-#if (defined (__FreeBSD__) || defined (__OpenBSD__)) ++#ifndef HAVE_GETPWENT_R + static MUTEX_DECLARE_INIT(user_ps_path); + #endif + static struct flock fl; +@@ -60,7 +60,7 @@ get_user_ps_path(char **file) + TSS_RESULT result; + char *file_name = NULL, *home_dir = NULL; + struct passwd *pwp; +-#if (defined (__linux) || defined (linux) || defined(__GLIBC__)) ++#ifdef HAVE_GETPWENT_R + struct passwd pw; + #endif + struct stat stat_buf; +@@ -72,7 +72,7 @@ get_user_ps_path(char **file) + *file = strdup(file_name); + return (*file) ? TSS_SUCCESS : TSPERR(TSS_E_OUTOFMEMORY); + } +-#if (defined (__FreeBSD__) || defined (__OpenBSD__)) ++#ifndef HAVE_GETPWENT_R + MUTEX_LOCK(user_ps_path); + #endif + +@@ -90,7 +90,7 @@ get_user_ps_path(char **file) + #else + setpwent(); + while (1) { +-#if (defined (__linux) || defined (linux) || defined(__GLIBC__)) ++#ifdef HAVE_GETPWENT_R + rc = getpwent_r(&pw, buf, PASSWD_BUFSIZE, &pwp); + if (rc) { + LogDebugFn("USER PS: Error getting path to home directory: getpwent_r: %s", +@@ -99,7 +99,7 @@ get_user_ps_path(char **file) + return TSPERR(TSS_E_INTERNAL_ERROR); + } + +-#elif (defined (__FreeBSD__) || defined (__OpenBSD__)) ++#else + if ((pwp = getpwent()) == NULL) { + LogDebugFn("USER PS: Error getting path to home directory: getpwent: %s", + strerror(rc)); +-- +2.1.4 + diff --git a/package/trousers/trousers.mk b/package/trousers/trousers.mk index be6ce390a..3d9e0badc 100644 --- a/package/trousers/trousers.mk +++ b/package/trousers/trousers.mk @@ -12,7 +12,7 @@ TROUSERS_LICENSE_FILES = LICENSE TROUSERS_INSTALL_STAGING = YES # Need autoreconf because of a patch touching configure.in and Makefile.am TROUSERS_AUTORECONF = YES -TROUSERS_DEPENDENCIES = openssl +TROUSERS_DEPENDENCIES = host-pkgconf openssl ifeq ($(BR2_PACKAGE_LIBICONV),y) TROUSERS_DEPENDENCIES += libiconv diff --git a/package/tstools/Config.in b/package/tstools/Config.in index f5dd138c4..ca5f8fc2c 100644 --- a/package/tstools/Config.in +++ b/package/tstools/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_TSTOOLS bool "tstools" depends on BR2_USE_MMU # fork() + depends on !BR2_STATIC_LIBS help This is a set of cross-platform command line tools for working with MPEG data. @@ -14,3 +15,7 @@ config BR2_PACKAGE_TSTOOLS data on DVDs. https://github.com/kynesim/tstools/ + +comment "tstools needs a toolchain w/ dynamic library" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS diff --git a/package/uboot-tools/Config.in b/package/uboot-tools/Config.in index 88d622560..f55614bac 100644 --- a/package/uboot-tools/Config.in +++ b/package/uboot-tools/Config.in @@ -9,6 +9,7 @@ if BR2_PACKAGE_UBOOT_TOOLS config BR2_PACKAGE_UBOOT_TOOLS_FIT_SUPPORT bool "Flattened Image Tree (FIT) support" + depends on !BR2_STATIC_LIBS select BR2_PACKAGE_DTC select BR2_PACKAGE_DTC_PROGRAMS help @@ -20,6 +21,9 @@ config BR2_PACKAGE_UBOOT_TOOLS_FIT_SUPPORT in a single blob. To boot this new uImage structure, pass the address of the blob to the "bootm" command. +comment "u-boot tools FIT support needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + if BR2_PACKAGE_UBOOT_TOOLS_FIT_SUPPORT config BR2_PACKAGE_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT diff --git a/package/uclibc/0001-arm-fix-compile-in-thumb-mode.patch b/package/uclibc/0001-arm-fix-compile-in-thumb-mode.patch new file mode 100644 index 000000000..43fcb6f43 --- /dev/null +++ b/package/uclibc/0001-arm-fix-compile-in-thumb-mode.patch @@ -0,0 +1,48 @@ +From bbd7151f7980c7d075fe652331f01d3aadc73e42 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb <wbx@uclibc-ng.org> +Date: Mon, 8 Aug 2016 06:41:03 +0200 +Subject: [PATCH] arm: fix compile in thumb mode + +Fix a regression introduced by commit +0550ecce0e6580c5ad34e9a9a39ff18ccf8774f9 + +Reported by Buildroot developers. + +Embedded test must be extented to ARMv7 thumb2 builds to +find such regressions next time. It wasn't triggered by a +cortex-m4 ARM noMMU build. + +[yann.morin.1998@free.fr: backport from upstream] +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> +--- + libc/sysdeps/linux/arm/bits/syscalls.h | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/libc/sysdeps/linux/arm/bits/syscalls.h b/libc/sysdeps/linux/arm/bits/syscalls.h +index 5b30564..6c62a9e 100644 +--- a/libc/sysdeps/linux/arm/bits/syscalls.h ++++ b/libc/sysdeps/linux/arm/bits/syscalls.h +@@ -43,6 +43,9 @@ + }) \ + ) + ++#define INTERNAL_SYSCALL_ARM(name, err, nr, args...) \ ++ INTERNAL_SYSCALL_NCS(__ARM_NR_##name, err, nr, args) ++ + #if defined(__thumb__) + /* We can't use push/pop inside the asm because that breaks + unwinding (ie. thread cancellation). +@@ -83,10 +86,6 @@ + } \ + (int) __internal_sys_result; }) \ + ) +- +-#undef INTERNAL_SYSCALL_ARM +-#define INTERNAL_SYSCALL_ARM(name, err, nr, args...) \ +- INTERNAL_SYSCALL_NCS(__ARM_NR_##name, err, nr, args) + #endif + + #define INTERNAL_SYSCALL_ERROR_P(val, err) \ +-- +2.7.4 + diff --git a/package/uclibc/0002-sunrpc-Do-not-use-alloca-in-clntudp_call.patch b/package/uclibc/0002-sunrpc-Do-not-use-alloca-in-clntudp_call.patch new file mode 100644 index 000000000..b0c523cc5 --- /dev/null +++ b/package/uclibc/0002-sunrpc-Do-not-use-alloca-in-clntudp_call.patch @@ -0,0 +1,59 @@ +From 9213ad631513d0e67d9d31465c9cdb3f3dde0399 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb <wbx@uclibc-ng.org> +Date: Fri, 5 Aug 2016 21:33:44 +0200 +Subject: [PATCH 2/3] sunrpc: Do not use alloca in clntudp_call + +CVE-2016-4429: +The call is technically in a loop, and under certain circumstances +(which are quite difficult to reproduce in a test case), alloca +can be invoked repeatedly during a single call to clntudp_call. +As a result, the available stack space can be exhausted (even +though individual alloca sizes are bounded implicitly by what +can fit into a UDP packet, as a side effect of the earlier +successful send operation). + +From GNU libc: +https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=bc779a1a5b3035133024b21e2f339fe4219fb11c + +Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org> +--- + libc/inet/rpc/clnt_udp.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/libc/inet/rpc/clnt_udp.c b/libc/inet/rpc/clnt_udp.c +index 4fc55b7..ce7e9e6 100644 +--- a/libc/inet/rpc/clnt_udp.c ++++ b/libc/inet/rpc/clnt_udp.c +@@ -368,9 +368,15 @@ send_again: + struct sock_extended_err *e; + struct sockaddr_in err_addr; + struct iovec iov; +- char *cbuf = (char *) alloca (outlen + 256); ++ char *cbuf = malloc (outlen + 256); + int ret; + ++ if (cbuf == NULL) ++ { ++ cu->cu_error.re_errno = errno; ++ return (cu->cu_error.re_status = RPC_CANTRECV); ++ } ++ + iov.iov_base = cbuf + 256; + iov.iov_len = outlen; + msg.msg_name = (void *) &err_addr; +@@ -395,10 +401,12 @@ send_again: + cmsg = CMSG_NXTHDR (&msg, cmsg)) + if (cmsg->cmsg_level == SOL_IP && cmsg->cmsg_type == IP_RECVERR) + { ++ free (cbuf); + e = (struct sock_extended_err *) CMSG_DATA(cmsg); + cu->cu_error.re_errno = e->ee_errno; + return (cu->cu_error.re_status = RPC_CANTRECV); + } ++ free (cbuf); + } + #endif + do +-- +2.7.4 (Apple Git-66) + diff --git a/package/uclibc/0003-ARC-Support-syscall-ABI-v4.patch b/package/uclibc/0003-ARC-Support-syscall-ABI-v4.patch new file mode 100644 index 000000000..058adcac9 --- /dev/null +++ b/package/uclibc/0003-ARC-Support-syscall-ABI-v4.patch @@ -0,0 +1,54 @@ +From 3e40f9669279f005f7154892539166f5081fbcb2 Mon Sep 17 00:00:00 2001 +From: Vineet Gupta <Vineet.Gupta1@synopsys.com> +Date: Tue, 16 Aug 2016 15:04:27 -0700 +Subject: [PATCH] ARC: Support syscall ABI v4 + +The syscall ABI includes the gcc functional calling ABI since a syscall +implies userland caller and kernel callee. + +The current gcc ABI (v3) for ARCv2 ISA required 64-bit data be passed in +even-odd register pairs, (potentially punching reg holes when passing such +values as args). This was partly driven by the fact that the double-word +LDD/STD instructions in ARCv2 expect the register alignment and thus gcc +forcing this avoids extra MOV at the cost of a few unused register (which we +have plenty anyways). + +This however was rejected as part of upstreaming gcc port to HS. So the new +ABI v4 doesn't enforce the even-odd reg restriction. + +Do note that for ARCompact ISA builds v3 and v4 are practically the same in +terms of gcc code generation. + +This change is dormant for now (gcc 4.8.x based tools) and will only kick +in with switch to gcc 6.x based tools. + +Signed-off-by: Vineet Gupta <vgupta@synopsys.com> +Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com> +--- + libc/sysdeps/linux/arc/bits/uClibc_arch_features.h | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h b/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h +index 5160724..94e089d 100755 +--- a/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h ++++ b/libc/sysdeps/linux/arc/bits/uClibc_arch_features.h +@@ -41,8 +41,14 @@ + /* The default ';' is a comment on ARC. */ + #define __UCLIBC_ASM_LINE_SEP__ ` + +-/* does your target align 64bit values in register pairs ? (32bit arches only) */ +-#if defined(__A7__) ++/* does your target align 64bit values in register pairs ? (32bit arches only) ++ * - ARC700 never had any constraint on reg pairs (even if ABI v3) ++ * - Inital HS ABI (v3: non upstream gcc) had 64-bit data aligned in even-odd ++ * reg pairs (thus allowed reg holes when passing such args to calls) ++ * - Upstream gcc (6.x) HS ABI doesn't have that restriction ++ */ ++ ++#if defined(__A7__) || (__GNUC__ > 4) + #undef __UCLIBC_SYSCALL_ALIGN_64BIT__ + #else + #define __UCLIBC_SYSCALL_ALIGN_64BIT__ +-- +2.7.4 + diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in index 7c99195d0..33969cc1c 100644 --- a/package/uclibc/Config.in +++ b/package/uclibc/Config.in @@ -47,26 +47,25 @@ config BR2_TOOLCHAIN_BUILDROOT_LOCALE choice prompt "Thread library implementation" - default BR2_PTHREADS_NATIVE - default BR2_PTHREADS if !BR2_USE_MMU help Use this option to select the thread library implementation that should be used in your toolchain. - config BR2_PTHREADS_NONE - bool "none" - - config BR2_PTHREADS - bool "linuxthreads" - select BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_bfin || BR2_m68k || BR2_microblaze || BR2_arm || BR2_armeb || BR2_xtensa - config BR2_PTHREADS_NATIVE bool "Native POSIX Threading (NPTL)" select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_USE_MMU depends on !BR2_m68k && !BR2_microblaze + + config BR2_PTHREADS + bool "linuxthreads" + select BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_bfin || BR2_m68k || BR2_microblaze || BR2_arm || BR2_armeb || BR2_xtensa + + config BR2_PTHREADS_NONE + bool "none" + endchoice config BR2_PTHREAD_DEBUG diff --git a/package/ulogd/0001-ulogd-Use-dev-null-as-dummy-logfile-when-logging-to-.patch b/package/ulogd/0001-ulogd-Use-dev-null-as-dummy-logfile-when-logging-to-.patch new file mode 100644 index 000000000..c7b284a0a --- /dev/null +++ b/package/ulogd/0001-ulogd-Use-dev-null-as-dummy-logfile-when-logging-to-.patch @@ -0,0 +1,70 @@ +From 8a6ddd1cb2b55c234f1a97f7e5d996f24f46b6f8 Mon Sep 17 00:00:00 2001 +From: Felix Janda <felix.janda@posteo.de> +Date: Sat, 16 May 2015 17:43:23 +0200 +Subject: [PATCH] ulogd: Use /dev/null as dummy logfile when logging to + syslog + +Fixes compilation error with musl libc: + +ulogd.c:86:13: error: storage size of 'syslog_dummy' isn't known + static FILE syslog_dummy; + +Signed-off-by: Felix Janda <felix.janda@posteo.de> +[Rahul Bedarkar: Backported from https://git.netfilter.org/ulogd2/commit/?id=8a6ddd1cb2b55c234f1a97f7e5d996f24f46b6f8] +Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com> +--- + src/ulogd.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/ulogd.c b/src/ulogd.c +index e7cde39..958c30a 100644 +--- a/src/ulogd.c ++++ b/src/ulogd.c +@@ -83,7 +83,7 @@ static char *ulogd_logfile = NULL; + static const char *ulogd_configfile = ULOGD_CONFIGFILE; + static const char *ulogd_pidfile = NULL; + static int ulogd_pidfile_fd = -1; +-static FILE syslog_dummy; ++static FILE *syslog_dummy; + + static int info_mode = 0; + +@@ -427,7 +427,7 @@ void __ulogd_log(int level, char *file, int line, const char *format, ...) + if (level < loglevel_ce.u.value) + return; + +- if (logfile == &syslog_dummy) { ++ if (logfile == syslog_dummy) { + /* FIXME: this omits the 'file' string */ + va_start(ap, format); + vsyslog(ulogd2syslog_level(level), format, ap); +@@ -950,7 +950,7 @@ static int logfile_open(const char *name) + logfile = stdout; + } else if (!strcmp(name, "syslog")) { + openlog("ulogd", LOG_PID, LOG_DAEMON); +- logfile = &syslog_dummy; ++ logfile = syslog_dummy = fopen("/dev/null", "w"); + } else { + logfile = fopen(ulogd_logfile, "a"); + if (!logfile) { +@@ -1240,7 +1240,7 @@ static void sigterm_handler(int signal) + unload_plugins(); + #endif + +- if (logfile != NULL && logfile != stdout && logfile != &syslog_dummy) { ++ if (logfile != NULL && logfile != stdout) { + fclose(logfile); + logfile = NULL; + } +@@ -1262,7 +1262,7 @@ static void signal_handler(int signal) + switch (signal) { + case SIGHUP: + /* reopen logfile */ +- if (logfile != stdout && logfile != &syslog_dummy) { ++ if (logfile != stdout && logfile != syslog_dummy) { + fclose(logfile); + logfile = fopen(ulogd_logfile, "a"); + if (!logfile) { +-- +2.6.2 + diff --git a/package/ulogd/0002-Define-_GNU_SOURCE-to-get-members-of-tcphdr.patch b/package/ulogd/0002-Define-_GNU_SOURCE-to-get-members-of-tcphdr.patch new file mode 100644 index 000000000..0fbef834e --- /dev/null +++ b/package/ulogd/0002-Define-_GNU_SOURCE-to-get-members-of-tcphdr.patch @@ -0,0 +1,44 @@ +From 89263555143e3c0125320ca565b41805f27460c9 Mon Sep 17 00:00:00 2001 +From: Felix Janda <felix.janda@posteo.de> +Date: Sat, 16 May 2015 15:44:32 +0200 +Subject: [PATCH] Define _GNU_SOURCE to get members of tcphdr + +The source uses linux names for members of tcphdr. For example +"source" instead of "th_sport", ... musl libc's headers need +_GNU_SOURCE defined in order to expose these. + +Signed-off-by: Felix Janda <felix.janda@posteo.de> +[Rahul Bedarkar: Backported from https://git.netfilter.org/ulogd2/commit/?id=89263555143e3c0125320ca565b41805f27460c9] +Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com> +--- + filter/raw2packet/ulogd_raw2packet_BASE.c | 1 + + filter/ulogd_filter_PWSNIFF.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/filter/raw2packet/ulogd_raw2packet_BASE.c b/filter/raw2packet/ulogd_raw2packet_BASE.c +index c9d5227..ad894fc 100644 +--- a/filter/raw2packet/ulogd_raw2packet_BASE.c ++++ b/filter/raw2packet/ulogd_raw2packet_BASE.c +@@ -35,6 +35,7 @@ + #include <netinet/ip.h> + #include <netinet/ip6.h> + #include <netinet/in.h> ++#define _GNU_SOURCE + #include <netinet/tcp.h> + #include <netinet/ip_icmp.h> + #include <netinet/icmp6.h> +diff --git a/filter/ulogd_filter_PWSNIFF.c b/filter/ulogd_filter_PWSNIFF.c +index 5169eee..a3e2b42 100644 +--- a/filter/ulogd_filter_PWSNIFF.c ++++ b/filter/ulogd_filter_PWSNIFF.c +@@ -25,6 +25,7 @@ + #include <sys/socket.h> + #include <netinet/ip.h> + #include <netinet/in.h> ++#define _GNU_SOURCE + #include <netinet/tcp.h> + #include <ulogd/ulogd.h> + +-- +2.6.2 + diff --git a/package/ulogd/0003-Use-stdint-types-everywhere.patch b/package/ulogd/0003-Use-stdint-types-everywhere.patch new file mode 100644 index 000000000..66408d6d0 --- /dev/null +++ b/package/ulogd/0003-Use-stdint-types-everywhere.patch @@ -0,0 +1,792 @@ +From c9337b31f756cae85299c8275b21088ce02885e2 Mon Sep 17 00:00:00 2001 +From: Felix Janda <felix.janda@posteo.de> +Date: Wed, 24 Jun 2015 19:53:34 +0200 +Subject: [PATCH] Use stdint types everywhere + +Signed-off-by: Felix Janda <felix.janda@posteo.de> +[Rahul Bedarkar: + - backported from https://git.netfilter.org/ulogd2/commit/?id=c9337b31f756cae85299c8275b21088ce02885e2 + - remove hunk for output/ulogd_output_IPFIX.c as file doesn't exist in version we use] +Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com> +--- + filter/raw2packet/ulogd_raw2packet_BASE.c | 35 +++++++++++++------------- + filter/ulogd_filter_HWHDR.c | 6 ++--- + filter/ulogd_filter_IP2HBIN.c | 4 +-- + filter/ulogd_filter_IP2STR.c | 2 +- + filter/ulogd_filter_MARK.c | 4 +-- + filter/ulogd_filter_PWSNIFF.c | 4 +-- + include/libipulog/libipulog.h | 7 +++--- + include/ulogd/addr.h | 4 ++- + include/ulogd/conffile.h | 10 ++++---- + include/ulogd/ipfix_protocol.h | 38 +++++++++++++++------------- + include/ulogd/ulogd.h | 42 +++++++++++++++---------------- + input/packet/ulogd_inppkt_NFLOG.c | 16 ++++++------ + input/packet/ulogd_inppkt_UNIXSOCK.c | 34 ++++++++++++------------- + libipulog/libipulog.c | 8 +++--- + output/mysql/ulogd_output_MYSQL.c | 2 +- + output/ulogd_output_IPFIX.c | 20 +++++++-------- + src/addr.c | 4 +-- + util/db.c | 2 +- + util/printpkt.c | 6 ++--- + 19 files changed, 126 insertions(+), 122 deletions(-) + +diff --git a/filter/raw2packet/ulogd_raw2packet_BASE.c b/filter/raw2packet/ulogd_raw2packet_BASE.c +index ad894fc..8a6180c 100644 +--- a/filter/raw2packet/ulogd_raw2packet_BASE.c ++++ b/filter/raw2packet/ulogd_raw2packet_BASE.c +@@ -44,6 +44,7 @@ + #include <ulogd/ipfix_protocol.h> + #include <netinet/if_ether.h> + #include <string.h> ++#include <linux/types.h> + + enum input_keys { + INKEY_RAW_PCKT, +@@ -538,7 +539,7 @@ static struct ulogd_key iphdr_rets[] = { + ***********************************************************************/ + + static int _interp_tcp(struct ulogd_pluginstance *pi, struct tcphdr *tcph, +- u_int32_t len) ++ uint32_t len) + { + struct ulogd_key *ret = pi->output.keys; + +@@ -573,7 +574,7 @@ static int _interp_tcp(struct ulogd_pluginstance *pi, struct tcphdr *tcph, + ***********************************************************************/ + + static int _interp_udp(struct ulogd_pluginstance *pi, struct udphdr *udph, +- u_int32_t len) ++ uint32_t len) + + { + struct ulogd_key *ret = pi->output.keys; +@@ -602,7 +603,7 @@ typedef struct sctphdr { + } __attribute__((packed)) sctp_sctphdr_t; + + static int _interp_sctp(struct ulogd_pluginstance *pi, struct sctphdr *sctph, +- u_int32_t len) ++ uint32_t len) + + { + struct ulogd_key *ret = pi->output.keys; +@@ -625,7 +626,7 @@ static int _interp_sctp(struct ulogd_pluginstance *pi, struct sctphdr *sctph, + ***********************************************************************/ + + static int _interp_icmp(struct ulogd_pluginstance *pi, struct icmphdr *icmph, +- u_int32_t len) ++ uint32_t len) + { + struct ulogd_key *ret = pi->output.keys; + +@@ -663,7 +664,7 @@ static int _interp_icmp(struct ulogd_pluginstance *pi, struct icmphdr *icmph, + ***********************************************************************/ + + static int _interp_icmpv6(struct ulogd_pluginstance *pi, struct icmp6_hdr *icmph, +- u_int32_t len) ++ uint32_t len) + { + struct ulogd_key *ret = pi->output.keys; + +@@ -691,7 +692,7 @@ static int _interp_icmpv6(struct ulogd_pluginstance *pi, struct icmp6_hdr *icmph + * IPSEC HEADER + ***********************************************************************/ + static int _interp_ahesp(struct ulogd_pluginstance *pi, void *protoh, +- u_int32_t len) ++ uint32_t len) + { + #if 0 + struct ulogd_key *ret = pi->output.keys; +@@ -711,14 +712,14 @@ static int _interp_ahesp(struct ulogd_pluginstance *pi, void *protoh, + * IP HEADER + ***********************************************************************/ + +-static int _interp_iphdr(struct ulogd_pluginstance *pi, u_int32_t len) ++static int _interp_iphdr(struct ulogd_pluginstance *pi, uint32_t len) + { + struct ulogd_key *ret = pi->output.keys; + struct iphdr *iph = + ikey_get_ptr(&pi->input.keys[INKEY_RAW_PCKT]); +- void *nexthdr = (u_int32_t *)iph + iph->ihl; ++ void *nexthdr = (uint32_t *)iph + iph->ihl; + +- if (len < sizeof(struct iphdr) || len <= (u_int32_t)(iph->ihl * 4)) ++ if (len < sizeof(struct iphdr) || len <= (uint32_t)(iph->ihl * 4)) + return ULOGD_IRET_OK; + len -= iph->ihl * 4; + +@@ -759,7 +760,7 @@ static int _interp_iphdr(struct ulogd_pluginstance *pi, u_int32_t len) + * IPv6 HEADER + ***********************************************************************/ + +-static int ip6_ext_hdr(u_int8_t nexthdr) ++static int ip6_ext_hdr(uint8_t nexthdr) + { + switch (nexthdr) { + case IPPROTO_HOPOPTS: +@@ -774,12 +775,12 @@ static int ip6_ext_hdr(u_int8_t nexthdr) + } + } + +-static int _interp_ipv6hdr(struct ulogd_pluginstance *pi, u_int32_t len) ++static int _interp_ipv6hdr(struct ulogd_pluginstance *pi, uint32_t len) + { + struct ulogd_key *ret = pi->output.keys; + struct ip6_hdr *ipv6h = ikey_get_ptr(&pi->input.keys[INKEY_RAW_PCKT]); + unsigned int ptr, hdrlen = 0; +- u_int8_t curhdr; ++ uint8_t curhdr; + int fragment = 0; + + if (len < sizeof(struct ip6_hdr)) +@@ -889,7 +890,7 @@ out: + /*********************************************************************** + * ARP HEADER + ***********************************************************************/ +-static int _interp_arp(struct ulogd_pluginstance *pi, u_int32_t len) ++static int _interp_arp(struct ulogd_pluginstance *pi, uint32_t len) + { + struct ulogd_key *ret = pi->output.keys; + const struct ether_arp *arph = +@@ -914,9 +915,9 @@ static int _interp_arp(struct ulogd_pluginstance *pi, u_int32_t len) + * ETHER HEADER + ***********************************************************************/ + +-static int _interp_bridge(struct ulogd_pluginstance *pi, u_int32_t len) ++static int _interp_bridge(struct ulogd_pluginstance *pi, uint32_t len) + { +- const u_int16_t proto = ++ const uint16_t proto = + ikey_get_u16(&pi->input.keys[INKEY_OOB_PROTOCOL]); + + switch (proto) { +@@ -938,8 +939,8 @@ static int _interp_bridge(struct ulogd_pluginstance *pi, u_int32_t len) + + static int _interp_pkt(struct ulogd_pluginstance *pi) + { +- u_int32_t len = ikey_get_u32(&pi->input.keys[INKEY_RAW_PCKTLEN]); +- u_int8_t family = ikey_get_u8(&pi->input.keys[INKEY_OOB_FAMILY]); ++ uint32_t len = ikey_get_u32(&pi->input.keys[INKEY_RAW_PCKTLEN]); ++ uint8_t family = ikey_get_u8(&pi->input.keys[INKEY_OOB_FAMILY]); + struct ulogd_key *ret = pi->output.keys; + + okey_set_u16(&ret[KEY_OOB_PROTOCOL], +diff --git a/filter/ulogd_filter_HWHDR.c b/filter/ulogd_filter_HWHDR.c +index 3b095c9..10c95c4 100644 +--- a/filter/ulogd_filter_HWHDR.c ++++ b/filter/ulogd_filter_HWHDR.c +@@ -143,10 +143,10 @@ static void *hwhdr_get_daddr(struct ulogd_key *inp) + return ikey_get_ptr(&inp[KEY_RAW_MAC]); + } + +-static u_int16_t hwhdr_get_len(struct ulogd_key *inp) ++static uint16_t hwhdr_get_len(struct ulogd_key *inp) + { + void *len = ikey_get_ptr(&inp[KEY_RAW_MAC]) + 2 * ETH_ALEN; +- return ntohs(*(u_int16_t *) len); ++ return ntohs(*(uint16_t *) len); + } + static int parse_ethernet(struct ulogd_key *ret, struct ulogd_key *inp) + { +@@ -171,7 +171,7 @@ static int interp_mac2str(struct ulogd_pluginstance *pi) + { + struct ulogd_key *ret = pi->output.keys; + struct ulogd_key *inp = pi->input.keys; +- u_int16_t type = 0; ++ uint16_t type = 0; + + if (pp_is_valid(inp, KEY_OOB_PROTOCOL)) + okey_set_u16(&ret[KEY_MAC_PROTOCOL], +diff --git a/filter/ulogd_filter_IP2HBIN.c b/filter/ulogd_filter_IP2HBIN.c +index 4fd3ff1..087e824 100644 +--- a/filter/ulogd_filter_IP2HBIN.c ++++ b/filter/ulogd_filter_IP2HBIN.c +@@ -116,8 +116,8 @@ static int interp_ip2hbin(struct ulogd_pluginstance *pi) + { + struct ulogd_key *ret = pi->output.keys; + struct ulogd_key *inp = pi->input.keys; +- u_int8_t family = ikey_get_u8(&inp[KEY_OOB_FAMILY]); +- u_int8_t convfamily = family; ++ uint8_t family = ikey_get_u8(&inp[KEY_OOB_FAMILY]); ++ uint8_t convfamily = family; + int i; + + switch (family) { +diff --git a/filter/ulogd_filter_IP2STR.c b/filter/ulogd_filter_IP2STR.c +index 732e1ef..66324b0 100644 +--- a/filter/ulogd_filter_IP2STR.c ++++ b/filter/ulogd_filter_IP2STR.c +@@ -168,7 +168,7 @@ static int ip2str(struct ulogd_key *inp, int index, int oindex) + } + + switch (convfamily) { +- u_int32_t ip; ++ uint32_t ip; + case AF_INET6: + inet_ntop(AF_INET6, + ikey_get_u128(&inp[index]), +diff --git a/filter/ulogd_filter_MARK.c b/filter/ulogd_filter_MARK.c +index 7807f63..149725d 100644 +--- a/filter/ulogd_filter_MARK.c ++++ b/filter/ulogd_filter_MARK.c +@@ -73,14 +73,14 @@ static int interp_mark(struct ulogd_pluginstance *pi) + if (pp_is_valid(inp, KEY_CT_MARK)) { + if ((ikey_get_u32(&inp[KEY_CT_MARK]) & + pi->config_kset->ces[MARK_MASK].u.value) != +- (u_int32_t) pi->config_kset->ces[MARK_MARK].u.value ++ (uint32_t) pi->config_kset->ces[MARK_MARK].u.value + ) { + return ULOGD_IRET_STOP; + } + } else if (pp_is_valid(inp, KEY_OOB_MARK)) { + if ((ikey_get_u32(&inp[KEY_OOB_MARK]) & + pi->config_kset->ces[MARK_MASK].u.value) != +- (u_int32_t) pi->config_kset->ces[MARK_MARK].u.value ++ (uint32_t) pi->config_kset->ces[MARK_MARK].u.value + ) { + return ULOGD_IRET_STOP; + } +diff --git a/filter/ulogd_filter_PWSNIFF.c b/filter/ulogd_filter_PWSNIFF.c +index a3e2b42..934ff0e 100644 +--- a/filter/ulogd_filter_PWSNIFF.c ++++ b/filter/ulogd_filter_PWSNIFF.c +@@ -39,7 +39,7 @@ + #define PORT_POP3 110 + #define PORT_FTP 21 + +-static u_int16_t pwsniff_ports[] = { ++static uint16_t pwsniff_ports[] = { + PORT_POP3, + PORT_FTP, + /* feel free to include any other ports here, provided that their +@@ -72,7 +72,7 @@ static int interp_pwsniff(struct ulogd_pluginstance *pi) + return ULOGD_IRET_STOP; + + iph = (struct iphdr *) pi->input.keys[0].u.value.ptr; +- protoh = (u_int32_t *)iph + iph->ihl; ++ protoh = (uint32_t *)iph + iph->ihl; + tcph = protoh; + tcplen = ntohs(iph->tot_len) - iph->ihl * 4; + +diff --git a/include/libipulog/libipulog.h b/include/libipulog/libipulog.h +index b3c9616..21b4315 100644 +--- a/include/libipulog/libipulog.h ++++ b/include/libipulog/libipulog.h +@@ -4,10 +4,9 @@ + #include <errno.h> + #include <unistd.h> + #include <fcntl.h> +-#include <sys/types.h> + #include <sys/socket.h> + #include <sys/uio.h> +-#include <asm/types.h> ++#include <stdint.h> + #include <linux/netlink.h> + #include <net/if.h> + #include <linux/netfilter_ipv4/ipt_ULOG.h> +@@ -20,9 +19,9 @@ + struct ipulog_handle; + extern int ipulog_errno; + +-u_int32_t ipulog_group2gmask(u_int32_t group); ++uint32_t ipulog_group2gmask(uint32_t group); + +-struct ipulog_handle *ipulog_create_handle(u_int32_t gmask, u_int32_t rmem); ++struct ipulog_handle *ipulog_create_handle(uint32_t gmask, uint32_t rmem); + + void ipulog_destroy_handle(struct ipulog_handle *h); + +diff --git a/include/ulogd/addr.h b/include/ulogd/addr.h +index b4432e3..2259b6c 100644 +--- a/include/ulogd/addr.h ++++ b/include/ulogd/addr.h +@@ -8,7 +8,9 @@ + #ifndef _ADDR_H + #define _ADDR_H + +-u_int32_t ulogd_bits2netmask(int bits); ++#include <stdint.h> ++ ++uint32_t ulogd_bits2netmask(int bits); + void ulogd_ipv6_cidr2mask_host(uint8_t cidr, uint32_t *res); + void ulogd_ipv6_addr2addr_host(uint32_t *addr, uint32_t *res); + +diff --git a/include/ulogd/conffile.h b/include/ulogd/conffile.h +index 69a6f70..1f3d563 100644 +--- a/include/ulogd/conffile.h ++++ b/include/ulogd/conffile.h +@@ -7,7 +7,7 @@ + #ifndef _CONFFILE_H + #define _CONFFILE_H + +-#include <sys/types.h> ++#include <stdint.h> + + /* errors returned by config functions */ + enum { +@@ -45,10 +45,10 @@ enum { + + struct config_entry { + char key[CONFIG_KEY_LEN]; /* name of config directive */ +- u_int8_t type; /* type; see above */ +- u_int8_t options; /* options; see above */ +- u_int8_t hit; /* found? */ +- u_int8_t flag; /* tune setup of option */ ++ uint8_t type; /* type; see above */ ++ uint8_t options; /* options; see above */ ++ uint8_t hit; /* found? */ ++ uint8_t flag; /* tune setup of option */ + union { + char string[CONFIG_VAL_STRING_LEN]; + int value; +diff --git a/include/ulogd/ipfix_protocol.h b/include/ulogd/ipfix_protocol.h +index 5d7e46a..aef47f0 100644 +--- a/include/ulogd/ipfix_protocol.h ++++ b/include/ulogd/ipfix_protocol.h +@@ -1,6 +1,8 @@ + #ifndef _IPFIX_PROTOCOL_H + #define _IPFIX_PROTOCOL_H + ++#include <stdint.h> ++ + /* This header file defines structures for the IPFIX protocol in accordance with + * draft-ietf-ipfix-protocol-19.txt */ + +@@ -11,29 +13,29 @@ + + /* Section 3.1 */ + struct ipfix_msg_hdr { +- u_int16_t version; +- u_int16_t length; +- u_int32_t export_time; +- u_int32_t seq; +- u_int32_t source_id; ++ uint16_t version; ++ uint16_t length; ++ uint32_t export_time; ++ uint32_t seq; ++ uint32_t source_id; + }; + + /* Section 3.4.1 */ + struct ipfix_templ_rec_hdr { +- u_int16_t templ_id; +- u_int16_t field_count; ++ uint16_t templ_id; ++ uint16_t field_count; + }; + + /* Section 3.2 */ + struct ipfix_ietf_field { +- u_int16_t type; +- u_int16_t length; ++ uint16_t type; ++ uint16_t length; + }; + + struct ipfix_vendor_field { +- u_int16_t type; +- u_int16_t length; +- u_int32_t enterprise_num; ++ uint16_t type; ++ uint16_t length; ++ uint32_t enterprise_num; + }; + + /* Information Element Identifiers as of draft-ietf-ipfix-info-11.txt */ +@@ -219,13 +221,13 @@ enum { + /* Information elements of the netfilter vendor id */ + enum { + IPFIX_NF_rawpacket = 1, /* pointer */ +- IPFIX_NF_rawpacket_length = 2, /* u_int32_t */ ++ IPFIX_NF_rawpacket_length = 2, /* uint32_t */ + IPFIX_NF_prefix = 3, /* string */ +- IPFIX_NF_mark = 4, /* u_int32_t */ +- IPFIX_NF_hook = 5, /* u_int8_t */ +- IPFIX_NF_conntrack_id = 6, /* u_int32_t */ +- IPFIX_NF_seq_local = 7, /* u_int32_t */ +- IPFIX_NF_seq_global = 8, /* u_int32_t */ ++ IPFIX_NF_mark = 4, /* uint32_t */ ++ IPFIX_NF_hook = 5, /* uint8_t */ ++ IPFIX_NF_conntrack_id = 6, /* uint32_t */ ++ IPFIX_NF_seq_local = 7, /* uint32_t */ ++ IPFIX_NF_seq_global = 8, /* uint32_t */ + }; + + #endif +diff --git a/include/ulogd/ulogd.h b/include/ulogd/ulogd.h +index cf26a15..2e38195 100644 +--- a/include/ulogd/ulogd.h ++++ b/include/ulogd/ulogd.h +@@ -85,17 +85,17 @@ enum ulogd_dtype { + /* structure describing an input / output parameter of a plugin */ + struct ulogd_key { + /* length of the returned value (only for lengthed types */ +- u_int32_t len; ++ uint32_t len; + /* type of the returned value (ULOGD_DTYPE_...) */ +- u_int16_t type; ++ uint16_t type; + /* flags (i.e. free, ...) */ +- u_int16_t flags; ++ uint16_t flags; + /* name of this key */ + char name[ULOGD_MAX_KEYLEN+1]; + /* IETF IPFIX attribute ID */ + struct { +- u_int32_t vendor; +- u_int16_t field_id; ++ uint32_t vendor; ++ uint16_t field_id; + } ipfix; + + /* Store field name for Common Information Model */ +@@ -104,12 +104,12 @@ struct ulogd_key { + union { + /* and finally the returned value */ + union { +- u_int8_t b; +- u_int8_t ui8; +- u_int16_t ui16; +- u_int32_t ui32; +- u_int64_t ui64; +- u_int32_t ui128[4]; ++ uint8_t b; ++ uint8_t ui8; ++ uint16_t ui16; ++ uint32_t ui32; ++ uint64_t ui64; ++ uint32_t ui128[4]; + int8_t i8; + int16_t i16; + int32_t i32; +@@ -130,31 +130,31 @@ struct ulogd_keyset { + unsigned int type; + }; + +-static inline void okey_set_b(struct ulogd_key *key, u_int8_t value) ++static inline void okey_set_b(struct ulogd_key *key, uint8_t value) + { + key->u.value.b = value; + key->flags |= ULOGD_RETF_VALID; + } + +-static inline void okey_set_u8(struct ulogd_key *key, u_int8_t value) ++static inline void okey_set_u8(struct ulogd_key *key, uint8_t value) + { + key->u.value.ui8 = value; + key->flags |= ULOGD_RETF_VALID; + } + +-static inline void okey_set_u16(struct ulogd_key *key, u_int16_t value) ++static inline void okey_set_u16(struct ulogd_key *key, uint16_t value) + { + key->u.value.ui16 = value; + key->flags |= ULOGD_RETF_VALID; + } + +-static inline void okey_set_u32(struct ulogd_key *key, u_int32_t value) ++static inline void okey_set_u32(struct ulogd_key *key, uint32_t value) + { + key->u.value.ui32 = value; + key->flags |= ULOGD_RETF_VALID; + } + +-static inline void okey_set_u64(struct ulogd_key *key, u_int64_t value) ++static inline void okey_set_u64(struct ulogd_key *key, uint64_t value) + { + key->u.value.ui64 = value; + key->flags |= ULOGD_RETF_VALID; +@@ -172,22 +172,22 @@ static inline void okey_set_ptr(struct ulogd_key *key, void *value) + key->flags |= ULOGD_RETF_VALID; + } + +-static inline u_int8_t ikey_get_u8(struct ulogd_key *key) ++static inline uint8_t ikey_get_u8(struct ulogd_key *key) + { + return key->u.source->u.value.ui8; + } + +-static inline u_int16_t ikey_get_u16(struct ulogd_key *key) ++static inline uint16_t ikey_get_u16(struct ulogd_key *key) + { + return key->u.source->u.value.ui16; + } + +-static inline u_int32_t ikey_get_u32(struct ulogd_key *key) ++static inline uint32_t ikey_get_u32(struct ulogd_key *key) + { + return key->u.source->u.value.ui32; + } + +-static inline u_int64_t ikey_get_u64(struct ulogd_key *key) ++static inline uint64_t ikey_get_u64(struct ulogd_key *key) + { + return key->u.source->u.value.ui64; + } +@@ -292,7 +292,7 @@ void ulogd_propagate_results(struct ulogd_pluginstance *pi); + void ulogd_register_plugin(struct ulogd_plugin *me); + + /* allocate a new ulogd_key */ +-struct ulogd_key *alloc_ret(const u_int16_t type, const char*); ++struct ulogd_key *alloc_ret(const uint16_t type, const char*); + + /* write a message to the daemons' logfile */ + void __ulogd_log(int level, char *file, int line, const char *message, ...); +diff --git a/input/packet/ulogd_inppkt_NFLOG.c b/input/packet/ulogd_inppkt_NFLOG.c +index 6196626..a367959 100644 +--- a/input/packet/ulogd_inppkt_NFLOG.c ++++ b/input/packet/ulogd_inppkt_NFLOG.c +@@ -315,7 +315,7 @@ static struct ulogd_key output_keys[] = { + }; + + static inline int +-interp_packet(struct ulogd_pluginstance *upi, u_int8_t pf_family, ++interp_packet(struct ulogd_pluginstance *upi, uint8_t pf_family, + struct nflog_data *ldata) + { + struct ulogd_key *ret = upi->output.keys; +@@ -326,12 +326,12 @@ interp_packet(struct ulogd_pluginstance *upi, u_int8_t pf_family, + int payload_len = nflog_get_payload(ldata, &payload); + char *prefix = nflog_get_prefix(ldata); + struct timeval ts; +- u_int32_t mark = nflog_get_nfmark(ldata); +- u_int32_t indev = nflog_get_indev(ldata); +- u_int32_t outdev = nflog_get_outdev(ldata); +- u_int32_t seq; +- u_int32_t uid; +- u_int32_t gid; ++ uint32_t mark = nflog_get_nfmark(ldata); ++ uint32_t indev = nflog_get_indev(ldata); ++ uint32_t outdev = nflog_get_outdev(ldata); ++ uint32_t seq; ++ uint32_t uid; ++ uint32_t gid; + + okey_set_u8(&ret[NFLOG_KEY_OOB_FAMILY], + pf_family); +@@ -493,7 +493,7 @@ static int configure(struct ulogd_pluginstance *upi, + return 0; + } + +-static int become_system_logging(struct ulogd_pluginstance *upi, u_int8_t pf) ++static int become_system_logging(struct ulogd_pluginstance *upi, uint8_t pf) + { + struct nflog_input *ui = (struct nflog_input *) upi->private; + +diff --git a/input/packet/ulogd_inppkt_UNIXSOCK.c b/input/packet/ulogd_inppkt_UNIXSOCK.c +index e4009f3..39944bf 100644 +--- a/input/packet/ulogd_inppkt_UNIXSOCK.c ++++ b/input/packet/ulogd_inppkt_UNIXSOCK.c +@@ -336,10 +336,10 @@ enum ulogd2_option_type { + ULOGD2_OPT_PREFIX, /* log prefix (string) */ + ULOGD2_OPT_OOB_IN, /* input device (string) */ + ULOGD2_OPT_OOB_OUT, /* output device (string) */ +- ULOGD2_OPT_OOB_TIME_SEC, /* packet arrival time (u_int32_t) */ ++ ULOGD2_OPT_OOB_TIME_SEC, /* packet arrival time (uint32_t) */ + + ULOGD2_OPT_USER=200, /* user name (string) */ +- ULOGD2_OPT_USERID, /* user id (u_int32_t) */ ++ ULOGD2_OPT_USERID, /* user id (uint32_t) */ + ULOGD2_OPT_OSNAME, /* OS name (string) */ + ULOGD2_OPT_OSREL, /* OS release (string) */ + ULOGD2_OPT_OSVERS, /* OS version (string) */ +@@ -367,15 +367,15 @@ struct ulogd_unixsock_option_t { + #define USOCK_ALIGNTO 8 + #define USOCK_ALIGN(len) ( ((len)+USOCK_ALIGNTO-1) & ~(USOCK_ALIGNTO-1) ) + +-static int handle_packet(struct ulogd_pluginstance *upi, struct ulogd_unixsock_packet_t *pkt, u_int16_t total_len) ++static int handle_packet(struct ulogd_pluginstance *upi, struct ulogd_unixsock_packet_t *pkt, uint16_t total_len) + { + char *data = NULL; + struct iphdr *ip; + struct ulogd_key *ret = upi->output.keys; +- u_int8_t oob_family; +- u_int16_t payload_len; +- u_int32_t option_number; +- u_int32_t option_length; ++ uint8_t oob_family; ++ uint16_t payload_len; ++ uint32_t option_number; ++ uint32_t option_length; + char *buf; + struct ulogd_unixsock_option_t *option; + int new_offset; +@@ -398,7 +398,7 @@ static int handle_packet(struct ulogd_pluginstance *upi, struct ulogd_unixsock_p + okey_set_u32(&ret[UNIXSOCK_KEY_RAW_PCKTLEN], payload_len); + + /* options */ +- if (total_len > payload_len + sizeof(u_int16_t)) { ++ if (total_len > payload_len + sizeof(uint16_t)) { + /* option starts at the next aligned address after the payload */ + new_offset = USOCK_ALIGN(payload_len); + options_start = (void*)ip + new_offset; +@@ -431,13 +431,13 @@ static int handle_packet(struct ulogd_pluginstance *upi, struct ulogd_unixsock_p + okey_set_ptr(&ret[UNIXSOCK_KEY_OOB_OUT], buf); + break; + case ULOGD2_OPT_OOB_TIME_SEC: +- okey_set_u32(&ret[UNIXSOCK_KEY_OOB_TIME_SEC], *(u_int32_t*)buf); ++ okey_set_u32(&ret[UNIXSOCK_KEY_OOB_TIME_SEC], *(uint32_t*)buf); + break; + case ULOGD2_OPT_USER: + okey_set_ptr(&ret[UNIXSOCK_KEY_NUFW_USER_NAME], buf); + break; + case ULOGD2_OPT_USERID: +- okey_set_u32(&ret[UNIXSOCK_KEY_NUFW_USER_ID], *(u_int32_t*)buf); ++ okey_set_u32(&ret[UNIXSOCK_KEY_NUFW_USER_ID], *(uint32_t*)buf); + break; + case ULOGD2_OPT_OSNAME: + okey_set_ptr(&ret[UNIXSOCK_KEY_NUFW_OS_NAME], buf); +@@ -452,7 +452,7 @@ static int handle_packet(struct ulogd_pluginstance *upi, struct ulogd_unixsock_p + okey_set_ptr(&ret[UNIXSOCK_KEY_NUFW_APP_NAME], buf); + break; + case ULOGD2_OPT_STATE: +- okey_set_u8(&ret[UNIXSOCK_KEY_RAW_LABEL], *(u_int8_t*)buf); ++ okey_set_u8(&ret[UNIXSOCK_KEY_RAW_LABEL], *(uint8_t*)buf); + break; + default: + ulogd_log(ULOGD_NOTICE, +@@ -595,8 +595,8 @@ static int unixsock_instance_read_cb(int fd, unsigned int what, void *param) + struct ulogd_pluginstance *upi = param; + struct unixsock_input *ui = (struct unixsock_input*)upi->private; + int len; +- u_int16_t needed_len; +- u_int32_t packet_sig; ++ uint16_t needed_len; ++ uint32_t packet_sig; + struct ulogd_unixsock_packet_t *unixsock_packet; + + char buf[4096]; +@@ -642,7 +642,7 @@ static int unixsock_instance_read_cb(int fd, unsigned int what, void *param) + + needed_len = ntohs(unixsock_packet->total_size); + +- if (ui->unixsock_buf_avail >= needed_len + sizeof(u_int32_t)) { ++ if (ui->unixsock_buf_avail >= needed_len + sizeof(uint32_t)) { + ulogd_log(ULOGD_DEBUG, + " We have enough data (%d bytes required), handling packet\n", + needed_len); +@@ -651,11 +651,11 @@ static int unixsock_instance_read_cb(int fd, unsigned int what, void *param) + return -1; + } + /* consume data */ +- ui->unixsock_buf_avail -= (sizeof(u_int32_t) + needed_len); ++ ui->unixsock_buf_avail -= (sizeof(uint32_t) + needed_len); + if (ui->unixsock_buf_avail > 0) { + /* we need to shift data .. */ + memmove(ui->unixsock_buf, +- ui->unixsock_buf + (sizeof(u_int32_t) + needed_len) , ++ ui->unixsock_buf + (sizeof(uint32_t) + needed_len) , + ui->unixsock_buf_avail); + } else { + /* input buffer is empty, do not loop */ +@@ -664,7 +664,7 @@ static int unixsock_instance_read_cb(int fd, unsigned int what, void *param) + + } else { + ulogd_log(ULOGD_DEBUG, " We have %d bytes, but need %d. Requesting more\n", +- ui->unixsock_buf_avail, needed_len + sizeof(u_int32_t)); ++ ui->unixsock_buf_avail, needed_len + sizeof(uint32_t)); + return 0; + } + +diff --git a/libipulog/libipulog.c b/libipulog/libipulog.c +index ab28bb4..b49f7f2 100644 +--- a/libipulog/libipulog.c ++++ b/libipulog/libipulog.c +@@ -33,7 +33,7 @@ + struct ipulog_handle + { + int fd; +- u_int8_t blocking; ++ uint8_t blocking; + struct sockaddr_nl local; + struct sockaddr_nl peer; + struct nlmsghdr* last_nlhdr; +@@ -112,7 +112,7 @@ char *ipulog_strerror(int errcode) + } + + /* convert a netlink group (1-32) to a group_mask suitable for create_handle */ +-u_int32_t ipulog_group2gmask(u_int32_t group) ++uint32_t ipulog_group2gmask(uint32_t group) + { + if (group < 1 || group > 32) + { +@@ -123,8 +123,8 @@ u_int32_t ipulog_group2gmask(u_int32_t group) + } + + /* create a ipulog handle for the reception of packets sent to gmask */ +-struct ipulog_handle *ipulog_create_handle(u_int32_t gmask, +- u_int32_t rcvbufsize) ++struct ipulog_handle *ipulog_create_handle(uint32_t gmask, ++ uint32_t rcvbufsize) + { + struct ipulog_handle *h; + int status; +diff --git a/output/mysql/ulogd_output_MYSQL.c b/output/mysql/ulogd_output_MYSQL.c +index 0a1ebfc..643320c 100644 +--- a/output/mysql/ulogd_output_MYSQL.c ++++ b/output/mysql/ulogd_output_MYSQL.c +@@ -174,7 +174,7 @@ static int open_db_mysql(struct ulogd_pluginstance *upi) + struct mysql_instance *mi = (struct mysql_instance *) upi->private; + unsigned int connect_timeout = timeout_ce(upi->config_kset).u.value; + char *server = host_ce(upi->config_kset).u.string; +- u_int16_t port = port_ce(upi->config_kset).u.value; ++ uint16_t port = port_ce(upi->config_kset).u.value; + char *user = user_ce(upi->config_kset).u.string; + char *pass = pass_ce(upi->config_kset).u.string; + char *db = db_ce(upi->config_kset).u.string; +diff --git a/src/addr.c b/src/addr.c +index 2672fab..41435dc 100644 +--- a/src/addr.c ++++ b/src/addr.c +@@ -22,9 +22,9 @@ + #include <ulogd/ulogd.h> + #include <ulogd/addr.h> + +-u_int32_t ulogd_bits2netmask(int bits) ++uint32_t ulogd_bits2netmask(int bits) + { +- u_int32_t netmask, bm; ++ uint32_t netmask, bm; + + if (bits >= 32 || bits < 0) + return(~0); +diff --git a/util/db.c b/util/db.c +index 24966a5..c9aec41 100644 +--- a/util/db.c ++++ b/util/db.c +@@ -362,7 +362,7 @@ static void __format_query_db(struct ulogd_pluginstance *upi, char *start) + sprintf(stmt_ins, "%u,", res->u.value.ui16); + break; + case ULOGD_RET_IPADDR: +- /* fallthrough when logging IP as u_int32_t */ ++ /* fallthrough when logging IP as uint32_t */ + case ULOGD_RET_UINT32: + sprintf(stmt_ins, "%u,", res->u.value.ui32); + break; +diff --git a/util/printpkt.c b/util/printpkt.c +index eb6cfbf..69a47ca 100644 +--- a/util/printpkt.c ++++ b/util/printpkt.c +@@ -199,7 +199,7 @@ static int printpkt_ipv4(struct ulogd_key *res, char *buf) + { + char *buf_cur = buf; + char tmp[INET_ADDRSTRLEN]; +- u_int32_t paddr; ++ uint32_t paddr; + + if (pp_is_valid(res, KEY_IP_SADDR)) + buf_cur += sprintf(buf_cur, "SRC=%s ", +@@ -363,8 +363,8 @@ static int printpkt_ipv6(struct ulogd_key *res, char *buf) + int printpkt_arp(struct ulogd_key *res, char *buf) + { + char *buf_cur = buf; +- u_int16_t code = 0; +- u_int8_t *mac; ++ uint16_t code = 0; ++ uint8_t *mac; + + if (pp_is_valid(res, KEY_ARP_SPA)) + buf_cur += sprintf(buf_cur, "SRC=%s ", +-- +2.6.2 + diff --git a/package/ustr/ustr.mk b/package/ustr/ustr.mk index 174f05565..1d629ab84 100644 --- a/package/ustr/ustr.mk +++ b/package/ustr/ustr.mk @@ -23,5 +23,7 @@ USTR_INSTALL_STAGING = YES # 'all-shared' to the default 'all' rule. USTR_MAKE_OPTS = all all-shared +USTR_MAKE_OPTS += LDCONFIG=/bin/true + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in index 429dfa7e5..657bcdd76 100644 --- a/package/util-linux/Config.in +++ b/package/util-linux/Config.in @@ -63,6 +63,7 @@ config BR2_PACKAGE_UTIL_LINUX_CHFN_CHSH depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR) # linux-pam depends on !BR2_STATIC_LIBS depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam + depends on BR2_USE_MMU # linux-pam select BR2_PACKAGE_LINUX_PAM help Change login shell, real user name and information @@ -127,6 +128,7 @@ config BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR) # linux-pam depends on !BR2_STATIC_LIBS depends on !BR2_TOOLCHAIN_USES_MUSL # linux-pam + depends on BR2_USE_MMU # linux-pam select BR2_PACKAGE_LINUX_PAM help Build login utilities (last, login, su, sulogin) diff --git a/package/vlc/0008-fix-fallback-code-and-add-required-realtime-library.patch b/package/vlc/0008-fix-fallback-code-and-add-required-realtime-library.patch new file mode 100644 index 000000000..43f197acf --- /dev/null +++ b/package/vlc/0008-fix-fallback-code-and-add-required-realtime-library.patch @@ -0,0 +1,40 @@ +From 381bcb7cb03bb602351a323daf3b69b2d4f45e77 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb <wbx@openadk.org> +Date: Fri, 26 Aug 2016 15:11:25 +0200 +Subject: [PATCH] fix fallback code and add required realtime library to link + command + +Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> +--- + configure.ac | 1 + + src/posix/thread.c | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index cb1de25..018c11c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -121,6 +121,7 @@ case "${host_os}" in + ;; + linux*) + SYS=linux ++ AC_CHECK_LIB([rt], [posix_spawnp], [VLC_ADD_LIBS([libvlccore],[-lrt])], [], []) + ;; + bsdi*) + SYS=bsdi +diff --git a/src/posix/thread.c b/src/posix/thread.c +index 07fa71e..8b8595f 100644 +--- a/src/posix/thread.c ++++ b/src/posix/thread.c +@@ -85,7 +85,7 @@ static clockid_t vlc_clock_id; + + static void vlc_clock_setup_once (void) + { +-# if (_POSIX_MONOTONIC_CLOCK == 0) ++# if (_POSIX_MONOTONIC_CLOCK == 0) && (_POSIX_CLOCK_SELECTION > 0) + long val = sysconf (_SC_MONOTONIC_CLOCK); + assert (val != 0); + vlc_clock_id = (val < 0) ? CLOCK_REALTIME : CLOCK_MONOTONIC; +-- +2.1.4 + diff --git a/package/wayland/0002-scanner-Use-uint32_t-instead-of-uint.patch b/package/wayland/0002-scanner-Use-uint32_t-instead-of-uint.patch new file mode 100644 index 000000000..1d05f2589 --- /dev/null +++ b/package/wayland/0002-scanner-Use-uint32_t-instead-of-uint.patch @@ -0,0 +1,31 @@ +From 6750b47d9e0d3074d2e56aa36c476493f533d696 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 15 Jul 2016 16:23:48 -0700 +Subject: [PATCH 1/1] scanner: Use uint32_t instead of uint + +uint32_t is C99 defined stdint type + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Reviewed-by: Daniel Stone <daniels@collabora.com> +[Rahul Bedarkar: Backported from: 6750b47d9e0d3074d2e56aa36c476493f533d696] +Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com> +--- + src/scanner.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/scanner.c b/src/scanner.c +index 6e2c3a3..ebae4cc 100644 +--- a/src/scanner.c ++++ b/src/scanner.c +@@ -819,7 +819,7 @@ find_enumeration(struct protocol *protocol, + struct interface *i; + struct enumeration *e; + char *enum_name; +- uint idx = 0, j; ++ uint32_t idx = 0, j; + + for (j = 0; j + 1 < strlen(enum_attribute); j++) { + if (enum_attribute[j] == '.') { +-- +2.6.2 + diff --git a/package/webkitgtk/webkitgtk.hash b/package/webkitgtk/webkitgtk.hash index faccb3f94..f74677eb6 100644 --- a/package/webkitgtk/webkitgtk.hash +++ b/package/webkitgtk/webkitgtk.hash @@ -1,4 +1,4 @@ -# From http://www.webkitgtk.org/releases/webkitgtk-2.12.3.tar.xz.sha1 -sha1 d6a0d598c09d2d56ba0862f8d9206e89d75317cb webkitgtk-2.12.3.tar.xz +# From http://www.webkitgtk.org/releases/webkitgtk-2.12.4.tar.xz.sha1 +sha1 ebfe6015d81129b6a13a9596d065c54e9c1b93f6 webkitgtk-2.12.4.tar.xz # Calculated based on the hash above -sha256 173cbb9a2eca23eee52e99965483ab25aa9c0569ef5b57041fc0c129cc26c307 webkitgtk-2.12.3.tar.xz +sha256 424d3177599abbc1eb1a1ad7928dd280a62006e992f2fada2e059375a9609a77 webkitgtk-2.12.4.tar.xz diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk index 2479872c4..f5c433455 100644 --- a/package/webkitgtk/webkitgtk.mk +++ b/package/webkitgtk/webkitgtk.mk @@ -4,7 +4,7 @@ # ################################################################################ -WEBKITGTK_VERSION = 2.12.3 +WEBKITGTK_VERSION = 2.12.4 WEBKITGTK_SITE = http://www.webkitgtk.org/releases WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz WEBKITGTK_INSTALL_STAGING = YES diff --git a/package/webrtc-audio-processing/0001-configure.ac-fix-architecture-detection.patch b/package/webrtc-audio-processing/0001-configure.ac-fix-architecture-detection.patch new file mode 100644 index 000000000..d0ea4bd6b --- /dev/null +++ b/package/webrtc-audio-processing/0001-configure.ac-fix-architecture-detection.patch @@ -0,0 +1,84 @@ +From 233413841882608c6d5b98b6ce89fcb8a292db82 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Sat, 6 Aug 2016 10:22:34 +0200 +Subject: [PATCH] configure.ac: fix architecture detection + +The current architecture detection, based on the "host_cpu" part of the +tuple does not work properly for a number of reason: + + - The code assumes that if host_cpu starts with "arm" then ARM + instructions are available, which is incorrect. Indeed, Cortex-M + platforms can run Linux, they are ARM platforms (so host_cpu = arm), + but they don't support ARM instructions: they support only the + Thumb-2 instruction set. + + - The armv7 case is also not very useful, as it is not standard at all + to pass armv7 as host_cpu even if the host system is actually ARMv7 + based. + + - For the same reason, the armv8 case is not very useful: armv8 is + never used as the host_cpu part of a tuple. + +So, this commit moves away from a host_cpu based logic, and instead +tests using AC_CHECK_DECLS() the built-in definitions of the compiler: + + - If we have __ARM_ARCH_ISA_ARM defined, then it's an ARM processor + that supports the ARM instruction set (this allows to exclude Thumb-2 + only processors). + + - If we have __ARM_ARCH_7A__, then we have an ARMv7-A processor, and + we can enable the corresponding optimizations + + - Same for __i386__ and __x86_64__. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- +Submitted upstream, under a slightly different form so that it applies +on master: + + https://lists.freedesktop.org/archives/pulseaudio-discuss/2016-August/026600.html +--- + configure.ac | 27 +++++++++------------------ + 1 file changed, 9 insertions(+), 18 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 6f9553b..836c6ad 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -55,24 +55,15 @@ AS_CASE(["${host}"], + ) + AC_SUBST(PLATFORM_CFLAGS) + +-AS_CASE(["${host_cpu}"], +- [i?86|x86_64], +- [ +- HAVE_X86=1 +- ], +- [armv7*|armv8*], +- [ +- HAVE_ARM=1 +- HAVE_ARMV7=1 +- ARCH_CFLAGS="-DWEBRTC_ARCH_ARM -DWEBRTC_ARCH_ARM_V7" +- ], +- [arm*], +- [ +- HAVE_ARM=1 +- ARCH_CFLAGS="-DWEBRTC_ARCH_ARM" +- ] +- # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines +-) ++# Testing __ARM_ARCH_ISA_ARM since the code contains ARM instructions, ++# which don't work on Thumb-2 only platforms (ARMv7-M). ++AC_CHECK_DECLS([__ARM_ARCH_ISA_ARM], ++ [HAVE_ARM=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_ARCH_ARM"]) ++AC_CHECK_DECLS([__ARM_ARCH_7A__], ++ [HAVE_ARMV7=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_ARCH_ARM_V7"]) ++AC_CHECK_DECLS([__i386__], [HAVE_X86=1]) ++AC_CHECK_DECLS([__x86_64__], [HAVE_X86=1]) ++ + AM_CONDITIONAL(HAVE_X86, [test "x${HAVE_X86}" = "x1"]) + AM_CONDITIONAL(HAVE_ARM, [test "x${HAVE_ARM}" = "x1"]) + AM_CONDITIONAL(HAVE_ARMV7, [test "x${HAVE_ARMV7}" = "x1"]) +-- +2.7.4 + diff --git a/package/webrtc-audio-processing/0002-Proper-detection-of-cxxabi.h-and-execinfo.h.patch b/package/webrtc-audio-processing/0002-Proper-detection-of-cxxabi.h-and-execinfo.h.patch new file mode 100644 index 000000000..a0332db8e --- /dev/null +++ b/package/webrtc-audio-processing/0002-Proper-detection-of-cxxabi.h-and-execinfo.h.patch @@ -0,0 +1,63 @@ +From b7a166acaddc4c78afa2b653e25114d9114699f3 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Sat, 6 Aug 2016 11:24:50 +0200 +Subject: [PATCH] Proper detection of cxxabi.h and execinfo.h + +The current code in webrtc/base/checks.cc assumes that if __GLIBCXX__ is +defined and __UCLIBC__ is not defined, then both cxxabi.h and execinfo.h +will be available. + +Unfortunately, this is not correct with the musl C library: + + - It defines __GLIBCXX__ + - It does not define __UCLIBC__ (it's not uClibc after all!) + - But it also doesn't provide execinfo.h + +Therefore, in order to make things work properly, we switch to proper +autoconf checks for cxxabi.h and execinfo.h, and only use the backtrace +functionality if both are provided. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + configure.ac | 2 ++ + webrtc/base/checks.cc | 4 ++-- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index acbb3e2..ff4c752 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -45,6 +45,8 @@ AC_SUBST(GNUSTL_CFLAGS) + # Borrowed from gst-plugins-bad + AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_IOS="yes", HAVE_IOS="no", [-]) + ++AC_CHECK_HEADERS([cxxabi.h execinfo.h]) ++ + # Based on gst-plugins-bad configure.ac and defines in + # <chromium source>/build/config/BUILDCONFIG.gn and + # webrtc/BUILD.gn +diff --git a/webrtc/base/checks.cc b/webrtc/base/checks.cc +index 49a31f2..05d23a6 100644 +--- a/webrtc/base/checks.cc ++++ b/webrtc/base/checks.cc +@@ -16,7 +16,7 @@ + #include <cstdio> + #include <cstdlib> + +-#if defined(__GLIBCXX__) && !defined(__UCLIBC__) ++#if defined(HAVE_CXX_ABI_H) && defined(HAVE_EXECINFO_H) + #include <cxxabi.h> + #include <execinfo.h> + #endif +@@ -55,7 +55,7 @@ void PrintError(const char* format, ...) { + // to get usable symbols on Linux. This is copied from V8. Chromium has a more + // advanced stace trace system; also more difficult to copy. + void DumpBacktrace() { +-#if defined(__GLIBCXX__) && !defined(__UCLIBC__) ++#if defined(HAVE_CXX_ABI_H) && defined(HAVE_EXECINFO_H) + void* trace[100]; + int size = backtrace(trace, sizeof(trace) / sizeof(*trace)); + char** symbols = backtrace_symbols(trace, size); +-- +2.7.4 + diff --git a/package/webrtc-audio-processing/Config.in b/package/webrtc-audio-processing/Config.in index 7c6990355..79a06d8b3 100644 --- a/package/webrtc-audio-processing/Config.in +++ b/package/webrtc-audio-processing/Config.in @@ -3,14 +3,15 @@ config BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING depends on BR2_arm || BR2_i386 || BR2_x86_64 depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 - depends on BR2_TOOLCHAIN_HAS_THREADS + # pthread_condattr_setclock + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL help AudioProcessing library based on Google's implementation of WebRTC. http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/ -comment "webrtc-audio-processing needs a toolchain w/ C++, threads, gcc >= 4.8" +comment "webrtc-audio-processing needs a toolchain w/ C++, NPTL, gcc >= 4.8" depends on BR2_arm || BR2_i386 || BR2_x86_64 - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \ || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/webrtc-audio-processing/webrtc-audio-processing.mk b/package/webrtc-audio-processing/webrtc-audio-processing.mk index 587f1aa89..75e3c8837 100644 --- a/package/webrtc-audio-processing/webrtc-audio-processing.mk +++ b/package/webrtc-audio-processing/webrtc-audio-processing.mk @@ -10,6 +10,9 @@ WEBRTC_AUDIO_PROCESSING_SITE = http://freedesktop.org/software/pulseaudio/webrtc WEBRTC_AUDIO_PROCESSING_INSTALL_STAGING = YES WEBRTC_AUDIO_PROCESSING_LICENSE = BSD-3c WEBRTC_AUDIO_PROCESSING_LICENSE_FILES = COPYING +# 0001-configure.ac-fix-architecture-detection.patch +# 0002-Proper-detection-of-cxxabi.h-and-execinfo.h.patch +WEBRTC_AUDIO_PROCESSING_AUTORECONF = YES ifeq ($(BR2_SOFT_FLOAT),y) WEBRTC_AUDIO_PROCESSING_CONF_OPTS += --with-ns-mode=fixed diff --git a/package/weston/0002-libweston-compositor-rdp-fix-no-break-space-U-A0-U8-.patch b/package/weston/0002-libweston-compositor-rdp-fix-no-break-space-U-A0-U8-.patch new file mode 100644 index 000000000..b39114769 --- /dev/null +++ b/package/weston/0002-libweston-compositor-rdp-fix-no-break-space-U-A0-U8-.patch @@ -0,0 +1,34 @@ +From 7ee8589dd83e52ae6af3ec5247c3403e8ded69a5 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" <yann.morin.1998@free.fr> +Date: Tue, 9 Aug 2016 20:00:29 +0200 +Subject: [PATCH] libweston/compositor-rdp: fix no-break space U+A0 (U8+C2A0) + +There is a UTF-8 no-break space (U+A0, U8+C2A0) in the definition of +macro NSC_RESET in the case of 1.2.2 <= FreeRDP < 2.0. + +This is causing build issues (\302 is 0xC2, \240 is 0xA0): + http://autobuild.buildroot.net/results/f49/f49a9cbb7bdc5d9e05dcf0a20bd83f059e234e74/build-end.log + +Fix that by using a plain, boring space U+20. + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> +--- + libweston/compositor-rdp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/compositor-rdp.c b/src/compositor-rdp.c +index 11f5f05..ee81300 100644 +--- a/src/compositor-rdp.c ++++ b/src/compositor-rdp.c +@@ -58,7 +58,7 @@ + # define NSC_RESET(C, W, H) nsc_context_reset(C, W, H) + # define RFX_RESET(C, W, H) rfx_context_reset(C, W, H) + #else +-# define NSC_RESET(C, W, H) do { nsc_context_reset(C); C->width = W; C->height = H; } while(0) ++# define NSC_RESET(C, W, H) do { nsc_context_reset(C); C->width = W; C->height = H; } while(0) + # define RFX_RESET(C, W, H) do { rfx_context_reset(C); C->width = W; C->height = H; } while(0) + #endif + #define FREERDP_CB_RET_TYPE BOOL +-- +2.7.4 + diff --git a/package/wireshark/wireshark.mk b/package/wireshark/wireshark.mk index 35f013874..42a5e74bc 100644 --- a/package/wireshark/wireshark.mk +++ b/package/wireshark/wireshark.mk @@ -11,7 +11,7 @@ WIRESHARK_LICENSE = wireshark license WIRESHARK_LICENSE_FILES = COPYING WIRESHARK_DEPENDENCIES = host-pkgconf libpcap libglib2 WIRESHARK_CONF_ENV = \ - ac_cv_path_PCAP_CONFIG=$(STAGING_DIR)/usr/bin/pcap-config + PCAP_CONFIG=$(STAGING_DIR)/usr/bin/pcap-config # patch touching configure.ac WIRESHARK_AUTORECONF = YES @@ -60,7 +60,7 @@ ifeq ($(BR2_PACKAGE_C_ARES),y) WIRESHARK_CONF_OPTS += --with-c-ares=$(STAGING_DIR)/usr WIRESHARK_DEPENDENCIES += c-ares else -WIREHARK_CONF_OPTS += --without-c-ares +WIRESHARK_CONF_OPTS += --without-c-ares endif ifeq ($(BR2_PACKAGE_GEOIP),y) diff --git a/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk b/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk index 64e9269c3..bfe05270e 100644 --- a/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk +++ b/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk @@ -10,9 +10,11 @@ XDRIVER_XF86_VIDEO_INTEL_LICENSE = MIT XDRIVER_XF86_VIDEO_INTEL_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_INTEL_AUTORECONF = YES -# this fixes a getline-related compilation error in src/sna/kgem.c +# -D_GNU_SOURCE fixes a getline-related compile error in src/sna/kgem.c +# We force -O2 regardless of the optimization level chosen by the user, +# as compiling this package is known to be broken with -Os. XDRIVER_XF86_VIDEO_INTEL_CONF_ENV = \ - CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" + CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE -O2" XDRIVER_XF86_VIDEO_INTEL_CONF_OPTS = \ --disable-xvmc \ diff --git a/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk b/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk index dc5644a3c..95bca7e3b 100644 --- a/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk +++ b/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk @@ -12,4 +12,8 @@ XDRIVER_XF86_VIDEO_SAVAGE_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_SAVAGE_AUTORECONF = YES XDRIVER_XF86_VIDEO_SAVAGE_DEPENDENCIES = xserver_xorg-server libdrm xproto_fontsproto xproto_randrproto xproto_renderproto xproto_videoproto xproto_xextproto xproto_xf86driproto xproto_xproto +ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) +XDRIVER_XF86_VIDEO_SAVAGE_CONF_OPTS = --disable-dri +endif + $(eval $(autotools-package)) diff --git a/package/x11r7/xserver_xorg-server/1.18.3/0001-modesettings-needs-dri2.patch b/package/x11r7/xserver_xorg-server/1.17.4/0001-modesettings-needs-dri2.patch index 4ef95efc3..4ef95efc3 100644 --- a/package/x11r7/xserver_xorg-server/1.18.3/0001-modesettings-needs-dri2.patch +++ b/package/x11r7/xserver_xorg-server/1.17.4/0001-modesettings-needs-dri2.patch diff --git a/package/x11r7/xserver_xorg-server/1.18.4/0001-modesettings-needs-dri2.patch b/package/x11r7/xserver_xorg-server/1.18.4/0001-modesettings-needs-dri2.patch new file mode 100644 index 000000000..4ef95efc3 --- /dev/null +++ b/package/x11r7/xserver_xorg-server/1.18.4/0001-modesettings-needs-dri2.patch @@ -0,0 +1,19 @@ +Kernel modesettings support also depends on dri2, see +http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/drivers/modesetting/Makefile.am#n46 + +Patch sent upstream: https://bugs.freedesktop.org/show_bug.cgi?id=91584 + +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> + +diff -uNr xorg-server-1.17.2.org/configure.ac xorg-server-1.17.2/configure.ac +--- xorg-server-1.17.2.org/configure.ac 2015-06-16 17:42:40.000000000 +0200 ++++ xorg-server-1.17.2/configure.ac 2015-08-08 10:44:59.702382624 +0200 +@@ -2036,7 +2036,7 @@ + XORG_SYS_LIBS="$XORG_SYS_LIBS $XORG_MODULES_LIBS" + fi + +- if test "x$DRM" = xyes; then ++ if test "x$DRM" = xyes -a "x$DRI2" = xyes; then + dnl 2.4.46 is required for cursor hotspot support. + PKG_CHECK_EXISTS(libdrm >= 2.4.46) + XORG_DRIVER_MODESETTING=yes diff --git a/package/xen/xen.mk b/package/xen/xen.mk index eb40454b6..e2c797f31 100644 --- a/package/xen/xen.mk +++ b/package/xen/xen.mk @@ -8,6 +8,7 @@ XEN_VERSION = 4.7.0 XEN_SITE = http://bits.xensource.com/oss-xen/release/$(XEN_VERSION) XEN_LICENSE = GPLv2 XEN_LICENSE_FILES = COPYING +XEN_DEPENDENCIES = host-python # Calculate XEN_ARCH ifeq ($(ARCH),aarch64) @@ -17,6 +18,8 @@ XEN_ARCH = arm32 endif XEN_CONF_OPTS = --disable-ocamltools + +XEN_CONF_ENV = PYTHON=$(HOST_DIR)/usr/bin/python2 XEN_MAKE_ENV = \ XEN_TARGET_ARCH=$(XEN_ARCH) \ CROSS_COMPILE=$(TARGET_CROSS) \ |