summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES82
-rw-r--r--Config.in4
-rw-r--r--Makefile2
-rw-r--r--arch/Config.in7
-rw-r--r--arch/Config.in.bfin2
-rw-r--r--board/beaglebone/readme.txt10
-rw-r--r--board/hardkernel/odroidc2/boot.ini2
-rwxr-xr-xboard/minnowboard/post-build.sh6
-rw-r--r--board/pc/linux-extras.config3
-rw-r--r--board/pc/readme.txt2
-rwxr-xr-xboard/raspberrypi/post-build.sh6
-rw-r--r--board/zynq/readme.txt4
-rw-r--r--boot/barebox/barebox.mk2
-rw-r--r--configs/kb9202_defconfig3
-rw-r--r--configs/snps_axs101_defconfig1
-rw-r--r--configs/snps_axs103_defconfig1
-rw-r--r--configs/zynq_microzed_defconfig3
-rw-r--r--configs/zynq_zc706_defconfig5
-rw-r--r--configs/zynq_zed_defconfig3
-rw-r--r--docs/manual/legal-notice.txt11
-rw-r--r--docs/manual/patch-policy.txt8
-rw-r--r--docs/manual/using-buildroot-development.txt2
-rw-r--r--docs/website/download.html40
-rw-r--r--docs/website/news.html68
-rw-r--r--docs/website/support.html5
-rw-r--r--linux/Config.in11
-rw-r--r--linux/Config.tools.in6
-rw-r--r--linux/linux-tool-cpupower.mk4
-rw-r--r--package/Config.in2
-rw-r--r--package/aircrack-ng/0004-fix-musl-build.patch53
-rw-r--r--package/am33x-cm3/Config.in1
-rw-r--r--package/android-tools/0004-Fix-build-issue-with-musl.patch181
-rw-r--r--package/android-tools/0006-fix-big-endian-build.patch (renamed from package/android-tools/0005-fix-big-endian-build.patch)0
-rw-r--r--package/android-tools/0007-include-cdefs-h-when-needed.patch41
-rw-r--r--package/android-tools/Config.in20
-rw-r--r--package/armadillo/Config.in2
-rw-r--r--package/axel/axel.mk5
-rw-r--r--package/babeld/0001-kernel_netlink.c-don-t-include-linux-if_bridge.h.patch78
-rw-r--r--package/bcusdk/0001-Do-not-use-the-non-standard-sys-cdefs.h-header.patch48
-rw-r--r--package/bcusdk/0001-fd_set-requires-inclusion-of-sys-select.h.patch (renamed from package/bcusdk/0002-fd_set-requires-inclusion-of-sys-select.h.patch)0
-rw-r--r--package/bdwgc/0004-configure-match-uclinux-pattern.patch32
-rw-r--r--package/binutils/Config.in.host2
-rw-r--r--package/binutils/arc-2016.09-eng007/0700-PIE-fixes-in-for-ARC-bfd.patch289
-rw-r--r--package/binutils/arc-2016.09-eng007/0701-Fixed-init-fini-linker-options.patch43
-rw-r--r--package/binutils/arc-2016.09-eng007/0702-Fix-undefined-symbols-aborting-on-PIE-cases.patch30
-rw-r--r--package/binutils/arc-2016.09-eng007/0800-Fixed-issue-in-tvheadend-package.patch26
-rw-r--r--package/binutils/arc-2016.09-eng010/0300-ld-makefile.patch (renamed from package/binutils/arc-2016.09-eng007/0300-ld-makefile.patch)0
-rw-r--r--package/binutils/arc-2016.09-eng010/0301-check-ldrunpath-length.patch (renamed from package/binutils/arc-2016.09-eng007/0301-check-ldrunpath-length.patch)0
-rw-r--r--package/binutils/arc-2016.09-eng010/0500-add-sysroot-fix-from-bug-3049.patch (renamed from package/binutils/arc-2016.09-eng007/0500-add-sysroot-fix-from-bug-3049.patch)0
-rw-r--r--package/binutils/arc-2016.09-eng010/0600-poison-system-directories.patch (renamed from package/binutils/arc-2016.09-eng007/0600-poison-system-directories.patch)0
-rw-r--r--package/binutils/binutils.hash2
-rw-r--r--package/binutils/binutils.mk9
-rw-r--r--package/boa/boa.conf2
-rw-r--r--package/busybox/0003-gzip.patch18
-rw-r--r--package/busybox/0004-ip.patch18
-rw-r--r--package/busybox/0005-ntpd.patch20
-rw-r--r--package/busybox/0006-top-move-free-prev_hist-out-of-signal-path.patch48
-rw-r--r--package/cairo/cairo.mk5
-rw-r--r--package/connman-gtk/Config.in6
-rw-r--r--package/connman/Config.in6
-rw-r--r--package/dante/0002-compiler.m4-do-not-remove-g-flag.patch42
-rw-r--r--package/domoticz/0001-add-proper-check-for-detecting-header-execinfo.h.patch58
-rw-r--r--package/elf2flt/0001-elf2flt-fix-relocation-support-for-R_ARM_TARGET-type.patch34
-rw-r--r--package/enlightenment/0001-E-include-uuid.h-only-when-Wayland-support-is-enable.patch39
-rw-r--r--package/fbterm/0003-C++11-compliance.patch93
-rw-r--r--package/ffmpeg/0013-bfin-disable-optimization.patch26
-rw-r--r--package/ffmpeg/Config.in3
-rw-r--r--package/ffmpeg/ffmpeg.mk4
-rw-r--r--package/flex/0002-fix-CVE-2016-6354.patch25
-rw-r--r--package/fontconfig/fontconfig.hash4
-rw-r--r--package/fontconfig/fontconfig.mk3
-rw-r--r--package/freescale-imx/imx-uuc/Config.in2
-rw-r--r--package/fwup/fwup.hash2
-rw-r--r--package/fwup/fwup.mk2
-rw-r--r--package/gcc/6.1.0/892-disable-dwarf-bfin.patch24
-rw-r--r--package/gcc/6.1.0/892-libgcc-mkmap-symver-support-skip_underscore.patch74
-rw-r--r--package/gcc/6.1.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch1962
-rw-r--r--package/gcc/6.1.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch73
-rw-r--r--package/gcc/Config.in.host2
-rw-r--r--package/gcc/arc-2016.09-eng007/130-fix_build_with_gcc-6.patch153
-rw-r--r--package/gcc/arc-2016.09-eng007/130-pr43538.patch25
-rw-r--r--package/gcc/arc-2016.09-eng007/305-libmudflap-susv3-legacy.patch49
-rw-r--r--package/gcc/arc-2016.09-eng007/842-PR60155.patch111
-rw-r--r--package/gcc/arc-2016.09-eng007/850-libstdcxx-uclibc-c99.patch273
-rw-r--r--package/gcc/arc-2016.09-eng007/851-PR-other-56780.patch244
-rw-r--r--package/gcc/arc-2016.09-eng007/930-libgcc-disable-split-stack-nothreads.patch14
-rw-r--r--package/gcc/arc-2016.09-eng010/301-missing-execinfo_h.patch (renamed from package/gcc/arc-2016.09-eng007/301-missing-execinfo_h.patch)6
-rw-r--r--package/gcc/arc-2016.09-eng010/860-cilk-wchar.patch56
-rw-r--r--package/gcc/arc-2016.09-eng010/940-uclinux-enable-threads.patch19
-rw-r--r--package/gcc/gcc-final/gcc-final.mk4
-rw-r--r--package/gcc/gcc.hash2
-rw-r--r--package/glib-networking/glib-networking.mk2
-rw-r--r--package/gmp/gmp.mk2
-rw-r--r--package/gnupg/gnupg.hash6
-rw-r--r--package/gnupg/gnupg.mk2
-rw-r--r--package/gnuplot/gnuplot.mk5
-rw-r--r--package/gnuradio/0003-fix_compilation_in_gcc-6.patch36
-rw-r--r--package/gstreamer1/gst1-imx/0001-v4l2src-Add-V4L2_PIX_FMT_XRGB555X-check.patch33
-rw-r--r--package/hidapi/Config.in6
-rw-r--r--package/hplip/Config.in6
-rw-r--r--package/imagemagick/imagemagick.hash2
-rw-r--r--package/imagemagick/imagemagick.mk2
-rw-r--r--package/inotify-tools/0001-gcc6.patch49
-rw-r--r--package/iproute2/iproute2.mk8
-rw-r--r--package/iputils/iputils.mk7
-rw-r--r--package/jack2/0003-tests-define-__STDC_LIMIT_MACROS.patch41
-rw-r--r--package/jack2/jack2.hash1
-rw-r--r--package/jack2/jack2.mk1
-rw-r--r--package/jasper/0008-fix-CVE-2016-2116.patch18
-rw-r--r--package/jasper/0009-fix-CVE-2016-1577.patch18
-rw-r--r--package/jasper/0010-fix-CVE-2016-1867.patch16
-rw-r--r--package/jasper/0011-fix-CVE-2015-5221.patch23
-rw-r--r--package/jasper/0012-fix-CVE-2015-5203.patch187
-rw-r--r--package/kismet/0005-dumpfile_tuntap-don-t-include-linux-if_tun.h-kernel-.patch51
-rw-r--r--package/kismet/kismet.hash2
-rw-r--r--package/kmsxx/0001-Fix-LTO-support-for-cross-compilation.patch45
-rw-r--r--package/kmsxx/Config.in7
-rw-r--r--package/kmsxx/kmsxx.hash2
-rw-r--r--package/kmsxx/kmsxx.mk2
-rw-r--r--package/lftp/0001-fix-static-link-with-readline.patch40
-rw-r--r--package/lftp/lftp.mk5
-rw-r--r--package/libaio/0002-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch56
-rw-r--r--package/libaio/libaio.mk18
-rw-r--r--package/libamcodec/0001-Include-stdint.h-where-needed.patch47
-rw-r--r--package/libcofi/Config.in6
-rw-r--r--package/libconfuse/libconfuse.mk4
-rw-r--r--package/libffi/0004-m68k-support-ISA-A-Coldfire-CPUs.patch77
-rw-r--r--package/libfreeimage/0004-fix-gcc-6.patch31
-rw-r--r--package/libgcrypt/libgcrypt.hash6
-rw-r--r--package/libgcrypt/libgcrypt.mk2
-rw-r--r--package/libgpg-error/libgpg-error.mk4
-rw-r--r--package/libical/Config.in1
-rw-r--r--package/libical/libical.mk2
-rw-r--r--package/libiio/0002-CMake-Link-with-librt-if-found.patch30
-rw-r--r--package/libiio/Config.in5
-rw-r--r--package/libiio/libiio.mk7
-rw-r--r--package/libpjsip/libpjsip.mk9
-rw-r--r--package/libraw/libraw.hash1
-rw-r--r--package/libraw/libraw.mk3
-rw-r--r--package/libsepol/0005-replace-cdefs.patch1074
-rw-r--r--package/libserialport/0001-uclinux-detection.patch26
-rw-r--r--package/libserialport/libserialport.mk1
-rw-r--r--package/libshout/0001-Fix-THEORA-SPEEX-_LDFLAGS-typo.patch45
-rw-r--r--package/libshout/0002-Make-sure-SHOUT_REQUIRES-contains-OpenSSL.patch55
-rw-r--r--package/libshout/libshout.mk10
-rw-r--r--package/libsidplay2/0003-gcc6.patch44
-rw-r--r--package/libsigsegv/Config.in23
-rw-r--r--package/libunwind/Config.in12
-rw-r--r--package/libxml2/libxml2.mk5
-rw-r--r--package/libxmlrpc/0006-narrowing.patch20
-rw-r--r--package/linknx/0002-musl-cdefs.patch37
-rw-r--r--package/linknx/0002-src-suncalc.cpp-fix-build-with-gcc-6.x.patch42
-rw-r--r--package/linknx/Config.in1
-rw-r--r--package/linux-headers/Config.in.host14
-rw-r--r--package/linux-pam/Config.in1
-rw-r--r--package/linux-zigbee/0002-addrdb-coord-config-parse.y-add-missing-time.h-inclu.patch43
-rw-r--r--package/lirc-tools/0004-configure-check-for-clock_gettime-in-librt.patch54
-rw-r--r--package/lirc-tools/lirc-tools.mk1
-rw-r--r--package/lldpd/0002-configure-do-not-check-for-libbsd.patch61
-rw-r--r--package/lldpd/lldpd.mk10
-rw-r--r--package/logrotate/logrotate.hash1
-rw-r--r--package/logrotate/logrotate.mk1
-rw-r--r--package/lshw/0002-Fix-musl-build-basename-is-in-libgen.h.patch78
-rw-r--r--package/lshw/0003-Fix-use-of-LONG_BIT.patch36
-rw-r--r--package/lttng-libust/lttng-libust.hash4
-rw-r--r--package/lttng-libust/lttng-libust.mk4
-rw-r--r--package/luajit/Config.in3
-rw-r--r--package/mpd/Config.in6
-rw-r--r--package/mpd/mpd.mk7
-rw-r--r--package/mplayer/mplayer.mk6
-rw-r--r--package/mpv/0002-wscript-improve-stdatomic-check.patch47
-rw-r--r--package/mtd/0003-fs-tests-integrity-don-t-include-header-bits-stdio_l.patch45
-rw-r--r--package/mtd/Config.in1
-rw-r--r--package/musl-compat-headers/Config.in2
-rw-r--r--package/musl-compat-headers/cdefs.h51
-rw-r--r--package/musl-compat-headers/musl-compat-headers.hash (renamed from package/netbsd-queue/netbsd-queue.hash)0
-rw-r--r--package/musl-compat-headers/musl-compat-headers.mk34
-rw-r--r--package/musl/0001-fix-regression-in-tcsetattr-on-all-mips-archs.patch67
-rw-r--r--package/musl/Config.in3
-rw-r--r--package/musl/musl.mk10
-rw-r--r--package/ncdu/Config.in1
-rw-r--r--package/ncurses/0003-recognise-uclinux.patch30
-rw-r--r--package/neon/neon.mk2
-rw-r--r--package/netbsd-queue/Config.in2
-rw-r--r--package/netbsd-queue/netbsd-queue.mk24
-rw-r--r--package/netplug/0002-add-missing-time-include.patch20
-rw-r--r--package/netplug/0003-remove-assert-fail.patch51
-rw-r--r--package/nettle/0002-fix-CVE-2016-6489.patch181
-rw-r--r--package/nettle/nettle.mk2
-rw-r--r--package/nodm/Config.in1
-rw-r--r--package/norm/0003-remove-kernel-headers-include-musl-fix.patch55
-rw-r--r--package/ntfs-3g/0001-libfuse-util-include-paths.h-when-needed.patch43
-rw-r--r--package/ntp/ntp.mk1
-rw-r--r--package/openblas/0002-Makefile.arm-remove-march-flags.patch73
-rw-r--r--package/openblas/Config.in25
-rw-r--r--package/openblas/openblas.mk13
-rw-r--r--package/openipmi/Config.in6
-rw-r--r--package/openmpi/Config.in4
-rw-r--r--package/openswan/Config.in6
-rw-r--r--package/owfs/owfs.mk11
-rw-r--r--package/php/0001-acinclude.m4-don-t-unset-variables.patch (renamed from package/php/0001-ditch-unset.patch)22
-rw-r--r--package/php/0002-iconv-tweak-iconv-detection.patch (renamed from package/php/0002-no-iconv-search.patch)30
-rw-r--r--package/php/0003-configure-disable-the-phar-tool.patch (renamed from package/php/0003-disable-pharcmd.patch)22
-rw-r--r--package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch (renamed from package/php/0004-flock-type-linux.patch)22
-rw-r--r--package/php/0005-ac-cache-strcasestr.patch24
-rw-r--r--package/php/0005-ext-fileinfo-config.m4-allow-cache-answer-for-strcas.patch35
-rw-r--r--package/php/0006-Fix-php-fpm.service.in.patch (renamed from package/php/0006-fix-php-fpm.service.in.patch)4
-rw-r--r--package/php/0007-phpdbg_prompt-enclose-phpdbg_load_module_or_extensio.patch47
-rw-r--r--package/pinentry/pinentry.mk7
-rw-r--r--package/pixman/pixman.mk17
-rw-r--r--package/pkg-autotools.mk8
-rw-r--r--package/poco/0002-fix-m68k-double-conv-detect.patch19
-rw-r--r--package/procps-ng/0003-ps-output.c-include-dlfcn.h-only-when-necessary.patch32
-rw-r--r--package/procps-ng/procps-ng.mk6
-rw-r--r--package/protobuf/Config.in1
-rw-r--r--package/python-meld3/python-meld3.mk2
-rw-r--r--package/python-pam/Config.in1
-rw-r--r--package/qlibc/0004-md5-fix-musl-build-by-removing-usage-of-internal-gli.patch59
-rw-r--r--package/qt/Config.in17
-rw-r--r--package/qt/qt.hash1
-rw-r--r--package/qt/qt.mk9
-rw-r--r--package/qt5/qt5base/0007-Remove-libudev-dependency-from-kms.pro.patch33
-rw-r--r--package/quagga/0003-lib-memory-fix-indirect-static-link-with-zlib.patch108
-rw-r--r--package/quota/quota.mk5
-rw-r--r--package/rpcbind/0003-src-remove-use-of-the-__P-macro.patch243
-rw-r--r--package/rsh-redone/Config.in2
-rw-r--r--package/rt-tests/0003-Add-syscall-number-for-sched_-gs-etattr-for-SH4.patch34
-rw-r--r--package/sane-backends/0002-Add-missing-sys-types.h-includes.patch106
-rw-r--r--package/sconeserver/Config.in6
-rw-r--r--package/sconeserver/sconeserver.hash2
-rw-r--r--package/sconeserver/sconeserver.mk8
-rw-r--r--package/sg3_utils/0001-support-uclinux-as-a-linux.patch16
-rw-r--r--package/sg3_utils/sg3_utils.mk3
-rw-r--r--package/spidev_test/spidev_test.mk9
-rw-r--r--package/squeezelite/Config.in6
-rw-r--r--package/stella/0003-configure-Add-CXXFLAGS-for-test-compilations.patch44
-rw-r--r--package/systemd-bootchart/0001-configure-add-option-to-not-build-manpages.patch59
-rw-r--r--package/systemd-bootchart/Config.in5
-rw-r--r--package/systemd-bootchart/systemd-bootchart.mk11
-rw-r--r--package/sysvinit/Config.in1
-rw-r--r--package/tftpd/Config.in2
-rw-r--r--package/thrift/thrift.mk5
-rw-r--r--package/tinycbor/0001-Makefile-use-installation-logic-compatible-with-old-.patch59
-rw-r--r--package/tinycbor/Config.in2
-rw-r--r--package/tinycbor/tinycbor.hash3
-rw-r--r--package/tinycbor/tinycbor.mk8
-rw-r--r--package/tinydtls/tinydtls.mk2
-rw-r--r--package/trace-cmd/0001-trace-cmd-Fix-trace-record.c-with-non-ptrace-compile.patch32
-rw-r--r--package/trousers/0003-tsp_tcsi_param-include-limits.h-to-fix-musl-build.patch29
-rw-r--r--package/trousers/0004-Check-that-getpwent_r-is-available-before-using-it.patch80
-rw-r--r--package/trousers/trousers.mk2
-rw-r--r--package/tstools/Config.in5
-rw-r--r--package/uboot-tools/Config.in4
-rw-r--r--package/uclibc/0001-arm-fix-compile-in-thumb-mode.patch48
-rw-r--r--package/uclibc/0002-sunrpc-Do-not-use-alloca-in-clntudp_call.patch59
-rw-r--r--package/uclibc/0003-ARC-Support-syscall-ABI-v4.patch54
-rw-r--r--package/uclibc/Config.in19
-rw-r--r--package/ulogd/0001-ulogd-Use-dev-null-as-dummy-logfile-when-logging-to-.patch70
-rw-r--r--package/ulogd/0002-Define-_GNU_SOURCE-to-get-members-of-tcphdr.patch44
-rw-r--r--package/ulogd/0003-Use-stdint-types-everywhere.patch792
-rw-r--r--package/ustr/ustr.mk2
-rw-r--r--package/util-linux/Config.in2
-rw-r--r--package/vlc/0008-fix-fallback-code-and-add-required-realtime-library.patch40
-rw-r--r--package/wayland/0002-scanner-Use-uint32_t-instead-of-uint.patch31
-rw-r--r--package/webkitgtk/webkitgtk.hash6
-rw-r--r--package/webkitgtk/webkitgtk.mk2
-rw-r--r--package/webrtc-audio-processing/0001-configure.ac-fix-architecture-detection.patch84
-rw-r--r--package/webrtc-audio-processing/0002-Proper-detection-of-cxxabi.h-and-execinfo.h.patch63
-rw-r--r--package/webrtc-audio-processing/Config.in7
-rw-r--r--package/webrtc-audio-processing/webrtc-audio-processing.mk3
-rw-r--r--package/weston/0002-libweston-compositor-rdp-fix-no-break-space-U-A0-U8-.patch34
-rw-r--r--package/wireshark/wireshark.mk4
-rw-r--r--package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk6
-rw-r--r--package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk4
-rw-r--r--package/x11r7/xserver_xorg-server/1.17.4/0001-modesettings-needs-dri2.patch (renamed from package/x11r7/xserver_xorg-server/1.18.3/0001-modesettings-needs-dri2.patch)0
-rw-r--r--package/x11r7/xserver_xorg-server/1.18.4/0001-modesettings-needs-dri2.patch19
-rw-r--r--package/xen/xen.mk3
-rw-r--r--support/legal-info/README.header5
-rw-r--r--support/misc/Vagrantfile2
-rw-r--r--support/misc/toolchainfile.cmake.in1
-rwxr-xr-xsupport/scripts/size-stats2
-rw-r--r--system/Config.in4
-rw-r--r--toolchain/Config.in4
-rw-r--r--toolchain/toolchain-external/Config.in3
-rw-r--r--toolchain/toolchain-external/toolchain-external.mk10
285 files changed, 7847 insertions, 3087 deletions
diff --git a/CHANGES b/CHANGES
index 544d6adea..97749ca86 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,85 @@
+2016.08, Released Septermber 1st, 2016
+
+ Minor fixes.
+
+ Toolchain: ARC tools updated to arc-2016.09-eng010.
+
+ Updated/fixed packages: libshout, luajit, mpd, mplayer
+
+ Issues resolved (http://bugs.buildroot.org):
+
+ #7520: CodeSourcery toolchain ARM: C++11 std::exception_ptr..
+ #8341: Getting EGL Error: Could not create the egl surface:..
+ #9121: gst1-imx for i.MX6 compile failed, cannot find PXP, ..
+
+2016.08-rc3, Released August 29th, 2016
+
+ Fixes all over the tree.
+
+ Toolchain: C++ support for the internal blackfin toolchain
+ re-enabled.
+
+ Architecture: Default to bf532 CPU variant for blackfin,
+ Fix flat one memory region support for m68k and disable flat
+ seperate data support because of compatibility issues.
+
+ Defconfigs: Minnowboard and Raspberrypi: Fix errors with
+ post-build scripts when systemd is used.
+ Zynq microzed/zc706/zed: Fix u-booot configuration.
+
+ netbsd-queue package extended and renamed to
+ musl-compat-headers. With this, a number of musl compatibility
+ patches are no longer needed.
+
+ Updated/fixed packages: aircrack-ng, android-tools, babeld,
+ bcusdk, binutils, boa, busybox, connman, cpupower,
+ docker-engine, domoticz, elf2flt, ffmpeg, fwup, gcc,
+ glib-networking, gnupg, hplip, igd2-for-linux, imagemagick,
+ imx-uuc, iputils, jack2, kismet, kmsxx, libaio, libamcodec,
+ libconfuse, libffi, libfreeimage, libgcrypt, libgpg-error,
+ libiio, libraw, libsepol, libserialport, libxmlrpc, linknx,
+ linux-pam, lirc-tools, lldpd, logrotate, lshw, musl, ncurses,
+ neon, nettle, norm, ntfs-3g, openblas, openmpi, openswan,
+ pinentry, pixman, protobuf, python-meld3, qlibc, qt, qt5base,
+ quagga, rpcbind, rt-tests, runc, sane-backends, sconeserver,
+ squeezelite, stella, tftpd, tinycbor, tinydtls, trace-cmd,
+ trousers, tstools, uboot-tools, uclibc, ulogd, ustr, vlc,
+ webkitgtk, wireshark, xdriver_xf86-video-intel
+
+ Issues resolved (http://bugs.buildroot.org):
+
+ #9101: Error on support/download/git with system git older than 1.8.4
+ #9181: Compiling linux kernel fails if BR2_LINUX_KERNEL_TOOL_CPU..
+
+2016.08-rc2, Released August 17th, 2016
+
+ Fixes all over the tree.
+
+ Toolchain: disable broken C++ support for internal blackfin
+ toolchains, ARC toolchain bumped to arc-2016.09-eng008 (GCC 6)
+ to fix various issues.
+
+ System: Zoneinfo is available for the musl C library as well.
+
+ Updated/fixed packages: am33x-cm3, axel, barebox, bdwgc,
+ blktrace, cairo, dante, enlightenment, fbterm, ffmpeg, flex,
+ fontconfig, gcc, gmp, gnuplot, gnuradio, gst1-imx, hidapi,
+ inotify_tools, iproute2, kmsxx, lftp, libaio, libcofi,
+ libical, libpjsip, libsidplay2, libunwindow, libxml2,
+ linux-zigbee, lttng-libust, mpv, mtd, ncdu, netplug, ntp,
+ openblas, openipmi, owfs, php, poco, procps, qt, quota,
+ sg3_utils, spidev_test, systemd-bootchart, thrift,
+ uboot-tools, uclibc, webrtc-audio-processing, wayland, weston,
+ xdriver_xf86-video-savage, xserver_xorg-server, xen
+
+ Issues resolved (http://bugs.buildroot.org):
+
+ #9136: make graph-size fails with "ValueError: too many values to..
+ #9151: qt: fix build with ALSA >= 1.1.x
+ #9156: qt: Fix missing runtime Qt3Support dependency
+ #9161: modsetting patch not applied to xserver 1.18.4
+ #9166: Missing overlays directory in VFAT image for raspberry pi 3
+
2016.08-rc1, Released August 6th, 2016
Fixes all over the tree and new features.
diff --git a/Config.in b/Config.in
index 5273cada7..3f53f255d 100644
--- a/Config.in
+++ b/Config.in
@@ -730,8 +730,6 @@ config BR2_COMPILER_PARANOID_UNSAFE_PATH
toolchain (through the toolchain wrapper and binutils patches)
and external toolchain backends (through the toolchain wrapper).
-endmenu
-
config BR2_REPRODUCIBLE
bool "Make the build reproducible (experimental)"
help
@@ -745,6 +743,8 @@ config BR2_REPRODUCIBLE
endmenu
+endmenu
+
source "toolchain/Config.in"
source "system/Config.in"
diff --git a/Makefile b/Makefile
index c7ac59edf..dfef02189 100644
--- a/Makefile
+++ b/Makefile
@@ -46,7 +46,7 @@ else # umask
all:
# Set and export the version string
-export BR2_VERSION := 2016.08-rc1
+export BR2_VERSION := 2016.11-git
# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
diff --git a/arch/Config.in b/arch/Config.in
index 8000dcaa5..3caca158e 100644
--- a/arch/Config.in
+++ b/arch/Config.in
@@ -336,7 +336,12 @@ config BR2_BINFMT_FLAT_ONE
config BR2_BINFMT_FLAT_SEP_DATA
bool "Separate data and code region"
- depends on BR2_m68k || BR2_bfin
+ # this FLAT binary type technically exists on m68k, but fails
+ # to build numerous packages: due to architecture limitation,
+ # big functions cannot be built in this mode. They cause build
+ # failures such as "Tried to convert PC relative branch to
+ # absolute jump" or "error: value -yyyyy out of range".
+ depends on BR2_bfin
help
Allow for the data and text segments to be separated and placed in
different regions of memory.
diff --git a/arch/Config.in.bfin b/arch/Config.in.bfin
index 415fc890d..9f7056a6d 100644
--- a/arch/Config.in.bfin
+++ b/arch/Config.in.bfin
@@ -1,7 +1,7 @@
choice
prompt "Target CPU"
depends on BR2_bfin
- default BR2_bf609
+ default BR2_bf532
help
Specify target CPU
config BR2_bf606
diff --git a/board/beaglebone/readme.txt b/board/beaglebone/readme.txt
index 43ebe53ae..664bde2af 100644
--- a/board/beaglebone/readme.txt
+++ b/board/beaglebone/readme.txt
@@ -32,3 +32,13 @@ After building, you should get a tree like this:
├── u-boot.img
├── uEnv.txt
└── zImage
+
+How to write the microSD card
+=============================
+
+Once the build process is finished you will have an image called "sdcard.img"
+in the output/images/ directory.
+
+Copy the bootable "sdcard.img" onto an SD card with "dd":
+
+ $ sudo dd if=output/images/sdcard.img of=/dev/sdX
diff --git a/board/hardkernel/odroidc2/boot.ini b/board/hardkernel/odroidc2/boot.ini
index 4f17fecb9..203a42a03 100644
--- a/board/hardkernel/odroidc2/boot.ini
+++ b/board/hardkernel/odroidc2/boot.ini
@@ -13,7 +13,7 @@ setenv m_bpp "32"
setenv hpd "true"
# Default Console Device Setting
-setenv condev "console=ttyS0,115200n8" # Serial Console
+setenv condev "console=ttyS0,115200n8 console=tty0" # on both
# Meson Timer
# 1 - Meson Timer
diff --git a/board/minnowboard/post-build.sh b/board/minnowboard/post-build.sh
index 1406a509c..45f7b527f 100755
--- a/board/minnowboard/post-build.sh
+++ b/board/minnowboard/post-build.sh
@@ -5,6 +5,8 @@
cp -v board/minnowboard/grub-${2}.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
# Add a console on tty1
-grep -qE '^tty1::' ${TARGET_DIR}/etc/inittab || \
-sed -i '/GENERIC_SERIAL/a\
+if [ -e ${TARGET_DIR}/etc/inittab ]; then
+ grep -qE '^tty1::' ${TARGET_DIR}/etc/inittab || \
+ sed -i '/GENERIC_SERIAL/a\
tty1::respawn:/sbin/getty -L tty1 0 vt100 # HDMI console' ${TARGET_DIR}/etc/inittab
+fi
diff --git a/board/pc/linux-extras.config b/board/pc/linux-extras.config
index 3d8cc3326..8c9c22573 100644
--- a/board/pc/linux-extras.config
+++ b/board/pc/linux-extras.config
@@ -40,3 +40,6 @@ CONFIG_RT2800USB_RT53XX=y
CONFIG_RT2800USB_RT55XX=y
# CONFIG_RTL_CARDS is not set
CONFIG_RTL8XXXU=m
+
+# EFI support
+CONFIG_EFI=y
diff --git a/board/pc/readme.txt b/board/pc/readme.txt
index 33b479d6c..68ca21166 100644
--- a/board/pc/readme.txt
+++ b/board/pc/readme.txt
@@ -24,7 +24,7 @@ Bare PC sample config
Write the image to a pendrive:
- $ dd if=output/images/sdcard.img of=/dev/sdc; sync
+ $ dd if=output/images/disk.img of=/dev/sdc; sync
Once it's done insert it into the target PC and boot.
diff --git a/board/raspberrypi/post-build.sh b/board/raspberrypi/post-build.sh
index 7eae14a88..5e5eb7110 100755
--- a/board/raspberrypi/post-build.sh
+++ b/board/raspberrypi/post-build.sh
@@ -4,6 +4,8 @@ set -u
set -e
# Add a console on tty1
-grep -qE '^tty1::' ${TARGET_DIR}/etc/inittab || \
-sed -i '/GENERIC_SERIAL/a\
+if [ -e ${TARGET_DIR}/etc/inittab ]; then
+ grep -qE '^tty1::' ${TARGET_DIR}/etc/inittab || \
+ sed -i '/GENERIC_SERIAL/a\
tty1::respawn:/sbin/getty -L tty1 0 vt100 # HDMI console' ${TARGET_DIR}/etc/inittab
+fi
diff --git a/board/zynq/readme.txt b/board/zynq/readme.txt
index 73f8bf336..51e28b6b3 100644
--- a/board/zynq/readme.txt
+++ b/board/zynq/readme.txt
@@ -11,11 +11,11 @@ board even if it is not listed above. Major Zynq-based boards are supported by
U-Boot, and their Device Trees are merged in Linux Kernel. If your board is the
case, booting the kernel is a piece of cake. All you need to do is to change:
- Kernel Device Tree file name (BR2_LINUX_KERNEL_INTREE_DTS_NAME)
- - U-Boot board defconfig (BR2_TARGET_UBOOT_BOARDNAME)
+ - U-Boot board defconfig (BR2_TARGET_UBOOT_BOARD_KCONFIG)
Steps to create a working system for a Zynq board:
-1) Configuration (do one of the followings)
+1) Configuration (do one of the following)
make zynq_zc706_defconfig (ZC706)
make zynq_zed_defconfig (Zedboard)
make zynq_microzed_defconfig (MicroZed)
diff --git a/boot/barebox/barebox.mk b/boot/barebox/barebox.mk
index 832297eef..7a110d214 100644
--- a/boot/barebox/barebox.mk
+++ b/boot/barebox/barebox.mk
@@ -61,6 +61,8 @@ else ifeq ($$(KERNEL_ARCH),x86_64)
$(1)_ARCH = x86
else ifeq ($$(KERNEL_ARCH),powerpc)
$(1)_ARCH = ppc
+else ifeq ($$(KERNEL_ARCH),arm64)
+$(1)_ARCH = arm
else
$(1)_ARCH = $$(KERNEL_ARCH)
endif
diff --git a/configs/kb9202_defconfig b/configs/kb9202_defconfig
index c38adbffb..0aea0eba2 100644
--- a/configs/kb9202_defconfig
+++ b/configs/kb9202_defconfig
@@ -5,7 +5,8 @@ BR2_arm920t=y
# Filesystem
BR2_TARGET_ROOTFS_TAR=y
-# Linux headers same as kernel, a 2.6 series (so, no option selected)
+# Linux headers same as kernel, a 2.6 series
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD=y
# Kernel
BR2_LINUX_KERNEL=y
diff --git a/configs/snps_axs101_defconfig b/configs/snps_axs101_defconfig
index f7bcf4d54..f272853c1 100644
--- a/configs/snps_axs101_defconfig
+++ b/configs/snps_axs101_defconfig
@@ -23,3 +23,4 @@ BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.07"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="axs101"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
diff --git a/configs/snps_axs103_defconfig b/configs/snps_axs103_defconfig
index 840db7471..75596c90b 100644
--- a/configs/snps_axs103_defconfig
+++ b/configs/snps_axs103_defconfig
@@ -24,3 +24,4 @@ BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.07"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="axs103"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
diff --git a/configs/zynq_microzed_defconfig b/configs/zynq_microzed_defconfig
index fa2585740..5efc0d4f8 100644
--- a/configs/zynq_microzed_defconfig
+++ b/configs/zynq_microzed_defconfig
@@ -16,10 +16,11 @@ BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_CPIO_GZIP=y
BR2_TARGET_ROOTFS_CPIO_UIMAGE=y
BR2_TARGET_UBOOT=y
-BR2_TARGET_UBOOT_BOARDNAME="zynq_microzed"
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_GIT=y
BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/Xilinx/u-boot-xlnx.git"
BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="xilinx-v2016.2"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="zynq_microzed"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_FORMAT_IMG=y
BR2_TARGET_UBOOT_SPL=y
diff --git a/configs/zynq_zc706_defconfig b/configs/zynq_zc706_defconfig
index 4ac2fe82c..578f042b2 100644
--- a/configs/zynq_zc706_defconfig
+++ b/configs/zynq_zc706_defconfig
@@ -1,7 +1,7 @@
BR2_arm=y
BR2_cortex_a9=y
-BR2_ARM_ENABLE_VFP=y
BR2_ARM_ENABLE_NEON=y
+BR2_ARM_ENABLE_VFP=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y
BR2_TARGET_GENERIC_GETTY_PORT="ttyPS0"
BR2_LINUX_KERNEL=y
@@ -17,10 +17,11 @@ BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_CPIO_GZIP=y
BR2_TARGET_ROOTFS_CPIO_UIMAGE=y
BR2_TARGET_UBOOT=y
-BR2_TARGET_UBOOT_BOARDNAME="zynq_zc706"
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_GIT=y
BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/Xilinx/u-boot-xlnx.git"
BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="xilinx-v2016.2"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="zynq_zc706"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_FORMAT_IMG=y
BR2_TARGET_UBOOT_SPL=y
diff --git a/configs/zynq_zed_defconfig b/configs/zynq_zed_defconfig
index 84859bb65..7ce3365e2 100644
--- a/configs/zynq_zed_defconfig
+++ b/configs/zynq_zed_defconfig
@@ -16,10 +16,11 @@ BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_CPIO_GZIP=y
BR2_TARGET_ROOTFS_CPIO_UIMAGE=y
BR2_TARGET_UBOOT=y
-BR2_TARGET_UBOOT_BOARDNAME="zynq_zed"
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
BR2_TARGET_UBOOT_CUSTOM_GIT=y
BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/Xilinx/u-boot-xlnx.git"
BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="xilinx-v2016.2"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="zynq_zed"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_FORMAT_IMG=y
BR2_TARGET_UBOOT_SPL=y
diff --git a/docs/manual/legal-notice.txt b/docs/manual/legal-notice.txt
index 0572daee3..7c19bc30a 100644
--- a/docs/manual/legal-notice.txt
+++ b/docs/manual/legal-notice.txt
@@ -41,9 +41,14 @@ There you will find:
+host-sources/+ subdirectories for target and host packages respectively.
The source code for packages that set +<PKG>_REDISTRIBUTE = NO+ will not be
saved.
- Patches applied to some packages by Buildroot are distributed with the
- Buildroot sources and are not duplicated in the +sources/+ and +host-sources/+
- subdirectories.
+ Patches that were applied are also saved, along with a file named +series+
+ that lists the patches in the order they were applied. Patches are under the
+ same license as the files that they modify.
+ Note: Buildroot applies additional patches to Libtool scripts of
+ autotools-based packages. These patches can be found under
+ +support/libtool+ in the Buildroot source and, due to technical
+ limitations, are not saved with the package sources. You may need to
+ collect them manually.
* A manifest file (one for host and one for target packages) listing the
configured packages, their version, license and related information.
Some of this information might not be defined in Buildroot; such items are
diff --git a/docs/manual/patch-policy.txt b/docs/manual/patch-policy.txt
index 5a1fe4f46..e1df8b003 100644
--- a/docs/manual/patch-policy.txt
+++ b/docs/manual/patch-policy.txt
@@ -73,12 +73,12 @@ details.
* If a +series+ file exists in the package directory, then patches are
applied according to the +series+ file;
+
-* Otherwise, patch files matching +<packagename>-*.patch+
- are applied in alphabetical order.
+* Otherwise, patch files matching +*.patch+ are applied in alphabetical
+ order.
So, to ensure they are applied in the right order, it is highly
recommended to name the patch files like this:
- +<packagename>-<number>-<description>.patch+, where +<number>+
- refers to the 'apply order'.
+ +<number>-<description>.patch+, where +<number>+ refers to the
+ 'apply order'.
. If +BR2_GLOBAL_PATCH_DIR+ is defined, the directories will be
enumerated in the order they are specified. The patches are applied
diff --git a/docs/manual/using-buildroot-development.txt b/docs/manual/using-buildroot-development.txt
index a075416ba..e167849cd 100644
--- a/docs/manual/using-buildroot-development.txt
+++ b/docs/manual/using-buildroot-development.txt
@@ -8,7 +8,7 @@ it, configure, compile and install the software component found inside
this tarball. The source code is extracted in
+output/build/<package>-<version>+, which is a temporary directory:
whenever +make clean+ is used, this directory is entirely removed, and
-re-recreated at the next +make+ invocation. Even when a Git or
+re-created at the next +make+ invocation. Even when a Git or
Subversion repository is used as the input for the package source
code, Buildroot creates a tarball out of it, and then behaves as it
normally does with tarballs.
diff --git a/docs/website/download.html b/docs/website/download.html
index 647e8ef5c..6380d9a93 100644
--- a/docs/website/download.html
+++ b/docs/website/download.html
@@ -8,74 +8,74 @@
<div class="panel-heading">Download</div>
<div class="panel-body">
- <h3 style="text-align: center;">Latest stable release: <b>2016.05</b></h3>
+ <h3 style="text-align: center;">Latest stable release: <b>2016.08</b></h3>
<div class="row mt centered">
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2016.05.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2016.08.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2016.05.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2016.08.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2016.05.tar.gz">buildroot-2016.05.tar.gz</a></h3>
- <p><a href="/downloads/buildroot-2016.05.tar.gz.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2016.08.tar.gz">buildroot-2016.08.tar.gz</a></h3>
+ <p><a href="/downloads/buildroot-2016.08.tar.gz.sign">PGP signature</a></p>
</div>
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2016.05.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2016.08.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2016.05.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2016.08.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2016.05.tar.bz2">buildroot-2016.05.tar.bz2</a></h3>
- <p><a href="/downloads/buildroot-2016.05.tar.bz2.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2016.08.tar.bz2">buildroot-2016.08.tar.bz2</a></h3>
+ <p><a href="/downloads/buildroot-2016.08.tar.bz2.sign">PGP signature</a></p>
</div>
</div>
-
- <h3 style="text-align: center;">Latest release candidate: <b>2016.08-rc1</b></h3>
+<!--
+ <h3 style="text-align: center;">Latest release candidate: <b>2016.08-rc3</b></h3>
<div class="row mt centered">
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2016.08-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2016.08-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2016.08-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2016.08-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2016.08-rc1.tar.gz">buildroot-2016.08-rc1.tar.gz</a></h3>
- <p><a href="/downloads/buildroot-2016.08-rc1.tar.gz.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2016.08-rc3.tar.gz">buildroot-2016.08-rc3.tar.gz</a></h3>
+ <p><a href="/downloads/buildroot-2016.08-rc3.tar.gz.sign">PGP signature</a></p>
</div>
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
- <a href="/downloads/buildroot-2016.08-rc1.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2016.08-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
- <a href="/downloads/buildroot-2016.08-rc1.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
+ <a href="/downloads/buildroot-2016.08-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
- <h3><a href="/downloads/buildroot-2016.08-rc1.tar.bz2">buildroot-2016.08-rc1.tar.bz2</a></h3>
- <p><a href="/downloads/buildroot-2016.08-rc1.tar.bz2.sign">PGP signature</a></p>
+ <h3><a href="/downloads/buildroot-2016.08-rc3.tar.bz2">buildroot-2016.08-rc3.tar.bz2</a></h3>
+ <p><a href="/downloads/buildroot-2016.08-rc3.tar.bz2.sign">PGP signature</a></p>
</div>
</div>
-
+-->
This and earlier releases (and their PGP signatures) can always be downloaded from
<a href="/downloads/">http://buildroot.net/downloads/</a>.
</div>
diff --git a/docs/website/news.html b/docs/website/news.html
index d33b3c915..84040c63e 100644
--- a/docs/website/news.html
+++ b/docs/website/news.html
@@ -9,18 +9,82 @@
<h2>News</h2>
<ul class="timeline">
+ <li class="timeline-inverted">
+ <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
+ <div class="timeline-panel">
+ <div class="timeline-heading">
+ <h4 class="timeline-title">2016.08 released</h4>
+ <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>1 September 2016</small></p>
+ </div>
+ <div class="timeline-body">
+ <p>The stable 2016.08 release is out - Thanks to everyone
+ contributing and testing the release candidates. See the
+ <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.08">CHANGES</a>
+ file for more details, read the
+ <a href="http://lists.busybox.net/pipermail/buildroot/2016-September/171172.html">announcement<a>
+ and go to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2016.08.tar.bz2">2016.08 release</a>.</p>
+ </div>
+ </div>
+ </li>
+
+ <li>
+ <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
+ <div class="timeline-panel">
+ <div class="timeline-heading">
+ <h4 class="timeline-title">2016.08-rc3 released</h4>
+ <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>30 August 2016</small></p>
+ </div>
+ <div class="timeline-body">
+ <p>Release candidate 3 is out with more cleanups and security
+ / build fixes. See
+ the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.08-rc3">CHANGES</a>
+ file for details.</p>
+ <p>Head to the <a href="/downloads/">downloads page</a> to
+ pick up
+ the <a href="/downloads/buildroot-2016.08-rc3.tar.bz2">2016.08-rc3
+ release candidate</a>, and report any problems found to
+ the <a href="support.html">mailing list</a>
+ or <a href="https://bugs.uclibc.org">bug tracker</a>.</p>
+ </div>
+ </div>
+ </li>
+
+ <li class="timeline-inverted">
+ <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
+ <div class="timeline-panel">
+ <div class="timeline-heading">
+ <h4 class="timeline-title">2016.08-rc2 released</h4>
+ <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>17 August 2016</small></p>
+ </div>
+ <div class="timeline-body">
+ <p>Another week, another release candidate with more cleanups
+ and build fixes. See
+ the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.08-rc2">CHANGES</a>
+ file for details.</p>
+
+ <p>Head to the <a href="/downloads/">downloads page</a> to pick up the
+ <a href="/downloads/buildroot-2016.08-rc2.tar.bz2">2016.08-rc2
+ release candidate</a>, and report any problems found to
+ the <a href="support.html">mailing list</a>
+ or <a href="https://bugs.uclibc.org">bug tracker</a>.</p>
+ </div>
+ </div>
+ </li>
+
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2016.08-rc1 released</h4>
- <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>10 May 2016</small></p>
+ <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>6 August 2016</small></p>
</div>
<div class="timeline-body">
<p>We have a new release candidate! Lots of
changes all over the tree, see
the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.08-rc1">CHANGES</a>
- file for details.
+ file for details and read the
+ <a href="http://lists.busybox.net/pipermail/buildroot/2016-August/169277.html">announcement</a>
</p>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
diff --git a/docs/website/support.html b/docs/website/support.html
index 2f16efe0a..92ee03b02 100644
--- a/docs/website/support.html
+++ b/docs/website/support.html
@@ -45,11 +45,6 @@
Only subscribers to the Buildroot mailing list are allowed to post
to this list.</p>
- <p>The list is also available
- through <a href="http://gmane.org">Gmane</a>
- at <a href="http://dir.gmane.org/gmane.comp.lib.uclibc.buildroot">gmane.comp.lib.uclibc.buildroot</a>.
- </p>
-
<h4>Search the List Archives</h4>
<p>Please search the mailing list archives before asking questions on the mailing
list, since there is a good chance someone else has asked the same question
diff --git a/linux/Config.in b/linux/Config.in
index ebcafcc0e..43d63c0cd 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -18,16 +18,15 @@ config BR2_LINUX_NEEDS_MODULES
# Version selection. We provide the choice between:
#
# 1. A single fairly recent stable kernel version
-# 2. In case an internal toolchain has been built, the same kernel
-# version as the kernel headers
-# 3. A custom stable version
-# 4. A custom tarball
+# 2. A custom stable version
+# 3. A custom tarball
+# 4. A set of custom repository locations
#
choice
prompt "Kernel version"
config BR2_LINUX_KERNEL_LATEST_VERSION
- bool "Latest version (4.7)"
+ bool "Latest version (4.7.2)"
config BR2_LINUX_KERNEL_CUSTOM_VERSION
bool "Custom version"
@@ -98,7 +97,7 @@ endif
config BR2_LINUX_KERNEL_VERSION
string
- default "4.7" if BR2_LINUX_KERNEL_LATEST_VERSION
+ default "4.7.2" if BR2_LINUX_KERNEL_LATEST_VERSION
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
if BR2_LINUX_KERNEL_CUSTOM_VERSION
default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
diff --git a/linux/Config.tools.in b/linux/Config.tools.in
index 09bcfabf1..5ada98d9e 100644
--- a/linux/Config.tools.in
+++ b/linux/Config.tools.in
@@ -3,11 +3,17 @@ menu "Linux Kernel Tools"
config BR2_LINUX_KERNEL_TOOL_CPUPOWER
bool "cpupower"
depends on !BR2_bfin # pciutils
+ depends on BR2_USE_WCHAR || !BR2_NEEDS_GETTEXT # gettext
select BR2_PACKAGE_PCIUTILS
+ select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
help
cpupower is a collection of tools to examine and tune power
saving related features of your processor.
+comment "cpupower needs a toolchain w/ wchar"
+ depends on !BR2_bfin
+ depends on !BR2_USE_WCHAR && BR2_NEEDS_GETTEXT
+
config BR2_LINUX_KERNEL_TOOL_PERF
bool "perf"
help
diff --git a/linux/linux-tool-cpupower.mk b/linux/linux-tool-cpupower.mk
index 4551cda1f..095a5efad 100644
--- a/linux/linux-tool-cpupower.mk
+++ b/linux/linux-tool-cpupower.mk
@@ -6,10 +6,12 @@
LINUX_TOOLS += cpupower
-CPUPOWER_DEPENDENCIES = pciutils
+CPUPOWER_DEPENDENCIES = pciutils $(if $(BR2_NEEDS_GETTEXT),gettext)
CPUPOWER_MAKE_OPTS = CROSS=$(TARGET_CROSS) \
CPUFREQ_BENCH=false \
+ NLS=false \
+ $(if $(BR2_NEEDS_GETTEXT),LDFLAGS=-lintl) \
DEBUG=false
define CPUPOWER_BUILD_CMDS
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) \
diff --git a/support/legal-info/README.header b/support/legal-info/README.header
index 1f3524f59..d3bdf71bc 100644
--- a/support/legal-info/README.header
+++ b/support/legal-info/README.header
@@ -20,6 +20,11 @@ This material is composed of the following items.
with a file named 'series' that lists the patches in the order they were
applied. Patches are under the same license as the files that they modify
in the original package.
+ Note: Buildroot applies additional patches to Libtool scripts of
+ autotools-based packages. These patches can be found under
+ support/libtool in the Buildroot source and, due to technical
+ limitations, are not saved with the package sources. You may need
+ to collect them manually.
* A manifest file listing the configured packages and related information.
* The license text of the packages; they have been saved in the licenses/
subdirectory.
diff --git a/support/misc/Vagrantfile b/support/misc/Vagrantfile
index d42a39444..cf269fea0 100644
--- a/support/misc/Vagrantfile
+++ b/support/misc/Vagrantfile
@@ -5,7 +5,7 @@
################################################################################
# Buildroot version to use
-RELEASE='2016.05'
+RELEASE='2016.08'
### Change here for more memory/cores ###
VM_MEMORY=2048
diff --git a/support/misc/toolchainfile.cmake.in b/support/misc/toolchainfile.cmake.in
index e550b8f5e..649b52d72 100644
--- a/support/misc/toolchainfile.cmake.in
+++ b/support/misc/toolchainfile.cmake.in
@@ -19,6 +19,7 @@ set(CMAKE_EXE_LINKER_FLAGS "@@TARGET_LDFLAGS@@ ${CMAKE_EXE_LINKER_FLAGS}" CACHE
set(CMAKE_INSTALL_SO_NO_EXE 0)
set(CMAKE_PROGRAM_PATH "${RELOCATED_HOST_DIR}/usr/bin")
+set(CMAKE_SYSROOT "${RELOCATED_HOST_DIR}/@@STAGING_SUBDIR@@")
set(CMAKE_FIND_ROOT_PATH "${RELOCATED_HOST_DIR}/@@STAGING_SUBDIR@@")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
diff --git a/support/scripts/size-stats b/support/scripts/size-stats
index 81d96caa1..0ddcc0790 100755
--- a/support/scripts/size-stats
+++ b/support/scripts/size-stats
@@ -66,7 +66,7 @@ def build_package_dict(builddir):
filesdict = {}
with open(os.path.join(builddir, "build", "packages-file-list.txt")) as filelistf:
for l in filelistf.readlines():
- pkg, fpath = l.split(",")
+ pkg, fpath = l.split(",", 1)
# remove the initial './' in each file path
fpath = fpath.strip()[2:]
fullpath = os.path.join(builddir, "target", fpath)
diff --git a/system/Config.in b/system/Config.in
index 4c7efac59..353421a9c 100644
--- a/system/Config.in
+++ b/system/Config.in
@@ -106,6 +106,7 @@ config BR2_INIT_BUSYBOX
config BR2_INIT_SYSV
bool "systemV"
+ depends on BR2_USE_MMU # sysvinit
select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # sysvinit
select BR2_PACKAGE_INITSCRIPTS
select BR2_PACKAGE_SYSVINIT
@@ -418,9 +419,8 @@ config BR2_GENERATE_LOCALE
config BR2_TARGET_TZ_INFO
bool "Install timezone info"
- # No timezone for musl; only for uClibc or glibc.
- depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC
select BR2_PACKAGE_TZDATA if BR2_TOOLCHAIN_USES_GLIBC
+ select BR2_PACKAGE_TZDATA if BR2_TOOLCHAIN_USES_MUSL
select BR2_PACKAGE_TZ if BR2_TOOLCHAIN_USES_UCLIBC
help
Say 'y' here to install timezone info.
diff --git a/toolchain/Config.in b/toolchain/Config.in
index 0d9c39b0b..de0158567 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -42,6 +42,10 @@ choice
config BR2_TOOLCHAIN_BUILDROOT
bool "Buildroot toolchain"
select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
+ depends on !BR2_bf606
+ depends on !BR2_bf607
+ depends on !BR2_bf608
+ depends on !BR2_bf609
config BR2_TOOLCHAIN_EXTERNAL
bool "External toolchain"
diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index f54fbee47..63b77127f 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -727,7 +727,8 @@ config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
config BR2_TOOLCHAIN_EXTERNAL_MUSL
bool
select BR2_TOOLCHAIN_USES_MUSL
- select BR2_PACKAGE_NETBSD_QUEUE
+ # Compatibility headers: cdefs.h, queue.h
+ select BR2_PACKAGE_MUSL_COMPAT_HEADERS
if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
index 29c1f36de..8de324726 100644
--- a/toolchain/toolchain-external/toolchain-external.mk
+++ b/toolchain/toolchain-external/toolchain-external.mk
@@ -246,11 +246,13 @@ TOOLCHAIN_EXTERNAL_CFLAGS += -msoft-float
TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_SOFTFLOAT=1
endif
-# 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 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
ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
-TOOLCHAIN_EXTERNAL_DEPENDENCIES += netbsd-queue
+TOOLCHAIN_EXTERNAL_DEPENDENCIES += musl-compat-headers
endif
# The Linaro toolchain expects the libraries in