Browse Source

Merge branch 'next'

Conflicts:
	package/gdb/Config.in.host

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Peter Korsgaard 11 years ago
parent
commit
27a5414804
97 changed files with 1659 additions and 1666 deletions
  1. 2 2
      Makefile
  2. 20 1
      arch/Config.in
  3. 65 6
      arch/Config.in.powerpc
  4. 3 0
      fs/squashfs/Config.in
  5. 4 0
      fs/squashfs/squashfs.mk
  6. 2 1
      linux/Config.in
  7. 1 0
      package/Config.in
  8. 1 1
      package/Makefile.in
  9. 7 7
      package/binutils/Config.in.host
  10. 21 6
      package/connman/Config.in
  11. 4 2
      package/connman/connman.mk
  12. 1 1
      package/dnsmasq/dnsmasq.mk
  13. 1 1
      package/efl/libevas/libevas.mk
  14. 1 0
      package/elf2flt/Config.in.host
  15. 0 144
      package/eudev/eudev-0001-Fix-issue-87-fails-to-build-on-linux-headers-3.13.patch
  16. 0 526
      package/eudev/eudev-0002-libudev-Fix-redefinition-of-usec_t-and-nsec_t.patch
  17. 1 1
      package/eudev/eudev.mk
  18. 1 1
      package/feh/Config.in
  19. 2 2
      package/feh/feh.mk
  20. 2 5
      package/ffmpeg/ffmpeg.mk
  21. 1 1
      package/fontconfig/fontconfig.mk
  22. 0 23
      package/gcc/4.8.2/840-PR57717.patch
  23. 0 32
      package/gcc/4.8.2/842-gcc-4.8.2-Fix-PR-target-58854.patch
  24. 0 101
      package/gcc/4.8.2/843-gcc-4.8.2-Fix-PR-target-58595.patch
  25. 0 29
      package/gcc/4.8.2/850-xtensa-libgcc-linker-script.patch
  26. 0 0
      package/gcc/4.8.3/100-uclibc-conf.patch
  27. 0 0
      package/gcc/4.8.3/301-missing-execinfo_h.patch
  28. 0 0
      package/gcc/4.8.3/302-c99-snprintf.patch
  29. 0 0
      package/gcc/4.8.3/305-libmudflap-susv3-legacy.patch
  30. 0 0
      package/gcc/4.8.3/810-arm-softfloat-libgcc.patch
  31. 0 0
      package/gcc/4.8.3/830-arm_unbreak_armv4t.patch
  32. 6 4
      package/gcc/4.8.3/841-PR57717-E500v2.patch
  33. 127 201
      package/gcc/4.8.3/900-musl-support.patch
  34. 0 0
      package/gcc/4.8.3/powerpc-link-with-math-lib.patch.conditional
  35. 8 8
      package/gcc/Config.in.host
  36. 14 2
      package/gdb/Config.in.host
  37. 9 7
      package/glibc/Config.in
  38. 22 0
      package/gmp/gmp-03-powerpc-provide-default-bmod-to-mod-threshold-1.patch
  39. 1 1
      package/grep/grep.mk
  40. 1 4
      package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk
  41. 1 4
      package/gstreamer1/gst1-libav/gst1-libav.mk
  42. 1 1
      package/i2c-tools/i2c-tools.mk
  43. 13 1
      package/inadyn/inadyn.mk
  44. 1 1
      package/jquery/jquery.mk
  45. 1 1
      package/libatomic_ops/Config.in
  46. 0 31
      package/libcurl/libcurl-01-disable-manual.patch
  47. 1 1
      package/libcurl/libcurl.mk
  48. 560 0
      package/libffi/libffi-arc-01-Add-ARC-support.patch
  49. 262 0
      package/libffi/libffi-arc-02-Rebuild-for-ARC-additions.patch
  50. 43 0
      package/libffi/libffi-arc-03-arc-Fix-build-error.patch
  51. 0 28
      package/libmicrohttpd/libmicrohttpd-0001-cross.patch
  52. 1 2
      package/libmicrohttpd/libmicrohttpd.mk
  53. 1 1
      package/libsoc/libsoc.mk
  54. 1 1
      package/libtasn1/libtasn1.mk
  55. 0 19
      package/lvm2/lvm2-001-readline-deprecated.patch
  56. 1 1
      package/lvm2/lvm2.mk
  57. 14 0
      package/lz4/Config.in
  58. 41 0
      package/lz4/lz4.mk
  59. 4 3
      package/mongoose/Config.in
  60. 1 1
      package/mongoose/S85mongoose
  61. 18 10
      package/mongoose/mongoose.mk
  62. 1 1
      package/mpd/mpd.mk
  63. 1 3
      package/mpg123/mpg123.mk
  64. 1 1
      package/musl/musl.mk
  65. 2 2
      package/nbd/nbd.mk
  66. 6 0
      package/openssl/openssl.mk
  67. 2 0
      package/qt5/Config.in
  68. 2 2
      package/qt5/qt5.mk
  69. 35 0
      package/qt5/qt5base/qt5base-0004-QDnsLookup-Fix-build-with-uClibc.patch
  70. 0 29
      package/qt5/qt5base/qt5base-0004-qatomic-ppc.patch
  71. 0 44
      package/qt5/qt5base/qt5base-0005-uclibc-no-gnu-lib-names.patch
  72. 0 41
      package/qt5/qt5base/qt5base-0006-sqlite3-Do-not-check-feature-macros-for-posix_falloc.patch
  73. 0 65
      package/qt5/qt5base/qt5base-0007-Fix-no-opengl-build-with-egl.patch
  74. 0 28
      package/qt5/qt5base/qt5base-CMake-don-t-require-GL-when-build-with-no-opengl.patch
  75. 0 38
      package/qt5/qt5base/qt5base-Fix-linuxfb-argument-mmsize-parsing.patch
  76. 0 30
      package/qt5/qt5connectivity/qt5connectivity-0001-don_t-build-scanner-example-without-qtquick.patch
  77. 0 67
      package/qt5/qt5connectivity/qt5connectivity-0002-the-poster-example-needs-no-widgets-but-it-needs-quick.patch
  78. 13 0
      package/qt5/qt5enginio/Config.in
  79. 62 0
      package/qt5/qt5enginio/qt5enginio.mk
  80. 11 0
      package/qt5/qt5websockets/Config.in
  81. 28 0
      package/qt5/qt5websockets/qt5websockets-0001-Remove-dependency-on-unused-sql-module.patch
  82. 61 0
      package/qt5/qt5websockets/qt5websockets.mk
  83. 6 0
      package/squashfs/Config.in
  84. 0 26
      package/squashfs/squashfs-4.2-no-gzip-fix.patch
  85. 10 3
      package/squashfs/squashfs.mk
  86. 2 1
      package/systemd/Config.in
  87. 0 44
      package/transmission/transmission-02-fix-cxx-check-with-ccache.patch
  88. 1 1
      package/transmission/transmission.mk
  89. 1 2
      package/vlc/vlc.mk
  90. 1 1
      package/wireless-regdb/wireless-regdb.mk
  91. 1 0
      package/x11r7/Config.in
  92. 4 0
      package/x11r7/xproto_dri3proto/Config.in
  93. 15 0
      package/x11r7/xproto_dri3proto/xproto_dri3proto.mk
  94. 81 0
      package/x11r7/xserver_xorg-server/xserver_xorg-server-add-support-for-arc.patch
  95. 7 0
      support/dependencies/check-host-tar.sh
  96. 5 5
      support/scripts/scancpan
  97. 7 6
      toolchain/toolchain-buildroot/Config.in

+ 2 - 2
Makefile

@@ -38,7 +38,7 @@ export HOSTARCH := $(shell uname -m | \
 	    -e s/sun4u/sparc64/ \
 	    -e s/arm.*/arm/ \
 	    -e s/sa110/arm/ \
-	    -e s/ppc64/powerpc/ \
+	    -e s/ppc64/powerpc64/ \
 	    -e s/ppc/powerpc/ \
 	    -e s/macppc/powerpc/\
 	    -e s/sh.*/sh/)
@@ -309,7 +309,7 @@ KERNEL_ARCH := $(shell echo "$(ARCH)" | sed -e "s/-.*//" \
 	-e s/aarch64/arm64/ \
 	-e s/bfin/blackfin/ \
 	-e s/parisc64/parisc/ \
-	-e s/powerpc64/powerpc/ \
+	-e s/powerpc64.*/powerpc/ \
 	-e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
 	-e s/sh.*/sh/ \
 	-e s/microblazeel/microblaze/)

+ 20 - 1
arch/Config.in

@@ -140,6 +140,25 @@ config BR2_powerpc
 	bool "PowerPC"
 	help
 	  PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
+	  Big endian.
+	  http://www.power.org/
+	  http://en.wikipedia.org/wiki/Powerpc
+
+config BR2_powerpc64
+	bool "PowerPC64 (big endian)"
+	select BR2_ARCH_IS_64
+	help
+	  PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
+	  Big endian.
+	  http://www.power.org/
+	  http://en.wikipedia.org/wiki/Powerpc
+
+config BR2_powerpc64le
+	bool "PowerPC64 (little endian)"
+	select BR2_ARCH_IS_64
+	help
+	  PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
+	  Little endian.
 	  http://www.power.org/
 	  http://en.wikipedia.org/wiki/Powerpc
 
@@ -321,7 +340,7 @@ if BR2_nios2
 source "arch/Config.in.nios2"
 endif
 
-if BR2_powerpc
+if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
 source "arch/Config.in.powerpc"
 endif
 

+ 65 - 6
arch/Config.in.powerpc

@@ -1,6 +1,11 @@
+config BR2_POWERPC_CPU_HAS_ALTIVEC
+	bool
+
+config BR2_POWERPC_CPU_HAS_SPE
+	bool
+
 choice
 	prompt "Target Architecture Variant"
-	depends on BR2_powerpc
 	default BR2_generic_powerpc
 	help
 	  Specific CPU variant to use
@@ -8,84 +13,130 @@ config BR2_generic_powerpc
 	bool "generic"
 config BR2_powerpc_401
 	bool "401"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_403
 	bool "403"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_405
 	bool "405"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_405fp
 	bool "405 with FPU"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_440
 	bool "440"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_440fp
 	bool "440 with FPU"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_464
 	bool "464"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_464fp
 	bool "464 with FPU"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_476
 	bool "476"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_476fp
 	bool "476 with FPU"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_505
 	bool "505"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_601
 	bool "601"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_602
 	bool "602"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_603
 	bool "603"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_603e
 	bool "603e"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_604
 	bool "604"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_604e
 	bool "604e"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_620
 	bool "620"
 config BR2_powerpc_630
 	bool "630"
 config BR2_powerpc_740
 	bool "740"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_7400
 	bool "7400"
+	select BR2_POWERPC_CPU_HAS_ALTIVEC
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_7450
 	bool "7450"
+	select BR2_POWERPC_CPU_HAS_ALTIVEC
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_750
 	bool "750"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_821
 	bool "821"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_823
 	bool "823"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_860
 	bool "860"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_970
 	bool "970"
+	select BR2_POWERPC_CPU_HAS_ALTIVEC
 config BR2_powerpc_8540
 	bool "8540 / e500v1"
+	depends on !BR2_ARCH_IS_64
+	select BR2_POWERPC_CPU_HAS_SPE
 config BR2_powerpc_8548
 	bool "8548 / e500v2"
+	depends on !BR2_ARCH_IS_64
+	select BR2_POWERPC_CPU_HAS_SPE
 config BR2_powerpc_e300c2
 	bool "e300c2"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_e300c3
 	bool "e300c3"
+	depends on !BR2_ARCH_IS_64
 config BR2_powerpc_e500mc
 	bool "e500mc"
+	depends on !BR2_ARCH_IS_64
+config BR2_powerpc_power4
+	bool "power4"
+config BR2_powerpc_power5
+	bool "power5"
+config BR2_powerpc_power6
+	bool "power6"
+	select BR2_POWERPC_CPU_HAS_ALTIVEC
+config BR2_powerpc_power7
+	bool "power7"
+	select BR2_POWERPC_CPU_HAS_ALTIVEC
+config BR2_powerpc_power8
+	bool "power8"
+	select BR2_POWERPC_CPU_HAS_ALTIVEC
 endchoice
 
 choice
 	prompt "Target ABI"
-	depends on BR2_powerpc
-	default BR2_powerpc_SPE if BR2_powerpc_8540 || BR2_powerpc_8548
+	default BR2_powerpc_SPE if BR2_POWERPC_CPU_HAS_SPE
 	default BR2_powerpc_CLASSIC
 	help
 	  Application Binary Interface to use
 
 config BR2_powerpc_CLASSIC
 	bool "Classic"
-	depends on !(BR2_powerpc_8540 || BR2_powerpc_8548)
+	depends on !BR2_POWERPC_CPU_HAS_SPE
 config BR2_powerpc_SPE
 	bool "SPE"
-	depends on BR2_powerpc_8540 || BR2_powerpc_8548
+	depends on BR2_POWERPC_CPU_HAS_SPE
 endchoice
 
 config BR2_POWERPC_SOFT_FLOAT
@@ -99,9 +150,12 @@ config BR2_POWERPC_SOFT_FLOAT
 
 config BR2_ARCH
 	default "powerpc"	if BR2_powerpc
+	default "powerpc64"	if BR2_powerpc64
+	default "powerpc64le"	if BR2_powerpc64le
 
 config BR2_ENDIAN
-	default "BIG"
+	default "BIG"    if BR2_powerpc || BR2_powerpc64
+	default "LITTLE" if BR2_powerpc64le
 
 config BR2_GCC_TARGET_TUNE
 	default "401"		if BR2_powerpc_401
@@ -136,6 +190,11 @@ config BR2_GCC_TARGET_TUNE
 	default "e300c2"	if BR2_powerpc_e300c2
 	default "e300c3"	if BR2_powerpc_e300c3
 	default "e500mc"	if BR2_powerpc_e500mc
+	default "power4"	if BR2_powerpc_power4
+	default "power5"	if BR2_powerpc_power5
+	default "power6"	if BR2_powerpc_power6
+	default "power7"	if BR2_powerpc_power7
+	default "power8"	if BR2_powerpc_power8
 
 config BR2_GCC_TARGET_ABI
 	default "altivec"		if BR2_PPC_ABI_altivec

+ 3 - 0
fs/squashfs/Config.in

@@ -15,6 +15,9 @@ choice
 config BR2_TARGET_ROOTFS_SQUASHFS4_GZIP
 	bool "gzip"
 
+config BR2_TARGET_ROOTFS_SQUASHFS4_LZ4
+	bool "lz4"
+
 config BR2_TARGET_ROOTFS_SQUASHFS4_LZMA
 	bool "lzma"
 

+ 4 - 0
fs/squashfs/squashfs.mk

@@ -6,6 +6,9 @@
 
 ROOTFS_SQUASHFS_DEPENDENCIES = host-squashfs
 
+ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZ4),y)
+ROOTFS_SQUASHFS_ARGS += -comp lz4
+else
 ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZO),y)
 ROOTFS_SQUASHFS_ARGS += -comp lzo
 else
@@ -19,6 +22,7 @@ ROOTFS_SQUASHFS_ARGS += -comp gzip
 endif
 endif
 endif
+endif
 
 define ROOTFS_SQUASHFS_CMD
 	$(HOST_DIR)/usr/bin/mksquashfs $(TARGET_DIR) $@ -noappend \

+ 2 - 1
linux/Config.in

@@ -184,7 +184,8 @@ config BR2_LINUX_KERNEL_BZIMAGE
 
 config BR2_LINUX_KERNEL_ZIMAGE
 	bool "zImage"
-	depends on BR2_arm || BR2_armeb || BR2_powerpc || BR2_sparc || \
+	depends on BR2_arm || BR2_armeb || BR2_powerpc || \
+		   BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \
 		   BR2_sh || BR2_sh64 || BR2_xtensa
 
 config BR2_LINUX_KERNEL_APPENDED_ZIMAGE

+ 1 - 0
package/Config.in

@@ -38,6 +38,7 @@ if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 source "package/gzip/Config.in"
 endif
 source "package/infozip/Config.in"
+source "package/lz4/Config.in"
 source "package/lzip/Config.in"
 source "package/lzop/Config.in"
 source "package/xz/Config.in"

+ 1 - 1
package/Makefile.in

@@ -321,7 +321,7 @@ endif
 ifeq ($(BR2_m68k),y)
 BR2_AC_CV_TRAP_CHECK=ac_cv_lbl_unaligned_fail=no
 endif
-ifeq ($(BR2_powerpc)$(BR2_ENDIAN),yBIG)
+ifeq ($(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpc64le),y)
 BR2_AC_CV_TRAP_CHECK=ac_cv_lbl_unaligned_fail=no
 endif
 

+ 7 - 7
package/binutils/Config.in.host

@@ -4,7 +4,7 @@ choice
 	prompt "Binutils Version"
 	depends on !BR2_arc
 	default BR2_BINUTILS_VERSION_2_21 if (BR2_mips || BR2_mipsel || BR2_sh)
-	default BR2_BINUTILS_VERSION_2_24 if BR2_microblaze
+	default BR2_BINUTILS_VERSION_2_24 if BR2_microblaze || BR2_powerpc64le
 	default BR2_BINUTILS_VERSION_2_22
 	help
 	  Select the version of binutils you wish to use.
@@ -14,30 +14,30 @@ choice
 		bool "binutils 2.18-avr32-1.0.1"
 
 	config BR2_BINUTILS_VERSION_2_20_1
-		depends on !BR2_avr32 && !BR2_aarch64 && !BR2_microblaze
+		depends on !BR2_avr32 && !BR2_aarch64 && !BR2_microblaze && !BR2_powerpc64le
 		depends on !BR2_ARM_EABIHF
 		bool "binutils 2.20.1"
 
 	config BR2_BINUTILS_VERSION_2_21
-		depends on !BR2_avr32 && !BR2_aarch64 && !BR2_microblaze
+		depends on !BR2_avr32 && !BR2_aarch64 && !BR2_microblaze && !BR2_powerpc64le
 		depends on !BR2_ARM_EABIHF
 		bool "binutils 2.21"
 
 	config BR2_BINUTILS_VERSION_2_21_1
-		depends on !BR2_avr32 && !BR2_aarch64 && !BR2_microblaze
+		depends on !BR2_avr32 && !BR2_aarch64 && !BR2_microblaze && !BR2_powerpc64le
 		depends on !BR2_ARM_EABIHF
 		bool "binutils 2.21.1"
 
 	config BR2_BINUTILS_VERSION_2_22
-		depends on !BR2_avr32 && !BR2_aarch64 && !BR2_microblaze
+		depends on !BR2_avr32 && !BR2_aarch64 && !BR2_microblaze && !BR2_powerpc64le
 		bool "binutils 2.22"
 
 	config BR2_BINUTILS_VERSION_2_23_1
-		depends on !BR2_avr32 && !BR2_aarch64 && !BR2_microblaze
+		depends on !BR2_avr32 && !BR2_aarch64 && !BR2_microblaze && !BR2_powerpc64le
 		bool "binutils 2.23.1"
 
 	config BR2_BINUTILS_VERSION_2_23_2
-		depends on !BR2_avr32 && !BR2_aarch64 && !BR2_microblaze
+		depends on !BR2_avr32 && !BR2_aarch64 && !BR2_microblaze && !BR2_powerpc64le
 		bool "binutils 2.23.2"
 
 	config BR2_BINUTILS_VERSION_2_24

+ 21 - 6
package/connman/Config.in

@@ -3,17 +3,16 @@ config BR2_PACKAGE_CONNMAN
 	select BR2_PACKAGE_DBUS
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_IPTABLES
-	select BR2_PACKAGE_GNUTLS
 	depends on !BR2_avr32 # no inotify_init1
 	depends on !BR2_UCLIBC_VERSION_0_9_32
-	depends on BR2_USE_WCHAR # libglib2 and gnutls
+	depends on BR2_USE_WCHAR # libglib2
 	depends on BR2_INET_IPV6
 	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2
 	depends on BR2_USE_MMU # dbus, libglib2
 	help
-	  The Connection Manager (ConnMan) project provides a daemon for
-	  managing internet connections within embedded devices running
-	  the Linux operating system.
+	  The Connection Manager (ConnMan) project provides a daemon
+	  for managing internet connections within embedded devices
+	  running the Linux operating system.
 
 	  For more information, see https://01.org/connman
 
@@ -25,10 +24,26 @@ config BR2_PACKAGE_CONNMAN_ETHERNET
 
 config BR2_PACKAGE_CONNMAN_WIFI
 	bool "enable WiFi support"
-	select BR2_PACKAGE_WPA_SUPPLICANT
+	select BR2_PACKAGE_WPA_SUPPLICANT # runtime
+	help
+	  Enable WiFi support (scan and static/dhcp interface
+	  setup). ConnMan detects the start of wpa_supplicant
+	  automatically.
+
+config BR2_PACKAGE_CONNMAN_WISPR
+	bool "enable WISPr support"
+	select BR2_PACKAGE_GNUTLS
+	help
+	  Enable support for Wireless Internet Service Provider
+	  roaming (WISPr). A RADIUS server is used to authenticate the
+	  subscriber's credentials.
 
 config BR2_PACKAGE_CONNMAN_BLUETOOTH
 	bool "enable Bluetooth support"
+	help
+	  Enable Bluetooth (PAN profile) support. The start of
+	  bluetoothd is automatically detected and only a runtime
+	  dependency.
 
 config BR2_PACKAGE_CONNMAN_LOOPBACK
 	bool "enable loopback support"

+ 4 - 2
package/connman/connman.mk

@@ -7,7 +7,7 @@
 CONNMAN_VERSION = 1.23
 CONNMAN_SOURCE = connman-$(CONNMAN_VERSION).tar.xz
 CONNMAN_SITE = $(BR2_KERNEL_MIRROR)/linux/network/connman/
-CONNMAN_DEPENDENCIES = libglib2 dbus iptables gnutls
+CONNMAN_DEPENDENCIES = libglib2 dbus iptables
 CONNMAN_INSTALL_STAGING = YES
 CONNMAN_LICENSE = GPLv2
 CONNMAN_LICENSE_FILES = COPYING
@@ -15,6 +15,7 @@ CONNMAN_CONF_OPT += --localstatedir=/var \
 	$(if $(BR2_PACKAGE_CONNMAN_DEBUG),--enable-debug,--disable-debug)		\
 	$(if $(BR2_PACKAGE_CONNMAN_ETHERNET),--enable-ethernet,--disable-ethernet)	\
 	$(if $(BR2_PACKAGE_CONNMAN_WIFI),--enable-wifi,--disable-wifi)			\
+	$(if $(BR2_PACKAGE_CONNMAN_WISPR),--enable-wispr,--disable-wispr) \
 	$(if $(BR2_PACKAGE_CONNMAN_BLUETOOTH),--enable-bluetooth,--disable-bluetooth)	\
 	$(if $(BR2_PACKAGE_CONNMAN_LOOPBACK),--enable-loopback,--disable-loopback)	\
 	$(if $(BR2_PACKAGE_CONNMAN_NEARD),--enable-neard,--disable-neard) \
@@ -23,7 +24,8 @@ CONNMAN_CONF_OPT += --localstatedir=/var \
 
 CONNMAN_DEPENDENCIES += \
 	$(if $(BR2_PACKAGE_CONNMAN_NEARD),neard) \
-	$(if $(BR2_PACKAGE_CONNMAN_OFONO),ofono)
+	$(if $(BR2_PACKAGE_CONNMAN_OFONO),ofono) \
+	$(if $(BR2_PACKAGE_CONNMAN_WISPR),gnutls)
 
 define CONNMAN_INSTALL_INIT_SYSV
 	$(INSTALL) -m 0755 -D package/connman/S45connman $(TARGET_DIR)/etc/init.d/S45connman

+ 1 - 1
package/dnsmasq/dnsmasq.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-DNSMASQ_VERSION = 2.70
+DNSMASQ_VERSION = 2.71
 DNSMASQ_SOURCE = dnsmasq-$(DNSMASQ_VERSION).tar.xz
 DNSMASQ_SITE = http://thekelleys.org.uk/dnsmasq
 DNSMASQ_MAKE_ENV = $(TARGET_MAKE_ENV) CC="$(TARGET_CC)"

+ 1 - 1
package/efl/libevas/libevas.mk

@@ -136,7 +136,7 @@ else
 LIBEVAS_CONF_OPT += --disable-cpu-sse3
 endif
 
-ifeq ($(BR2_powerpc_7400)$(BR2_powerpc_7450)$(BR2_powerpc_970),y)
+ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y)
 LIBEVAS_CONF_OPT += --enable-cpu-altivec
 else
 LIBEVAS_CONF_OPT += --disable-cpu-altivec

+ 1 - 0
package/elf2flt/Config.in.host

@@ -1,6 +1,7 @@
 config BR2_PACKAGE_HOST_ELF2FLT
 	bool "Enable elf2flt support?"
 	depends on BR2_arm || BR2_bfin || BR2_sh || BR2_sparc
+	depends on !BR2_USE_MMU
 	help
 	  uCLinux uses a Binary Flat format commonly known as BFLT. It
 	  is a relatively simple and lightweight executable format

+ 0 - 144
package/eudev/eudev-0001-Fix-issue-87-fails-to-build-on-linux-headers-3.13.patch

@@ -1,144 +0,0 @@
-commit 4b76ac0bff27c0a32fc22591ec4543768ae5b991
-Author: Anthony G. Basile <blueness@gentoo.org>
-Date:   Sat Apr 5 16:32:30 2014 -0400
-
-    Revisit issue #87: fails to build on linux headers 3.13
-    
-    We switch to defining _GNU_SOURCE as we do for cdrom_id.c
-    for a more consistant approach to this issue.
-    
-    Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
-
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
-
-diff --git a/src/accelerometer/accelerometer.c b/src/accelerometer/accelerometer.c
-index beed53c..501caa4 100644
---- a/src/accelerometer/accelerometer.c
-+++ b/src/accelerometer/accelerometer.c
-@@ -44,6 +44,10 @@
-  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-  */
- 
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE 1
-+#endif
-+
- #include <stdio.h>
- #include <string.h>
- #include <stdbool.h>
-@@ -58,10 +62,6 @@
- #include <linux/limits.h>
- #include <linux/input.h>
- 
--#ifdef __UCLIBC__
--#include <linux/fcntl.h>
--#endif
--
- #include "libudev.h"
- #include "libudev-private.h"
- 
-diff --git a/src/ata_id/ata_id.c b/src/ata_id/ata_id.c
-index 93dbb53..b416cde 100644
---- a/src/ata_id/ata_id.c
-+++ b/src/ata_id/ata_id.c
-@@ -19,6 +19,10 @@
-  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
-  */
- 
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE 1
-+#endif
-+
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdint.h>
-@@ -41,10 +45,6 @@
- #include <linux/bsg.h>
- #include <arpa/inet.h>
- 
--#ifdef __UCLIBC__
--#include <linux/fcntl.h>
--#endif
--
- #include "libudev.h"
- #include "libudev-private.h"
- #include "log.h"
-diff --git a/src/collect/collect.c b/src/collect/collect.c
-index 9d1a97e..05d6517 100644
---- a/src/collect/collect.c
-+++ b/src/collect/collect.c
-@@ -19,6 +19,10 @@
-  *
-  */
- 
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE 1
-+#endif
-+
- #include <stdio.h>
- #include <stdlib.h>
- #include <stddef.h>
-@@ -31,10 +35,6 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- 
--#ifdef __UCLIBC__
--#include <linux/fcntl.h>
--#endif
--
- #include "libudev.h"
- #include "libudev-private.h"
- #include "macro.h"
-diff --git a/src/mtd_probe/mtd_probe.c b/src/mtd_probe/mtd_probe.c
-index ffba0eb..0fbf3ab 100644
---- a/src/mtd_probe/mtd_probe.c
-+++ b/src/mtd_probe/mtd_probe.c
-@@ -16,6 +16,11 @@
-  * Foundation, Inc., 51 Franklin St, Fifth Floor,
-  * Boston, MA  02110-1301  USA
-  */
-+
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE 1
-+#endif
-+
- #include "mtd_probe.h"
- #include <stdio.h>
- #include <sys/ioctl.h>
-@@ -26,10 +31,6 @@
- #include <unistd.h>
- #include <stdlib.h>
- 
--#ifdef __UCLIBC__
--#include <linux/fcntl.h>
--#endif
--
- int main(int argc, char** argv)
- {
-         int mtd_fd;
-diff --git a/src/scsi_id/scsi_serial.c b/src/scsi_id/scsi_serial.c
-index b9a94e6..c3f957d 100644
---- a/src/scsi_id/scsi_serial.c
-+++ b/src/scsi_id/scsi_serial.c
-@@ -17,6 +17,10 @@
-  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
-  */
- 
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE 1
-+#endif
-+
- #include <sys/types.h>
- #include <sys/ioctl.h>
- #include <sys/stat.h>
-@@ -34,10 +38,6 @@
- #include <linux/types.h>
- #include <linux/bsg.h>
- 
--#ifdef __UCLIBC__
--#include <linux/fcntl.h>
--#endif
--
- #include "libudev.h"
- #include "libudev-private.h"
- #include "scsi.h"

+ 0 - 526
package/eudev/eudev-0002-libudev-Fix-redefinition-of-usec_t-and-nsec_t.patch

@@ -1,526 +0,0 @@
-From dc1aabc85f1ceda5799fe39225fa76f2f77354ea Mon Sep 17 00:00:00 2001
-From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
-Date: Wed, 2 Apr 2014 11:51:40 +0200
-Subject: [PATCH] libudev: Fix redefinition of usec_t and nsec_t.
-
-The type definitions usec_t and nsec_t are defined twice: in
-path-util.h and util.h.
-
-time-util.h and time-util.c now gather the time-related functions and
-definitions (as in upstream systemd).
-
-Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
----
- src/libudev/Makefile.am       |    2 +
- src/libudev/libudev-private.h |    1 +
- src/libudev/log.c             |    1 +
- src/libudev/path-util.h       |    4 +-
- src/libudev/time-util.c       |  157 +++++++++++++++++++++++++++++++++++++++++
- src/libudev/time-util.h       |   56 +++++++++++++++
- src/libudev/util.c            |  132 +---------------------------------
- src/libudev/util.h            |   39 ----------
- 8 files changed, 219 insertions(+), 173 deletions(-)
- create mode 100644 src/libudev/time-util.c
- create mode 100644 src/libudev/time-util.h
-
-diff --git a/src/libudev/Makefile.am b/src/libudev/Makefile.am
-index 84d018a..683407a 100644
---- a/src/libudev/Makefile.am
-+++ b/src/libudev/Makefile.am
-@@ -47,6 +47,7 @@ libudev_la_SOURCES =\
- 	strbuf.c \
- 	strv.c \
- 	strxcpyx.c  \
-+	time-util.c \
- 	util.c \
- 	utf8.c
- 
-@@ -73,6 +74,7 @@ noinst_HEADERS = \
- 	strbuf.h \
- 	strv.h \
- 	strxcpyx.h \
-+	time-util.h \
- 	util.h \
- 	utf8.h
- 
-diff --git a/src/libudev/libudev-private.h b/src/libudev/libudev-private.h
-index af0f125..511ec5e 100644
---- a/src/libudev/libudev-private.h
-+++ b/src/libudev/libudev-private.h
-@@ -27,6 +27,7 @@
- 
- #include "libudev.h"
- #include "macro.h"
-+#include "time-util.h"
- #include "util.h"
- #include "mkdir.h"
- #include "strxcpyx.h"
-diff --git a/src/libudev/log.c b/src/libudev/log.c
-index 73bba69..a4e1bce 100644
---- a/src/libudev/log.c
-+++ b/src/libudev/log.c
-@@ -30,6 +30,7 @@
- #include <string.h>
- 
- #include "log.h"
-+#include "time-util.h"
- #include "util.h"
- #include "missing.h"
- #include "macro.h"
-diff --git a/src/libudev/path-util.h b/src/libudev/path-util.h
-index eea7589..8e55131 100644
---- a/src/libudev/path-util.h
-+++ b/src/libudev/path-util.h
-@@ -18,10 +18,8 @@
- ***/
- 
- #include <stdbool.h>
--#include <inttypes.h>
- 
--typedef uint64_t usec_t;
--typedef uint64_t nsec_t;
-+#include "time-util.h"
- 
- char* path_get_file_name(const char *p) _pure_;
- int path_get_parent(const char *path, char **parent);
-diff --git a/src/libudev/time-util.c b/src/libudev/time-util.c
-new file mode 100644
-index 0000000..f6c24e3
---- /dev/null
-+++ b/src/libudev/time-util.c
-@@ -0,0 +1,157 @@
-+/***
-+  This file is part of eudev, forked from systemd.
-+
-+  Copyright 2010 Lennart Poettering
-+
-+  systemd is free software; you can redistribute it and/or modify it
-+  under the terms of the GNU Lesser General Public License as published by
-+  the Free Software Foundation; either version 2.1 of the License, or
-+  (at your option) any later version.
-+
-+  systemd is distributed in the hope that it will be useful, but
-+  WITHOUT ANY WARRANTY; without even the implied warranty of
-+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+  Lesser General Public License for more details.
-+
-+  You should have received a copy of the GNU Lesser General Public License
-+  along with systemd; If not, see <http://www.gnu.org/licenses/>.
-+***/
-+
-+#include <stdlib.h>
-+#include <stdio.h>
-+#include <stdbool.h>
-+#include <time.h>
-+
-+#include "time-util.h"
-+#include "macro.h"
-+
-+usec_t now(clockid_t clock_id) {
-+        struct timespec ts;
-+
-+        assert_se(clock_gettime(clock_id, &ts) == 0);
-+
-+        return timespec_load(&ts);
-+}
-+
-+usec_t timespec_load(const struct timespec *ts) {
-+        assert(ts);
-+
-+        if (ts->tv_sec == (time_t) -1 &&
-+            ts->tv_nsec == (long) -1)
-+                return (usec_t) -1;
-+
-+        if ((usec_t) ts->tv_sec > (UINT64_MAX - (ts->tv_nsec / NSEC_PER_USEC)) / USEC_PER_SEC)
-+                return (usec_t) -1;
-+
-+        return
-+                (usec_t) ts->tv_sec * USEC_PER_SEC +
-+                (usec_t) ts->tv_nsec / NSEC_PER_USEC;
-+}
-+
-+char *format_timespan(char *buf, size_t l, usec_t t, usec_t accuracy) {
-+        static const struct {
-+                const char *suffix;
-+                usec_t usec;
-+        } table[] = {
-+                { "y", USEC_PER_YEAR },
-+                { "month", USEC_PER_MONTH },
-+                { "w", USEC_PER_WEEK },
-+                { "d", USEC_PER_DAY },
-+                { "h", USEC_PER_HOUR },
-+                { "min", USEC_PER_MINUTE },
-+                { "s", USEC_PER_SEC },
-+                { "ms", USEC_PER_MSEC },
-+                { "us", 1 },
-+        };
-+
-+        unsigned i;
-+        char *p = buf;
-+        bool something = false;
-+
-+        assert(buf);
-+        assert(l > 0);
-+
-+        if (t == (usec_t) -1)
-+                return NULL;
-+
-+        if (t <= 0) {
-+                snprintf(p, l, "0");
-+                p[l-1] = 0;
-+                return p;
-+        }
-+
-+        /* The result of this function can be parsed with parse_sec */
-+
-+        for (i = 0; i < ELEMENTSOF(table); i++) {
-+                int k;
-+                size_t n;
-+                bool done = false;
-+                usec_t a, b;
-+
-+                if (t <= 0)
-+                        break;
-+
-+                if (t < accuracy && something)
-+                        break;
-+
-+                if (t < table[i].usec)
-+                        continue;
-+
-+                if (l <= 1)
-+                        break;
-+
-+                a = t / table[i].usec;
-+                b = t % table[i].usec;
-+
-+                /* Let's see if we should shows this in dot notation */
-+                if (t < USEC_PER_MINUTE && b > 0) {
-+                        usec_t cc;
-+                        int j;
-+
-+                        j = 0;
-+                        for (cc = table[i].usec; cc > 1; cc /= 10)
-+                                j++;
-+
-+                        for (cc = accuracy; cc > 1; cc /= 10) {
-+                                b /= 10;
-+                                j--;
-+                        }
-+
-+                        if (j > 0) {
-+                                k = snprintf(p, l,
-+                                             "%s%llu.%0*llu%s",
-+                                             p > buf ? " " : "",
-+                                             (unsigned long long) a,
-+                                             j,
-+                                             (unsigned long long) b,
-+                                             table[i].suffix);
-+
-+                                t = 0;
-+                                done = true;
-+                        }
-+                }
-+
-+                /* No? Then let's show it normally */
-+                if (!done) {
-+                        k = snprintf(p, l,
-+                                     "%s%llu%s",
-+                                     p > buf ? " " : "",
-+                                     (unsigned long long) a,
-+                                     table[i].suffix);
-+
-+                        t = b;
-+                }
-+
-+                n = MIN((size_t) k, l);
-+
-+                l -= n;
-+                p += n;
-+
-+                something = true;
-+        }
-+
-+        *p = 0;
-+
-+        return buf;
-+}
-+
-diff --git a/src/libudev/time-util.h b/src/libudev/time-util.h
-new file mode 100644
-index 0000000..0f7f696
---- /dev/null
-+++ b/src/libudev/time-util.h
-@@ -0,0 +1,56 @@
-+/***
-+  This file is part of eudev, forked from systemd.
-+
-+  Copyright 2010 Lennart Poettering
-+
-+  systemd is free software; you can redistribute it and/or modify it
-+  under the terms of the GNU Lesser General Public License as published by
-+  the Free Software Foundation; either version 2.1 of the License, or
-+  (at your option) any later version.
-+
-+  systemd is distributed in the hope that it will be useful, but
-+  WITHOUT ANY WARRANTY; without even the implied warranty of
-+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+  Lesser General Public License for more details.
-+
-+  You should have received a copy of the GNU Lesser General Public License
-+  along with systemd; If not, see <http://www.gnu.org/licenses/>.
-+***/
-+
-+#pragma once
-+
-+#include <inttypes.h>
-+
-+typedef uint64_t usec_t;
-+typedef uint64_t nsec_t;
-+
-+typedef struct dual_timestamp {
-+        usec_t realtime;
-+        usec_t monotonic;
-+} dual_timestamp;
-+
-+#define MSEC_PER_SEC  1000ULL
-+#define USEC_PER_SEC  1000000ULL
-+#define USEC_PER_MSEC 1000ULL
-+#define NSEC_PER_SEC  1000000000ULL
-+#define NSEC_PER_MSEC 1000000ULL
-+#define NSEC_PER_USEC 1000ULL
-+
-+#define USEC_PER_MINUTE (60ULL*USEC_PER_SEC)
-+#define NSEC_PER_MINUTE (60ULL*NSEC_PER_SEC)
-+#define USEC_PER_HOUR (60ULL*USEC_PER_MINUTE)
-+#define NSEC_PER_HOUR (60ULL*NSEC_PER_MINUTE)
-+#define USEC_PER_DAY (24ULL*USEC_PER_HOUR)
-+#define NSEC_PER_DAY (24ULL*NSEC_PER_HOUR)
-+#define USEC_PER_WEEK (7ULL*USEC_PER_DAY)
-+#define NSEC_PER_WEEK (7ULL*NSEC_PER_DAY)
-+#define USEC_PER_MONTH (2629800ULL*USEC_PER_SEC)
-+#define NSEC_PER_MONTH (2629800ULL*NSEC_PER_SEC)
-+#define USEC_PER_YEAR (31557600ULL*USEC_PER_SEC)
-+#define NSEC_PER_YEAR (31557600ULL*NSEC_PER_SEC)
-+
-+#define FORMAT_TIMESPAN_MAX 64
-+
-+usec_t now(clockid_t clock);
-+usec_t timespec_load(const struct timespec *ts);
-+char *format_timespan(char *buf, size_t l, usec_t t, usec_t accuracy);
-diff --git a/src/libudev/util.c b/src/libudev/util.c
-index a0d7cac..4796505 100644
---- a/src/libudev/util.c
-+++ b/src/libudev/util.c
-@@ -102,136 +102,6 @@ bool streq_ptr(const char *a, const char *b) {
-         return false;
- }
- 
--usec_t now(clockid_t clock_id) {
--        struct timespec ts;
--
--        assert_se(clock_gettime(clock_id, &ts) == 0);
--
--        return timespec_load(&ts);
--}
--
--usec_t timespec_load(const struct timespec *ts) {
--        assert(ts);
--
--        if (ts->tv_sec == (time_t) -1 &&
--            ts->tv_nsec == (long) -1)
--                return (usec_t) -1;
--
--        if ((usec_t) ts->tv_sec > (UINT64_MAX - (ts->tv_nsec / NSEC_PER_USEC)) / USEC_PER_SEC)
--                return (usec_t) -1;
--
--        return
--                (usec_t) ts->tv_sec * USEC_PER_SEC +
--                (usec_t) ts->tv_nsec / NSEC_PER_USEC;
--}
--
--char *format_timespan(char *buf, size_t l, usec_t t, usec_t accuracy) {
--        static const struct {
--                const char *suffix;
--                usec_t usec;
--        } table[] = {
--                { "y", USEC_PER_YEAR },
--                { "month", USEC_PER_MONTH },
--                { "w", USEC_PER_WEEK },
--                { "d", USEC_PER_DAY },
--                { "h", USEC_PER_HOUR },
--                { "min", USEC_PER_MINUTE },
--                { "s", USEC_PER_SEC },
--                { "ms", USEC_PER_MSEC },
--                { "us", 1 },
--        };
--
--        unsigned i;
--        char *p = buf;
--        bool something = false;
--
--        assert(buf);
--        assert(l > 0);
--
--        if (t == (usec_t) -1)
--                return NULL;
--
--        if (t <= 0) {
--                snprintf(p, l, "0");
--                p[l-1] = 0;
--                return p;
--        }
--
--        /* The result of this function can be parsed with parse_sec */
--
--        for (i = 0; i < ELEMENTSOF(table); i++) {
--                int k;
--                size_t n;
--                bool done = false;
--                usec_t a, b;
--
--                if (t <= 0)
--                        break;
--
--                if (t < accuracy && something)
--                        break;
--
--                if (t < table[i].usec)
--                        continue;
--
--                if (l <= 1)
--                        break;
--
--                a = t / table[i].usec;
--                b = t % table[i].usec;
--
--                /* Let's see if we should shows this in dot notation */
--                if (t < USEC_PER_MINUTE && b > 0) {
--                        usec_t cc;
--                        int j;
--
--                        j = 0;
--                        for (cc = table[i].usec; cc > 1; cc /= 10)
--                                j++;
--
--                        for (cc = accuracy; cc > 1; cc /= 10) {
--                                b /= 10;
--                                j--;
--                        }
--
--                        if (j > 0) {
--                                k = snprintf(p, l,
--                                             "%s%llu.%0*llu%s",
--                                             p > buf ? " " : "",
--                                             (unsigned long long) a,
--                                             j,
--                                             (unsigned long long) b,
--                                             table[i].suffix);
--
--                                t = 0;
--                                done = true;
--                        }
--                }
--
--                /* No? Then let's show it normally */
--                if (!done) {
--                        k = snprintf(p, l,
--                                     "%s%llu%s",
--                                     p > buf ? " " : "",
--                                     (unsigned long long) a,
--                                     table[i].suffix);
--
--                        t = b;
--                }
--
--                n = MIN((size_t) k, l);
--
--                l -= n;
--                p += n;
--
--                something = true;
--        }
--
--        *p = 0;
--
--        return buf;
--}
--
- char* endswith(const char *s, const char *postfix) {
-         size_t sl, pl;
- 
-@@ -826,7 +696,7 @@ int execute_command(const char *command, char *const argv[])
-                 } else
-                         log_debug("%s exited successfully.", command);
- 
--                return si.si_status; 
-+                return si.si_status;
- 
-         }
- }
-diff --git a/src/libudev/util.h b/src/libudev/util.h
-index 33e9efb..6510237 100644
---- a/src/libudev/util.h
-+++ b/src/libudev/util.h
-@@ -33,47 +33,12 @@
- 
- #include "macro.h"
- 
--/* Note: the time definitions are from upstream's
-- * src/shared/time-util.h which I have put here
-- * for now.  We may need to beak these out later.
-- * <blueness@gentoo.org>
-- */
--typedef uint64_t usec_t;
--typedef uint64_t nsec_t;
--
--typedef struct dual_timestamp {
--        usec_t realtime;
--        usec_t monotonic;
--} dual_timestamp;
--
- union dirent_storage {
-         struct dirent de;
-         uint8_t storage[offsetof(struct dirent, d_name) +
-                         ((NAME_MAX + 1 + sizeof(long)) & ~(sizeof(long) - 1))];
- };
- 
--#define MSEC_PER_SEC  1000ULL
--#define USEC_PER_SEC  1000000ULL
--#define USEC_PER_MSEC 1000ULL
--#define NSEC_PER_SEC  1000000000ULL
--#define NSEC_PER_MSEC 1000000ULL
--#define NSEC_PER_USEC 1000ULL
--
--#define USEC_PER_MINUTE (60ULL*USEC_PER_SEC)
--#define NSEC_PER_MINUTE (60ULL*NSEC_PER_SEC)
--#define USEC_PER_HOUR (60ULL*USEC_PER_MINUTE)
--#define NSEC_PER_HOUR (60ULL*NSEC_PER_MINUTE)
--#define USEC_PER_DAY (24ULL*USEC_PER_HOUR)
--#define NSEC_PER_DAY (24ULL*NSEC_PER_HOUR)
--#define USEC_PER_WEEK (7ULL*USEC_PER_DAY)
--#define NSEC_PER_WEEK (7ULL*NSEC_PER_DAY)
--#define USEC_PER_MONTH (2629800ULL*USEC_PER_SEC)
--#define NSEC_PER_MONTH (2629800ULL*NSEC_PER_SEC)
--#define USEC_PER_YEAR (31557600ULL*USEC_PER_SEC)
--#define NSEC_PER_YEAR (31557600ULL*NSEC_PER_SEC)
--
--#define FORMAT_TIMESPAN_MAX 64
--
- /* What is interpreted as whitespace? */
- #define WHITESPACE " \t\n\r"
- #define NEWLINE    "\n\r"
-@@ -93,10 +58,6 @@ union dirent_storage {
- #define ANSI_HIGHLIGHT_OFF "\x1B[0m"
- #define ANSI_ERASE_TO_END_OF_LINE "\x1B[K"
- 
--usec_t now(clockid_t clock);
--usec_t timespec_load(const struct timespec *ts);
--char *format_timespan(char *buf, size_t l, usec_t t, usec_t accuracy);
--
- size_t page_size(void);
- #define PAGE_ALIGN(l) ALIGN_TO((l), page_size())
- 
--- 
-1.7.9.5
-

+ 1 - 1
package/eudev/eudev.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-EUDEV_VERSION = 1.5.3
+EUDEV_VERSION = v1.6
 EUDEV_SITE = $(call github,gentoo,eudev,$(EUDEV_VERSION))
 EUDEV_LICENSE = GPLv2+ (programs), LGPLv2.1+ (libraries)
 EUDEV_LICENSE_FILES = COPYING

+ 1 - 1
package/feh/Config.in

@@ -4,10 +4,10 @@ config BR2_PACKAGE_FEH
 	depends on BR2_USE_MMU # fork()
 	select BR2_PACKAGE_XLIB_LIBXINERAMA
 	select BR2_PACKAGE_XLIB_LIBXT
+	select BR2_PACKAGE_IMLIB2
 	select BR2_PACKAGE_IMLIB2_PNG
 	select BR2_PACKAGE_IMLIB2_JPEG
 	select BR2_PACKAGE_IMLIB2_X
-	select BR2_PACKAGE_GIBLIB
 	select BR2_PACKAGE_LIBCURL
 	help
 	  feh is an X11 image viewer aimed mostly at console users.

+ 2 - 2
package/feh/feh.mk

@@ -4,10 +4,10 @@
 #
 ################################################################################
 
-FEH_VERSION = 2.10
+FEH_VERSION = 2.12
 FEH_SOURCE = feh-$(FEH_VERSION).tar.bz2
 FEH_SITE = http://feh.finalrewind.org/
-FEH_DEPENDENCIES = libcurl giblib imlib2 libpng xlib_libXinerama xlib_libXt
+FEH_DEPENDENCIES = libcurl imlib2 libpng xlib_libXinerama xlib_libXt
 
 define FEH_BUILD_CMDS
 	$(MAKE1) CC="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS)" \

+ 2 - 5
package/ffmpeg/ffmpeg.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-FFMPEG_VERSION = 1.2.5
+FFMPEG_VERSION = 1.2.6
 FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.bz2
 FFMPEG_SITE = http://ffmpeg.org/releases
 FFMPEG_INSTALL_STAGING = YES
@@ -299,14 +299,11 @@ FFMPEG_CONF_OPT += \
 	--disable-mipsdspr2
 endif
 
-# Set powerpc altivec appropriately
-ifeq ($(BR2_powerpc),y)
-ifeq ($(BR2_powerpc_7400)$(BR2_powerpc_7450)$(BR2_powerpc_970),y)
+ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y)
 FFMPEG_CONF_OPT += --enable-altivec
 else
 FFMPEG_CONF_OPT += --disable-altivec
 endif
-endif
 
 ifeq ($(BR2_PREFER_STATIC_LIB),)
 FFMPEG_CONF_OPT += --enable-pic

+ 1 - 1
package/fontconfig/fontconfig.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-FONTCONFIG_VERSION = 2.11.0
+FONTCONFIG_VERSION = 2.11.1
 FONTCONFIG_SITE = http://fontconfig.org/release
 FONTCONFIG_INSTALL_STAGING = YES
 FONTCONFIG_DEPENDENCIES = freetype expat host-pkgconf

+ 0 - 23
package/gcc/4.8.2/840-PR57717.patch

@@ -1,23 +0,0 @@
-This backports fix from http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57717
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: gcc-4.8.1/gcc/config/rs6000/rs6000.c
-===================================================================
---- gcc-4.8.1.orig/gcc/config/rs6000/rs6000.c	2013-05-09 18:54:06.000000000 -0700
-+++ gcc-4.8.1/gcc/config/rs6000/rs6000.c	2013-06-27 08:22:40.459021366 -0700
-@@ -5431,11 +5431,12 @@
- 
-     case TFmode:
-     case TDmode:
--    case TImode:
-       if (TARGET_E500_DOUBLE)
- 	return (SPE_CONST_OFFSET_OK (offset)
- 		&& SPE_CONST_OFFSET_OK (offset + 8));
-+        /* Fall through.  */
- 
-+    case TImode:
-       extra = 8;
-       if (!worst_case)
- 	break;

+ 0 - 32
package/gcc/4.8.2/842-gcc-4.8.2-Fix-PR-target-58854.patch

@@ -1,32 +0,0 @@
-From 9a228f68817f79bbd1d295b8e6fcaed25c47ee8f Mon Sep 17 00:00:00 2001
-From: ramana <ramana@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Wed, 30 Oct 2013 10:54:04 +0000
-Subject: [PATCH] Fix PR target/58854
-
-2013-10-30  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
-
-	PR target/58854
-	* config/arm/arm.c (arm_expand_epilogue_apcs_frame): Emit blockage.
-
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204203 138bc75d-0d04-0410-961f-82ee72b054a4
----
- (omitted from this patch) gcc/ChangeLog        |    5 +++++
- gcc/config/arm/arm.c |    1 +
- 2 files changed, 6 insertions(+), 0 deletions(-)
-
-diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
-index 212a4bc..23dfc0e 100644
---- a/gcc/config/arm/arm.c
-+++ b/gcc/config/arm/arm.c
-@@ -26547,6 +26547,7 @@ arm_expand_epilogue_apcs_frame (bool really_return)
-   num_regs = bit_count (saved_regs_mask);
-   if ((offsets->outgoing_args != (1 + num_regs)) || cfun->calls_alloca)
-     {
-+      emit_insn (gen_blockage ());
-       /* Unwind the stack to just below the saved registers.  */
-       emit_insn (gen_addsi3 (stack_pointer_rtx,
-                              hard_frame_pointer_rtx,
--- 
-1.7.1
-

+ 0 - 101
package/gcc/4.8.2/843-gcc-4.8.2-Fix-PR-target-58595.patch

@@ -1,101 +0,0 @@
-Backport fix for PR target/58595
-
-From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Thu, 6 Mar 2014 12:07:07 +0000
-Subject: [PATCH] 	PR target/58595 	* config/arm/arm.c
- (arm_tls_symbol_p): Remove. 	(arm_legitimize_address): Call
- legitimize_tls_address for any 	arm_tls_referenced_p expression,
- handle constant addend.  Call it 	before testing for !TARGET_ARM. 
- (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
-
-	* gcc.dg/tls/pr58595.c: New test.
-
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208380 138bc75d-0d04-0410-961f-82ee72b054a4
-
-Index: gcc-4.8.2/gcc/config/arm/arm.c
-===================================================================
---- gcc-4.8.2.orig/gcc/config/arm/arm.c
-+++ gcc-4.8.2/gcc/config/arm/arm.c
-@@ -230,7 +230,6 @@ static tree arm_gimplify_va_arg_expr (tr
- static void arm_option_override (void);
- static unsigned HOST_WIDE_INT arm_shift_truncation_mask (enum machine_mode);
- static bool arm_cannot_copy_insn_p (rtx);
--static bool arm_tls_symbol_p (rtx x);
- static int arm_issue_rate (void);
- static void arm_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
- static bool arm_output_addr_const_extra (FILE *, rtx);
-@@ -6573,6 +6572,32 @@ legitimize_tls_address (rtx x, rtx reg)
- rtx
- arm_legitimize_address (rtx x, rtx orig_x, enum machine_mode mode)
- {
-+  if (arm_tls_referenced_p (x))
-+    {
-+      rtx addend = NULL;
-+
-+      if (GET_CODE (x) == CONST && GET_CODE (XEXP (x, 0)) == PLUS)
-+	{
-+	  addend = XEXP (XEXP (x, 0), 1);
-+	  x = XEXP (XEXP (x, 0), 0);
-+	}
-+
-+      if (GET_CODE (x) != SYMBOL_REF)
-+	return x;
-+
-+      gcc_assert (SYMBOL_REF_TLS_MODEL (x) != 0);
-+
-+      x = legitimize_tls_address (x, NULL_RTX);
-+
-+      if (addend)
-+	{
-+	  x = gen_rtx_PLUS (SImode, x, addend);
-+	  orig_x = x;
-+	}
-+      else
-+	return x;
-+    }
-+
-   if (!TARGET_ARM)
-     {
-       /* TODO: legitimize_address for Thumb2.  */
-@@ -6581,9 +6606,6 @@ arm_legitimize_address (rtx x, rtx orig_
-       return thumb_legitimize_address (x, orig_x, mode);
-     }
- 
--  if (arm_tls_symbol_p (x))
--    return legitimize_tls_address (x, NULL_RTX);
--
-   if (GET_CODE (x) == PLUS)
-     {
-       rtx xop0 = XEXP (x, 0);
-@@ -6695,9 +6717,6 @@ arm_legitimize_address (rtx x, rtx orig_
- rtx
- thumb_legitimize_address (rtx x, rtx orig_x, enum machine_mode mode)
- {
--  if (arm_tls_symbol_p (x))
--    return legitimize_tls_address (x, NULL_RTX);
--
-   if (GET_CODE (x) == PLUS
-       && CONST_INT_P (XEXP (x, 1))
-       && (INTVAL (XEXP (x, 1)) >= 32 * GET_MODE_SIZE (mode)
-@@ -6988,20 +7007,6 @@ thumb_legitimize_reload_address (rtx *x_
- 
- /* Test for various thread-local symbols.  */
- 
--/* Return TRUE if X is a thread-local symbol.  */
--
--static bool
--arm_tls_symbol_p (rtx x)
--{
--  if (! TARGET_HAVE_TLS)
--    return false;
--
--  if (GET_CODE (x) != SYMBOL_REF)
--    return false;
--
--  return SYMBOL_REF_TLS_MODEL (x) != 0;
--}
--
- /* Helper for arm_tls_referenced_p.  */
- 
- static int

+ 0 - 29
package/gcc/4.8.2/850-xtensa-libgcc-linker-script.patch

@@ -1,29 +0,0 @@
-From 7c722c07a0781e4279f643650bc528422c80ce5e Mon Sep 17 00:00:00 2001
-Message-Id: <7c722c07a0781e4279f643650bc528422c80ce5e.1392126765.git.baruch@tkos.co.il>
-From: sterling <sterling@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Tue, 21 Jan 2014 19:50:02 +0000
-Subject: [PATCH] 2014-01-21  Baruch Siach <barch@tkos.co.il>
-
-	* config.host (tmake_file): add t-slibgcc-libgcc for xtensa*-*-linux*.
-
-Patch status: upstream (4.8 branch commit r206905)
-
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
----
-
-diff --git a/libgcc/config.host b/libgcc/config.host
-index ee16d60e34a6..302aa6135211 100644
---- a/libgcc/config.host
-+++ b/libgcc/config.host
-@@ -1102,7 +1102,7 @@ xtensa*-*-elf*)
- 	extra_parts="$extra_parts crti.o crtn.o"
- 	;;
- xtensa*-*-linux*)
--	tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux"
-+	tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
- 	md_unwind_header=xtensa/linux-unwind.h
- 	;;
- am33_2.0-*-linux*)
--- 
-1.8.5.3
-

+ 0 - 0
package/gcc/4.8.2/100-uclibc-conf.patch → package/gcc/4.8.3/100-uclibc-conf.patch


+ 0 - 0
package/gcc/4.8.2/301-missing-execinfo_h.patch → package/gcc/4.8.3/301-missing-execinfo_h.patch


+ 0 - 0
package/gcc/4.8.2/302-c99-snprintf.patch → package/gcc/4.8.3/302-c99-snprintf.patch


+ 0 - 0
package/gcc/4.8.2/305-libmudflap-susv3-legacy.patch → package/gcc/4.8.3/305-libmudflap-susv3-legacy.patch


+ 0 - 0
package/gcc/4.8.2/810-arm-softfloat-libgcc.patch → package/gcc/4.8.3/810-arm-softfloat-libgcc.patch


+ 0 - 0
package/gcc/4.8.2/830-arm_unbreak_armv4t.patch → package/gcc/4.8.3/830-arm_unbreak_armv4t.patch


+ 6 - 4
package/gcc/4.8.2/841-PR57717-E500v2.patch → package/gcc/4.8.3/841-PR57717-E500v2.patch

@@ -2,13 +2,15 @@ This backports fix from http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57717
 
 Upstream-Status: Backport
 Signed-off-by: Julian Brown <Julian_Brown@mentor.com>
+[Gustavo: Update for gcc 4.8.3]
 
 fix for PR57717 (PowerPC E500v2)
 http://gcc.gnu.org/ml/gcc-patches/2013-08/msg00668.html
 
---- a/gcc/config/rs6000/rs6000.c	2013-05-09 20:54:06.000000000 -0500
-+++ b/gcc/config/rs6000/rs6000.c	2013-08-28 01:25:24.865218744 -0500
-@@ -6337,9 +6337,7 @@
+diff -Nura gcc-4.8.3/gcc/config/rs6000/rs6000.c gcc-4.8.3-pr57717/gcc/config/rs6000/rs6000.c
+--- gcc-4.8.3/gcc/config/rs6000/rs6000.c	2014-05-04 23:18:35.000000000 -0300
++++ gcc-4.8.3-pr57717/gcc/config/rs6000/rs6000.c	2014-05-22 15:20:12.554270919 -0300
+@@ -7343,9 +7343,7 @@
        && GET_CODE (XEXP (x, 1)) == CONST_INT
        && reg_offset_p
        && !SPE_VECTOR_MODE (mode)
@@ -16,6 +18,6 @@ http://gcc.gnu.org/ml/gcc-patches/2013-08/msg00668.html
 -				  || mode == DDmode || mode == TDmode
 -				  || mode == DImode))
 +      && !(TARGET_E500_DOUBLE && GET_MODE_SIZE (mode) > UNITS_PER_WORD)
-       && VECTOR_MEM_NONE_P (mode))
+       && (!VECTOR_MODE_P (mode) || VECTOR_MEM_NONE_P (mode)))
      {
        HOST_WIDE_INT val = INTVAL (XEXP (x, 1));

+ 127 - 201
package/gcc/4.8.2/900-musl-support.patch → package/gcc/4.8.3/900-musl-support.patch

@@ -14,12 +14,11 @@ https://bitbucket.org/GregorR/musl-cross/src. Compared to the upstream version:
    https://bitbucket.org/GregorR/musl-gcc-patches/issue/4/musl-gcc-patches-break-the-build-on.
 
 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
+[Gustavo: Update for gcc 4.8.3]
 
-Index: b/fixincludes/mkfixinc.sh
-===================================================================
---- a/fixincludes/mkfixinc.sh
-+++ b/fixincludes/mkfixinc.sh
+diff -Nura gcc-4.8.3/fixincludes/mkfixinc.sh gcc-4.8.3-musl/fixincludes/mkfixinc.sh
+--- gcc-4.8.3/fixincludes/mkfixinc.sh	2012-10-28 18:42:48.000000000 -0300
++++ gcc-4.8.3-musl/fixincludes/mkfixinc.sh	2014-05-22 15:07:17.966799753 -0300
 @@ -19,7 +19,8 @@
      powerpc-*-eabi*    | \
      powerpc-*-rtems*   | \
@@ -30,44 +29,9 @@ Index: b/fixincludes/mkfixinc.sh
  	#  IF there is no include fixing,
  	#  THEN create a no-op fixer and exit
  	(echo "#! /bin/sh" ; echo "exit 0" ) > ${target}
-Index: b/gcc/config.gcc
-===================================================================
---- a/gcc/config.gcc
-+++ b/gcc/config.gcc
-@@ -550,7 +550,7 @@
- esac
- 
- # Common C libraries.
--tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3"
-+tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4"
- 
- # Common parts for widely ported systems.
- case ${target} in
-@@ -653,6 +653,9 @@
-     *-*-*uclibc*)
-       tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
-       ;;
-+    *-*-*musl*)
-+      tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL"
-+      ;;
-     *)
-       tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
-       ;;
-@@ -2114,6 +2117,10 @@
- 	    powerpc*-*-linux*paired*)
- 		tm_file="${tm_file} rs6000/750cl.h" ;;
- 	esac
-+        case ${target} in
-+            *-linux*-musl*)
-+                enable_secureplt=yes ;;
-+        esac
- 	if test x${enable_secureplt} = xyes; then
- 		tm_file="rs6000/secureplt.h ${tm_file}"
- 	fi
-Index: b/gcc/config/aarch64/aarch64-linux.h
-===================================================================
---- a/gcc/config/aarch64/aarch64-linux.h
-+++ b/gcc/config/aarch64/aarch64-linux.h
+diff -Nura gcc-4.8.3/gcc/config/aarch64/aarch64-linux.h gcc-4.8.3-musl/gcc/config/aarch64/aarch64-linux.h
+--- gcc-4.8.3/gcc/config/aarch64/aarch64-linux.h	2013-08-13 10:22:18.000000000 -0300
++++ gcc-4.8.3-musl/gcc/config/aarch64/aarch64-linux.h	2014-05-22 15:07:17.967799807 -0300
 @@ -21,7 +21,12 @@
  #ifndef GCC_AARCH64_LINUX_H
  #define GCC_AARCH64_LINUX_H
@@ -81,10 +45,9 @@ Index: b/gcc/config/aarch64/aarch64-linux.h
  
  #define CPP_SPEC "%{pthread:-D_REENTRANT}"
  
-Index: b/gcc/config/arm/linux-eabi.h
-===================================================================
---- a/gcc/config/arm/linux-eabi.h
-+++ b/gcc/config/arm/linux-eabi.h
+diff -Nura gcc-4.8.3/gcc/config/arm/linux-eabi.h gcc-4.8.3-musl/gcc/config/arm/linux-eabi.h
+--- gcc-4.8.3/gcc/config/arm/linux-eabi.h	2013-01-10 17:38:27.000000000 -0300
++++ gcc-4.8.3-musl/gcc/config/arm/linux-eabi.h	2014-05-22 15:07:17.968799848 -0300
 @@ -77,6 +77,23 @@
      %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \
      %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}"
@@ -109,20 +72,9 @@ Index: b/gcc/config/arm/linux-eabi.h
  /* At this point, bpabi.h will have clobbered LINK_SPEC.  We want to
     use the GNU/Linux version, not the generic BPABI version.  */
  #undef  LINK_SPEC
-Index: b/gcc/config/i386/linux.h
-===================================================================
---- a/gcc/config/i386/linux.h
-+++ b/gcc/config/i386/linux.h
-@@ -21,3 +21,5 @@
- 
- #define GNU_USER_LINK_EMULATION "elf_i386"
- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#undef MUSL_DYNAMIC_LINKER
-+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
-Index: b/gcc/config/i386/linux64.h
-===================================================================
---- a/gcc/config/i386/linux64.h
-+++ b/gcc/config/i386/linux64.h
+diff -Nura gcc-4.8.3/gcc/config/i386/linux64.h gcc-4.8.3-musl/gcc/config/i386/linux64.h
+--- gcc-4.8.3/gcc/config/i386/linux64.h	2013-01-10 17:38:27.000000000 -0300
++++ gcc-4.8.3-musl/gcc/config/i386/linux64.h	2014-05-22 15:07:17.968799848 -0300
 @@ -30,3 +30,10 @@
  #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
  #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
@@ -134,10 +86,18 @@ Index: b/gcc/config/i386/linux64.h
 +#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1"
 +#undef MUSL_DYNAMIC_LINKERX32
 +#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1"
-Index: b/gcc/config/linux.h
-===================================================================
---- a/gcc/config/linux.h
-+++ b/gcc/config/linux.h
+diff -Nura gcc-4.8.3/gcc/config/i386/linux.h gcc-4.8.3-musl/gcc/config/i386/linux.h
+--- gcc-4.8.3/gcc/config/i386/linux.h	2013-01-10 17:38:27.000000000 -0300
++++ gcc-4.8.3-musl/gcc/config/i386/linux.h	2014-05-22 15:07:17.968799848 -0300
+@@ -21,3 +21,5 @@
+ 
+ #define GNU_USER_LINK_EMULATION "elf_i386"
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#undef MUSL_DYNAMIC_LINKER
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
+diff -Nura gcc-4.8.3/gcc/config/linux.h gcc-4.8.3-musl/gcc/config/linux.h
+--- gcc-4.8.3/gcc/config/linux.h	2013-01-10 17:38:27.000000000 -0300
++++ gcc-4.8.3-musl/gcc/config/linux.h	2014-05-22 15:07:17.968799848 -0300
 @@ -32,10 +32,12 @@
  #define OPTION_GLIBC  (DEFAULT_LIBC == LIBC_GLIBC)
  #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC)
@@ -294,10 +254,9 @@ Index: b/gcc/config/linux.h
 +    { 0, 0, 0, 0, 0, 0 }				\
 +  }
 +#endif
-Index: b/gcc/config/linux.opt
-===================================================================
---- a/gcc/config/linux.opt
-+++ b/gcc/config/linux.opt
+diff -Nura gcc-4.8.3/gcc/config/linux.opt gcc-4.8.3-musl/gcc/config/linux.opt
+--- gcc-4.8.3/gcc/config/linux.opt	2013-01-10 17:38:27.000000000 -0300
++++ gcc-4.8.3-musl/gcc/config/linux.opt	2014-05-22 15:07:17.969799879 -0300
 @@ -30,3 +30,7 @@
  muclibc
  Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic)
@@ -306,10 +265,9 @@ Index: b/gcc/config/linux.opt
 +mmusl
 +Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc)
 +Use musl C library
-Index: b/gcc/config/microblaze/linux.h
-===================================================================
---- a/gcc/config/microblaze/linux.h
-+++ b/gcc/config/microblaze/linux.h
+diff -Nura gcc-4.8.3/gcc/config/microblaze/linux.h gcc-4.8.3-musl/gcc/config/microblaze/linux.h
+--- gcc-4.8.3/gcc/config/microblaze/linux.h	2013-03-14 12:43:23.000000000 -0300
++++ gcc-4.8.3-musl/gcc/config/microblaze/linux.h	2014-05-22 15:07:17.969799879 -0300
 @@ -25,7 +25,23 @@
  #undef TLS_NEEDS_GOT
  #define TLS_NEEDS_GOT 1
@@ -335,27 +293,18 @@ Index: b/gcc/config/microblaze/linux.h
  #undef  SUBTARGET_EXTRA_SPECS
  #define SUBTARGET_EXTRA_SPECS \
    { "dynamic_linker", DYNAMIC_LINKER }
-Index: b/gcc/config/microblaze/microblaze.h
-===================================================================
---- a/gcc/config/microblaze/microblaze.h
-+++ b/gcc/config/microblaze/microblaze.h
-@@ -213,6 +213,12 @@
- #define STRICT_ALIGNMENT        1
- #define PCC_BITFIELD_TYPE_MATTERS 1
- 
-+#undef SIZE_TYPE
-+#define SIZE_TYPE "unsigned int"
-+
-+#undef PTRDIFF_TYPE
-+#define PTRDIFF_TYPE "int"
-+
- #define CONSTANT_ALIGNMENT(EXP, ALIGN)					\
-   ((TREE_CODE (EXP) == STRING_CST  || TREE_CODE (EXP) == CONSTRUCTOR)	\
-    && (ALIGN) < BITS_PER_WORD						\
-Index: b/gcc/config/mips/linux.h
-===================================================================
---- a/gcc/config/mips/linux.h
-+++ b/gcc/config/mips/linux.h
+diff -Nura gcc-4.8.3/gcc/config/mips/linux64.h gcc-4.8.3-musl/gcc/config/mips/linux64.h
+--- gcc-4.8.3/gcc/config/mips/linux64.h	2013-01-10 17:38:27.000000000 -0300
++++ gcc-4.8.3-musl/gcc/config/mips/linux64.h	2014-05-22 15:07:52.473979031 -0300
+@@ -29,4 +29,4 @@
+ #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
+ #define GNU_USER_DYNAMIC_LINKERN32 \
+   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \
+-			 BIONIC_DYNAMIC_LINKERN32)
++			 BIONIC_DYNAMIC_LINKERN32, MUSL_DYNAMIC_LINKER)
+diff -Nura gcc-4.8.3/gcc/config/mips/linux.h gcc-4.8.3-musl/gcc/config/mips/linux.h
+--- gcc-4.8.3/gcc/config/mips/linux.h	2013-01-10 17:38:27.000000000 -0300
++++ gcc-4.8.3-musl/gcc/config/mips/linux.h	2014-05-22 15:07:52.455978418 -0300
 @@ -18,3 +18,11 @@
  <http://www.gnu.org/licenses/>.  */
  
@@ -368,12 +317,11 @@ Index: b/gcc/config/mips/linux.h
 +#endif
 +#undef MUSL_DYNAMIC_LINKER
 +#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-mips" MUSL_DYNAMIC_LINKER_E ".so.1"
-Index: b/gcc/config/rs6000/linux64.h
-===================================================================
---- a/gcc/config/rs6000/linux64.h
-+++ b/gcc/config/rs6000/linux64.h
-@@ -354,17 +354,23 @@
- #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld64.so.1"
+diff -Nura gcc-4.8.3/gcc/config/rs6000/linux64.h gcc-4.8.3-musl/gcc/config/rs6000/linux64.h
+--- gcc-4.8.3/gcc/config/rs6000/linux64.h	2014-04-04 12:10:24.000000000 -0300
++++ gcc-4.8.3-musl/gcc/config/rs6000/linux64.h	2014-05-22 15:07:52.455978418 -0300
+@@ -374,17 +374,23 @@
+ #endif
  #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
  #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
 +#undef MUSL_DYNAMIC_LINKER32
@@ -400,20 +348,18 @@ Index: b/gcc/config/rs6000/linux64.h
  
  #undef  DEFAULT_ASM_ENDIAN
  #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
-Index: b/gcc/config/rs6000/secureplt.h
-===================================================================
---- a/gcc/config/rs6000/secureplt.h
-+++ b/gcc/config/rs6000/secureplt.h
+diff -Nura gcc-4.8.3/gcc/config/rs6000/secureplt.h gcc-4.8.3-musl/gcc/config/rs6000/secureplt.h
+--- gcc-4.8.3/gcc/config/rs6000/secureplt.h	2013-01-10 17:38:27.000000000 -0300
++++ gcc-4.8.3-musl/gcc/config/rs6000/secureplt.h	2014-05-22 15:07:52.455978418 -0300
 @@ -18,3 +18,4 @@
  <http://www.gnu.org/licenses/>.  */
  
  #define CC1_SECURE_PLT_DEFAULT_SPEC "-msecure-plt"
 +#define LINK_SECURE_PLT_DEFAULT_SPEC "--secure-plt"
-Index: b/gcc/config/rs6000/sysv4.h
-===================================================================
---- a/gcc/config/rs6000/sysv4.h
-+++ b/gcc/config/rs6000/sysv4.h
-@@ -550,6 +550,9 @@
+diff -Nura gcc-4.8.3/gcc/config/rs6000/sysv4.h gcc-4.8.3-musl/gcc/config/rs6000/sysv4.h
+--- gcc-4.8.3/gcc/config/rs6000/sysv4.h	2014-04-04 11:50:31.000000000 -0300
++++ gcc-4.8.3-musl/gcc/config/rs6000/sysv4.h	2014-05-22 15:07:52.456978446 -0300
+@@ -537,6 +537,9 @@
  #ifndef CC1_SECURE_PLT_DEFAULT_SPEC
  #define CC1_SECURE_PLT_DEFAULT_SPEC ""
  #endif
@@ -421,9 +367,9 @@ Index: b/gcc/config/rs6000/sysv4.h
 +#define LINK_SECURE_PLT_DEFAULT_SPEC ""
 +#endif
  
- /* Pass -G xxx to the compiler and set correct endian mode.  */
+ /* Pass -G xxx to the compiler.  */
  #define	CC1_SPEC "%{G*} %(cc1_cpu)" \
-@@ -600,7 +603,8 @@
+@@ -585,7 +588,8 @@
  
  /* Override the default target of the linker.  */
  #define	LINK_TARGET_SPEC \
@@ -433,7 +379,7 @@ Index: b/gcc/config/rs6000/sysv4.h
  
  /* Any specific OS flags.  */
  #define LINK_OS_SPEC "\
-@@ -778,15 +782,18 @@
+@@ -763,15 +767,18 @@
  
  #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
  #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
@@ -455,18 +401,17 @@ Index: b/gcc/config/rs6000/sysv4.h
  
  #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
    %{rdynamic:-export-dynamic} \
-@@ -912,6 +919,7 @@
-   { "cc1_endian_little",	CC1_ENDIAN_LITTLE_SPEC },		\
-   { "cc1_endian_default",	CC1_ENDIAN_DEFAULT_SPEC },		\
+@@ -894,6 +901,7 @@
+   { "link_os_openbsd",		LINK_OS_OPENBSD_SPEC },			\
+   { "link_os_default",		LINK_OS_DEFAULT_SPEC },			\
    { "cc1_secure_plt_default",	CC1_SECURE_PLT_DEFAULT_SPEC },		\
 +  { "link_secure_plt_default",	LINK_SECURE_PLT_DEFAULT_SPEC },		\
    { "cpp_os_ads",		CPP_OS_ADS_SPEC },			\
    { "cpp_os_yellowknife",	CPP_OS_YELLOWKNIFE_SPEC },		\
    { "cpp_os_mvme",		CPP_OS_MVME_SPEC },			\
-Index: b/gcc/config/sh/linux.h
-===================================================================
---- a/gcc/config/sh/linux.h
-+++ b/gcc/config/sh/linux.h
+diff -Nura gcc-4.8.3/gcc/config/sh/linux.h gcc-4.8.3-musl/gcc/config/sh/linux.h
+--- gcc-4.8.3/gcc/config/sh/linux.h	2013-03-14 00:01:53.000000000 -0300
++++ gcc-4.8.3-musl/gcc/config/sh/linux.h	2014-05-22 15:07:52.456978446 -0300
 @@ -43,7 +43,15 @@
  
  #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
@@ -483,45 +428,43 @@ Index: b/gcc/config/sh/linux.h
  
  #undef SUBTARGET_LINK_EMUL_SUFFIX
  #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
-Index: b/gcc/config/sh/sh.c
-===================================================================
---- a/gcc/config/sh/sh.c
-+++ b/gcc/config/sh/sh.c
-@@ -22,8 +22,17 @@
- /* FIXME: This is a temporary hack, so that we can include <algorithm>
-    below.  <algorithm> will try to include <cstdlib> which will reference
-    malloc & co, which are poisoned by "system.h".  The proper solution is
--   to include <cstdlib> in "system.h" instead of <stdlib.h>.  */
-+   to include <cstdlib> in "system.h" instead of <stdlib.h>.
-+   It's also a temporary hack as the inclusion of sstream will cause inclusion
-+   of libc's pthread.h (istream->ios->ios_base->atomicity->gth->gthr-default)
-+   which in turn includes sched.h, which defines the CPU_ALLOC, which uses
-+   the poisoned calloc. the proper fix would be to shield the poison pragmas
-+   with some define that is only set when gcc developers do testing.
-+*/
- #include <cstdlib>
-+#include <sstream>
-+#include <vector>
-+#include <algorithm>
- 
- #include "config.h"
- #include "system.h"
-@@ -60,10 +69,6 @@
- #include "tm-constrs.h"
- #include "opts.h"
- 
--#include <sstream>
--#include <vector>
--#include <algorithm>
--
- int code_for_indirect_jump_scratch = CODE_FOR_indirect_jump_scratch;
- 
- #define MSW (TARGET_LITTLE_ENDIAN ? 1 : 0)
-Index: b/gcc/configure
-===================================================================
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -26739,6 +26739,9 @@
+diff -Nura gcc-4.8.3/gcc/config.gcc gcc-4.8.3-musl/gcc/config.gcc
+--- gcc-4.8.3/gcc/config.gcc	2014-05-06 12:29:04.000000000 -0300
++++ gcc-4.8.3-musl/gcc/config.gcc	2014-05-22 15:07:17.967799807 -0300
+@@ -550,7 +550,7 @@
+ esac
+ 
+ # Common C libraries.
+-tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3"
++tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4"
+ 
+ # Common parts for widely ported systems.
+ case ${target} in
+@@ -653,6 +653,9 @@
+     *-*-*uclibc*)
+       tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
+       ;;
++    *-*-*musl*)
++      tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL"
++      ;;
+     *)
+       tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
+       ;;
+@@ -2135,6 +2138,10 @@
+ 	    powerpc*-*-linux*paired*)
+ 		tm_file="${tm_file} rs6000/750cl.h" ;;
+ 	esac
++        case ${target} in
++            *-linux*-musl*)
++                enable_secureplt=yes ;;
++        esac
+ 	if test x${enable_secureplt} = xyes; then
+ 		tm_file="rs6000/secureplt.h ${tm_file}"
+ 	fi
+diff -Nura gcc-4.8.3/gcc/configure gcc-4.8.3-musl/gcc/configure
+--- gcc-4.8.3/gcc/configure	2014-04-28 07:05:29.000000000 -0300
++++ gcc-4.8.3-musl/gcc/configure	2014-05-22 15:07:52.469978896 -0300
+@@ -26821,6 +26821,9 @@
  else
    gcc_cv_libc_provides_ssp=no
      case "$target" in
@@ -531,7 +474,7 @@ Index: b/gcc/configure
         *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
        # glibc 2.4 and later provides __stack_chk_fail and
        # either __stack_chk_guard, or TLS access to stack guard canary.
-@@ -26772,6 +26775,7 @@
+@@ -26854,6 +26857,7 @@
  	 # <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now
  	 # simply assert that glibc does provide this, which is true for all
  	 # realistically usable GNU/Hurd configurations.
@@ -539,7 +482,7 @@ Index: b/gcc/configure
  	 gcc_cv_libc_provides_ssp=yes;;
         *-*-darwin* | *-*-freebsd*)
  	 ac_fn_c_check_func "$LINENO" "__stack_chk_fail" "ac_cv_func___stack_chk_fail"
-@@ -26854,6 +26858,9 @@
+@@ -26936,6 +26940,9 @@
        gcc_cv_target_dl_iterate_phdr=no
      fi
      ;;
@@ -549,11 +492,10 @@ Index: b/gcc/configure
  esac
  
  if test x$gcc_cv_target_dl_iterate_phdr = xyes; then
-Index: b/gcc/configure.ac
-===================================================================
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -4722,6 +4722,9 @@
+diff -Nura gcc-4.8.3/gcc/configure.ac gcc-4.8.3-musl/gcc/configure.ac
+--- gcc-4.8.3/gcc/configure.ac	2014-04-28 07:05:29.000000000 -0300
++++ gcc-4.8.3-musl/gcc/configure.ac	2014-05-22 15:07:52.471978964 -0300
+@@ -4750,6 +4750,9 @@
        gcc_cv_libc_provides_ssp,
        [gcc_cv_libc_provides_ssp=no
      case "$target" in
@@ -563,7 +505,7 @@ Index: b/gcc/configure.ac
         *-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
        [# glibc 2.4 and later provides __stack_chk_fail and
        # either __stack_chk_guard, or TLS access to stack guard canary.
-@@ -4755,6 +4758,7 @@
+@@ -4783,6 +4786,7 @@
  	 # <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now
  	 # simply assert that glibc does provide this, which is true for all
  	 # realistically usable GNU/Hurd configurations.
@@ -571,7 +513,7 @@ Index: b/gcc/configure.ac
  	 gcc_cv_libc_provides_ssp=yes;;
         *-*-darwin* | *-*-freebsd*)
  	 AC_CHECK_FUNC(__stack_chk_fail,[gcc_cv_libc_provides_ssp=yes],
-@@ -4820,6 +4824,9 @@
+@@ -4848,6 +4852,9 @@
        gcc_cv_target_dl_iterate_phdr=no
      fi
      ;;
@@ -581,10 +523,9 @@ Index: b/gcc/configure.ac
  esac
  GCC_TARGET_TEMPLATE([TARGET_DL_ITERATE_PHDR])
  if test x$gcc_cv_target_dl_iterate_phdr = xyes; then
-Index: b/gcc/ginclude/stddef.h
-===================================================================
---- a/gcc/ginclude/stddef.h
-+++ b/gcc/ginclude/stddef.h
+diff -Nura gcc-4.8.3/gcc/ginclude/stddef.h gcc-4.8.3-musl/gcc/ginclude/stddef.h
+--- gcc-4.8.3/gcc/ginclude/stddef.h	2013-01-10 17:38:27.000000000 -0300
++++ gcc-4.8.3-musl/gcc/ginclude/stddef.h	2014-05-22 15:07:52.472978998 -0300
 @@ -181,6 +181,7 @@
  #ifndef _GCC_SIZE_T
  #ifndef _SIZET_
@@ -609,10 +550,9 @@ Index: b/gcc/ginclude/stddef.h
  #endif /* __size_t */
  #endif /* _SIZET_ */
  #endif /* _GCC_SIZE_T */
-Index: b/libgcc/unwind-dw2-fde-dip.c
-===================================================================
---- a/libgcc/unwind-dw2-fde-dip.c
-+++ b/libgcc/unwind-dw2-fde-dip.c
+diff -Nura gcc-4.8.3/libgcc/unwind-dw2-fde-dip.c gcc-4.8.3-musl/libgcc/unwind-dw2-fde-dip.c
+--- gcc-4.8.3/libgcc/unwind-dw2-fde-dip.c	2013-02-04 16:06:20.000000000 -0300
++++ gcc-4.8.3-musl/libgcc/unwind-dw2-fde-dip.c	2014-05-22 15:07:52.472978998 -0300
 @@ -46,33 +46,13 @@
  #include "unwind-compat.h"
  #include "gthr.h"
@@ -653,10 +593,9 @@ Index: b/libgcc/unwind-dw2-fde-dip.c
  #endif
  
  #if defined(USE_PT_GNU_EH_FRAME)
-Index: b/libgomp/config/posix/time.c
-===================================================================
---- a/libgomp/config/posix/time.c
-+++ b/libgomp/config/posix/time.c
+diff -Nura gcc-4.8.3/libgomp/config/posix/time.c gcc-4.8.3-musl/libgomp/config/posix/time.c
+--- gcc-4.8.3/libgomp/config/posix/time.c	2013-01-14 15:18:49.000000000 -0300
++++ gcc-4.8.3-musl/libgomp/config/posix/time.c	2014-05-22 15:07:52.472978998 -0300
 @@ -28,6 +28,8 @@
     The following implementation uses the most simple POSIX routines.
     If present, POSIX 4 clocks should be used instead.  */
@@ -666,10 +605,9 @@ Index: b/libgomp/config/posix/time.c
  #include "libgomp.h"
  #include <unistd.h>
  #if TIME_WITH_SYS_TIME
-Index: b/libitm/config/arm/hwcap.cc
-===================================================================
---- a/libitm/config/arm/hwcap.cc
-+++ b/libitm/config/arm/hwcap.cc
+diff -Nura gcc-4.8.3/libitm/config/arm/hwcap.cc gcc-4.8.3-musl/libitm/config/arm/hwcap.cc
+--- gcc-4.8.3/libitm/config/arm/hwcap.cc	2013-02-03 14:46:11.000000000 -0300
++++ gcc-4.8.3-musl/libitm/config/arm/hwcap.cc	2014-05-22 15:07:52.473979031 -0300
 @@ -40,7 +40,11 @@
  
  #ifdef __linux__
@@ -682,10 +620,9 @@ Index: b/libitm/config/arm/hwcap.cc
  #include <elf.h>
  
  static void __attribute__((constructor))
-Index: b/libitm/config/linux/x86/tls.h
-===================================================================
---- a/libitm/config/linux/x86/tls.h
-+++ b/libitm/config/linux/x86/tls.h
+diff -Nura gcc-4.8.3/libitm/config/linux/x86/tls.h gcc-4.8.3-musl/libitm/config/linux/x86/tls.h
+--- gcc-4.8.3/libitm/config/linux/x86/tls.h	2013-02-03 14:46:11.000000000 -0300
++++ gcc-4.8.3-musl/libitm/config/linux/x86/tls.h	2014-05-22 15:07:52.473979031 -0300
 @@ -25,16 +25,19 @@
  #ifndef LIBITM_X86_TLS_H
  #define LIBITM_X86_TLS_H 1
@@ -715,10 +652,9 @@ Index: b/libitm/config/linux/x86/tls.h
 +#endif
  
  #endif // LIBITM_X86_TLS_H
-Index: b/libstdc++-v3/configure.host
-===================================================================
---- a/libstdc++-v3/configure.host
-+++ b/libstdc++-v3/configure.host
+diff -Nura gcc-4.8.3/libstdc++-v3/configure.host gcc-4.8.3-musl/libstdc++-v3/configure.host
+--- gcc-4.8.3/libstdc++-v3/configure.host	2013-06-18 22:18:38.000000000 -0300
++++ gcc-4.8.3-musl/libstdc++-v3/configure.host	2014-05-22 15:07:52.473979031 -0300
 @@ -264,6 +264,13 @@
      os_include_dir="os/bsd/freebsd"
      ;;
@@ -743,13 +679,3 @@ Index: b/libstdc++-v3/configure.host
    hpux*)
      os_include_dir="os/hpux"
      ;;
-Index: b/gcc/config/mips/linux64.h
-===================================================================
---- a/gcc/config/mips/linux64.h
-+++ b/gcc/config/mips/linux64.h
-@@ -29,4 +29,4 @@
- #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
- #define GNU_USER_DYNAMIC_LINKERN32 \
-   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \
--			 BIONIC_DYNAMIC_LINKERN32)
-+			 BIONIC_DYNAMIC_LINKERN32, MUSL_DYNAMIC_LINKER)

+ 0 - 0
package/gcc/4.8.2/powerpc-link-with-math-lib.patch.conditional → package/gcc/4.8.3/powerpc-link-with-math-lib.patch.conditional


+ 8 - 8
package/gcc/Config.in.host

@@ -9,7 +9,7 @@ choice
 	default BR2_GCC_VERSION_4_2_2_AVR32_2_1_5 if BR2_avr32
 	default BR2_GCC_VERSION_4_8_X if BR2_aarch64
 	default BR2_GCC_VERSION_4_8_ARC if BR2_arc
-	default BR2_GCC_VERSION_4_9_X if BR2_microblaze
+	default BR2_GCC_VERSION_4_9_X if BR2_microblaze || BR2_powerpc64le
 	default BR2_GCC_VERSION_4_5_X if BR2_bfin
 	default BR2_GCC_VERSION_4_7_X
 	help
@@ -20,14 +20,14 @@ choice
 		bool "gcc 4.2.2-avr32-2.1.5"
 
 	config BR2_GCC_VERSION_4_3_X
-		depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a8 && !BR2_cortex_a9 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_corei7 && !BR2_x86_atom && !BR2_x86_jaguar && !BR2_powerpc_e300c2 && !BR2_powerpc_e300c3 && !BR2_powerpc_e500mc && !BR2_powerpc_464 && !BR2_powerpc_464fp && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4
+		depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a8 && !BR2_cortex_a9 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_corei7 && !BR2_x86_atom && !BR2_x86_jaguar && !BR2_powerpc_e300c2 && !BR2_powerpc_e300c3 && !BR2_powerpc_e500mc && !BR2_powerpc_464 && !BR2_powerpc_464fp && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4 && !BR2_powerpc64le
 		depends on !BR2_ARM_EABIHF
 		bool "gcc 4.3.x"
 		# musl patches only for gcc 4.7+
 		depends on !BR2_TOOLCHAIN_BUILDROOT_MUSL
 
 	config BR2_GCC_VERSION_4_4_X
-		depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_corei7 && !BR2_x86_atom && !BR2_x86_jaguar && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4
+		depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_cortex_a5 && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_corei7 && !BR2_x86_atom && !BR2_x86_jaguar && !BR2_powerpc_476 && !BR2_powerpc_476fp && !BR2_fa526 && !BR2_pj4 && !BR2_powerpc64le
 		bool "gcc 4.4.x"
 		# ARM EABIhf support appeared in gcc 4.6
 		depends on !BR2_ARM_EABIHF
@@ -37,7 +37,7 @@ choice
 		depends on !BR2_TOOLCHAIN_BUILDROOT_MUSL
 
 	config BR2_GCC_VERSION_4_5_X
-		depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_corei7 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_fa526 && !BR2_pj4
+		depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_cortex_a15 && !BR2_x86_corei7 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_fa526 && !BR2_pj4 && !BR2_powerpc64le
 		select BR2_GCC_NEEDS_MPC
 		# ARM EABIhf support appeared in gcc 4.6
 		depends on !BR2_ARM_EABIHF
@@ -46,19 +46,19 @@ choice
 		bool "gcc 4.5.x"
 
 	config BR2_GCC_VERSION_4_6_X
-		depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4
+		depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a7 && !BR2_cortex_a12 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4 && !BR2_powerpc64le
 		select BR2_GCC_NEEDS_MPC
 		# musl patches only for gcc 4.7+
 		depends on !BR2_TOOLCHAIN_BUILDROOT_MUSL
 		bool "gcc 4.6.x"
 
 	config BR2_GCC_VERSION_4_7_X
-		depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a12 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4
+		depends on !BR2_microblaze && !BR2_aarch64 && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a12 && !BR2_x86_jaguar && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_pj4 && !BR2_powerpc64le
 		select BR2_GCC_NEEDS_MPC
 		bool "gcc 4.7.x"
 
 	config BR2_GCC_VERSION_4_8_X
-		depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a12 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8
+		depends on !BR2_microblaze && !BR2_arc && !BR2_avr32 && !BR2_bfin && !BR2_cortex_a12 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 && !BR2_powerpc64le
 		select BR2_GCC_NEEDS_MPC
 		bool "gcc 4.8.x"
 
@@ -106,7 +106,7 @@ config BR2_GCC_VERSION
 	default "4.5.4"     if BR2_GCC_VERSION_4_5_X
 	default "4.6.4"     if BR2_GCC_VERSION_4_6_X
 	default "4.7.3"     if BR2_GCC_VERSION_4_7_X
-	default "4.8.2"     if BR2_GCC_VERSION_4_8_X
+	default "4.8.3"     if BR2_GCC_VERSION_4_8_X
 	default "4.9.0"     if BR2_GCC_VERSION_4_9_X
 	default "arc-4.8-R3" if BR2_GCC_VERSION_4_8_ARC
 	default BR2_GCC_SNAP_DATE if BR2_GCC_VERSION_SNAP

+ 14 - 2
package/gdb/Config.in.host

@@ -18,7 +18,8 @@ choice
 	depends on !BR2_arc
 	depends on !BR2_microblaze
 	default BR2_GDB_VERSION_6_7_1_AVR32_2_1_5 if BR2_avr32
-	default BR2_GDB_VERSION_7_5
+	default BR2_GDB_VERSION_7_7 if BR2_powerpc64le
+	default BR2_GDB_VERSION_7_6
 	help
 	  Select the version of gdb you wish to use.
 
@@ -28,9 +29,18 @@ choice
 
 	config BR2_GDB_VERSION_7_4
 		bool "gdb 7.4.x"
+		depends on !BR2_powerpc64le
 
 	config BR2_GDB_VERSION_7_5
 		bool "gdb 7.5.x"
+		depends on !BR2_powerpc64le
+
+	config BR2_GDB_VERSION_7_6
+		bool "gdb 7.6.x"
+		depends on !BR2_powerpc64le
+
+	config BR2_GDB_VERSION_7_7
+		bool "gdb 7.7.x"
 
 endchoice
 
@@ -45,4 +55,6 @@ config BR2_GDB_VERSION
 	default "arc-4.8-R3" if BR2_arc
 	default "6be65fb56ea6694a9260733a536a023a1e2d4d57" if BR2_microblaze
 	default "7.4.1"    if BR2_GDB_VERSION_7_4
-	default "7.5.1"    if BR2_GDB_VERSION_7_5 || !BR2_PACKAGE_HOST_GDB
+	default "7.5.1"    if BR2_GDB_VERSION_7_5
+	default "7.6.2"    if BR2_GDB_VERSION_7_6 || !BR2_PACKAGE_HOST_GDB
+	default "7.7.1"    if BR2_GDB_VERSION_7_7 || BR2_powerpc64le

+ 9 - 7
package/glibc/Config.in

@@ -4,17 +4,19 @@ choice
 	prompt "glibc version"
 	default BR2_GLIBC_VERSION_2_18
 	# Architectures supported in mainline glibc
-	depends on BR2_arm    || BR2_armeb    || BR2_aarch64 || \
-		   BR2_i386   || BR2_mips     || BR2_mipsel  || \
-		   BR2_mips64 || BR2_mips64el || BR2_powerpc || \
-		   BR2_sh     || BR2_sh64     || BR2_sparc   || \
-		   BR2_x86_64 || BR2_microblaze
+	depends on BR2_arm         || BR2_armeb    || BR2_aarch64 || \
+		   BR2_i386        || BR2_mips     || BR2_mipsel  || \
+		   BR2_mips64      || BR2_mips64el || BR2_powerpc || \
+		   BR2_powerpc64   || BR2_powerpc64le || BR2_sh   || \
+		   BR2_sh64        || BR2_sparc    || BR2_x86_64  || \\
+		   BR2_microblaze
 
 config BR2_GLIBC_VERSION_2_18
-       bool "2.18"
+	bool "2.18"
+	depends on !BR2_powerpc64le
 
 config BR2_GLIBC_VERSION_2_19
-       bool "2.19"
+	bool "2.19"
 
 endchoice
 

+ 22 - 0
package/gmp/gmp-03-powerpc-provide-default-bmod-to-mod-threshold-1.patch

@@ -0,0 +1,22 @@
+
+# HG changeset patch
+# User Torbjorn Granlund <tege@gmplib.org>
+# Date 1395835068 -3600
+# Node ID 4a6d258b467f661da0894cc60ecd060f2e3c67c7
+# Parent  301ce2788826a2d4d2725bd5cf01e998638db37a
+Provide default for BMOD_1_TO_MOD_1_THRESHOLD.
+
+diff -r 301ce2788826 -r 4a6d258b467f mpn/powerpc64/mode64/gcd_1.asm
+--- a/mpn/powerpc64/mode64/gcd_1.asm	Tue Mar 25 15:34:52 2014 +0100
++++ b/mpn/powerpc64/mode64/gcd_1.asm	Wed Mar 26 12:57:48 2014 +0100
+@@ -43,6 +43,9 @@
+ define(`n',     `r4')
+ define(`v0',    `r5')
+ 
++ifdef(`BMOD_1_TO_MOD_1_THRESHOLD',,
++  `define(`BMOD_1_TO_MOD_1_THRESHOLD',30)')
++
+ EXTERN_FUNC(mpn_mod_1)
+ EXTERN_FUNC(mpn_modexact_1c_odd)
+ 
+

+ 1 - 1
package/grep/grep.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-GREP_VERSION = 2.18
+GREP_VERSION = 2.19
 GREP_SITE = $(BR2_GNU_MIRROR)/grep
 GREP_SOURCE = grep-$(GREP_VERSION).tar.xz
 GREP_LICENSE = GPLv3+

+ 1 - 4
package/gstreamer/gst-ffmpeg/gst-ffmpeg.mk

@@ -63,14 +63,11 @@ ifeq ($(BR2_ARM_CPU_HAS_NEON),y)
 GST_FFMPEG_CONF_EXTRA_OPT += --enable-neon
 endif
 
-# Set powerpc altivec appropriately
-ifeq ($(BR2_powerpc),y)
-ifeq ($(BR2_powerpc_7400)$(BR2_powerpc_7450)$(BR2_powerpc_970),y)
+ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y)
 GST_FFMPEG_CONF_EXTRA_OPT += --enable-altivec
 else
 GST_FFMPEG_CONF_EXTRA_OPT += --disable-altivec
 endif
-endif
 
 ifeq ($(BR2_PREFER_STATIC_LIB),)
 GST_FFMPEG_CONF_EXTRA_OPT += --enable-pic

+ 1 - 4
package/gstreamer1/gst1-libav/gst1-libav.mk

@@ -71,14 +71,11 @@ else
 GST1_LIBAV_CONF_EXTRA_OPT += --disable-vfp
 endif
 
-# Set powerpc altivec appropriately
-ifeq ($(BR2_powerpc),y)
-ifeq ($(BR2_powerpc_7400)$(BR2_powerpc_7450)$(BR2_powerpc_970),y)
+ifeq ($(BR2_POWERPC_CPU_HASH_ALTIVEC),y)
 GST1_LIBAV_CONF_EXTRA_OPT += --enable-altivec
 else
 GST1_LIBAV_CONF_EXTRA_OPT += --disable-altivec
 endif
-endif
 
 GST1_LIBAV_CONF_OPT = \
 	--with-libav-extra-configure="$(GST1_LIBAV_CONF_EXTRA_OPT)"

+ 1 - 1
package/i2c-tools/i2c-tools.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-I2C_TOOLS_VERSION = 3.1.0
+I2C_TOOLS_VERSION = 3.1.1
 I2C_TOOLS_SOURCE = i2c-tools-$(I2C_TOOLS_VERSION).tar.bz2
 I2C_TOOLS_SITE = http://dl.lm-sensors.org/i2c-tools/releases
 I2C_TOOLS_LICENSE = GPLv2+, GPLv2 (py-smbus)

+ 13 - 1
package/inadyn/inadyn.mk

@@ -4,11 +4,20 @@
 #
 ################################################################################
 
-INADYN_VERSION = 1.99.6
+INADYN_VERSION = 1.99.9
 INADYN_SITE = $(call github,troglobit,inadyn,$(INADYN_VERSION))
 INADYN_LICENSE = GPLv2+
 INADYN_LICENSE_FILES = COPYING LICENSE
 
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+INADYN_DEPENDENCIES += openssl
+else
+define INADYN_DISABLE_OPENSSL
+	$(SED) '/ssl/Id' $(@D)/config.mk
+endef
+endif
+INADYN_POST_PATCH_HOOKS += INADYN_DISABLE_OPENSSL
+
 define INADYN_BUILD_CMDS
 	$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)
 endef
@@ -17,6 +26,9 @@ define INADYN_INSTALL_TARGET_CMDS
 	$(INSTALL) -D -m 0755 $(@D)/src/inadyn $(TARGET_DIR)/usr/sbin/inadyn
 	$(INSTALL) -D -m 0600 package/inadyn/inadyn.conf \
 		$(TARGET_DIR)/etc/inadyn.conf
+endef
+
+define INADYN_INSTALL_INIT_SYSV
 	$(INSTALL) -D -m 0755 package/inadyn/S70inadyn \
 		$(TARGET_DIR)/etc/init.d/S70inadyn
 endef

+ 1 - 1
package/jquery/jquery.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-JQUERY_VERSION = 1.11.0
+JQUERY_VERSION = 1.11.1
 JQUERY_SITE = http://code.jquery.com
 JQUERY_SOURCE = jquery-$(JQUERY_VERSION).min.js
 JQUERY_LICENSE = MIT

+ 1 - 1
package/libatomic_ops/Config.in

@@ -1,6 +1,6 @@
 config BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS
 	bool
-	default y if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_i386 || BR2_sparc || BR2_powerpc || BR2_x86_64
+	default y if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_i386 || BR2_sparc || BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || BR2_x86_64
 
 config BR2_PACKAGE_LIBATOMIC_OPS
 	bool "libatomic_ops"

+ 0 - 31
package/libcurl/libcurl-01-disable-manual.patch

@@ -1,31 +0,0 @@
-Apply fix from 38d582ff541353d738858299d4a2b78bafac03ed to unbreak
-building with --disable-manual.
-We don't use the literal patch since that means re-generating files
-from the tarball that are usually shipped.
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-diff -Nura curl-7.36.0.orig/src/tool_hugehelp.c curl-7.36.0/src/tool_hugehelp.c
---- curl-7.36.0.orig/src/tool_hugehelp.c	2014-03-31 19:28:23.018515093 -0300
-+++ curl-7.36.0/src/tool_hugehelp.c	2014-03-31 19:28:09.994076200 -0300
-@@ -4165,6 +4165,10 @@
- "  these mailing lists instead of mailing any individual.\n"
- , stdout) ;
- }
-+#else /* !USE_MANUAL */
-+/* built-in manual is disabled, blank function */
-+#include "tool_hugehelp.h"
-+void hugehelp(void) {}
- #endif /* USE_MANUAL */
- #else
- /*
-@@ -8192,5 +8196,9 @@
-   }
-   inflateEnd(&z);
- }
-+#else
-+/* built-in manual is disabled, blank function */
-+#include "tool_hugehelp.h"
-+void hugehelp(void) {}
- #endif /* USE_MANUAL */
- #endif /* HAVE_LIBZ */

+ 1 - 1
package/libcurl/libcurl.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LIBCURL_VERSION = 7.36.0
+LIBCURL_VERSION = 7.37.0
 LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.bz2
 LIBCURL_SITE = http://curl.haxx.se/download
 LIBCURL_DEPENDENCIES = host-pkgconf \

+ 560 - 0
package/libffi/libffi-arc-01-Add-ARC-support.patch

@@ -0,0 +1,560 @@
+From 5a2352c476b501ecbd3c7ef3ef3e02c24ce5a449 Mon Sep 17 00:00:00 2001
+From: Mischa Jonker <mjonker@synopsys.com>
+Date: Mon, 10 Jun 2013 16:19:33 +0200
+Subject: [PATCH 1/3] Add ARC support
+
+This adds support for the ARC architecture to libffi. DesignWare ARC
+is a family of processors from Synopsys, Inc.
+
+This patch has been tested on a little-endian system and passes
+the testsuite.
+
+Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
+---
+ Makefile.am         |   6 +-
+ README              |   1 +
+ configure.ac        |   5 +
+ src/arc/arcompact.S | 135 ++++++++++++++++++++++++++
+ src/arc/ffi.c       | 268 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/arc/ffitarget.h |  53 +++++++++++
+ 6 files changed, 467 insertions(+), 1 deletion(-)
+ create mode 100644 src/arc/arcompact.S
+ create mode 100644 src/arc/ffi.c
+ create mode 100644 src/arc/ffitarget.h
+
+diff --git a/Makefile.am b/Makefile.am
+index bf0156f..b57b2a8 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -9,7 +9,8 @@ SUBDIRS = include testsuite man
+ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host	\
+ 	 src/aarch64/ffi.c src/aarch64/ffitarget.h src/aarch64/sysv.S	\
+ 	 build-ios.sh src/alpha/ffi.c src/alpha/osf.S			\
+-	 src/alpha/ffitarget.h src/arm/ffi.c src/arm/sysv.S		\
++	 src/alpha/ffitarget.h src/arc/ffi.c src/arc/arcompact.S	\
++	 src/arc/ffitarget.h src/arm/ffi.c src/arm/sysv.S		\
+ 	 src/arm/ffitarget.h src/avr32/ffi.c src/avr32/sysv.S		\
+ 	 src/avr32/ffitarget.h src/cris/ffi.c src/cris/sysv.S		\
+ 	 src/cris/ffitarget.h src/ia64/ffi.c src/ia64/ffitarget.h	\
+@@ -170,6 +171,9 @@ endif
+ if AARCH64
+ nodist_libffi_la_SOURCES += src/aarch64/sysv.S src/aarch64/ffi.c
+ endif
++if ARC
++nodist_libffi_la_SOURCES += src/arc/sysv.S src/arc/ffi.c
++endif
+ if ARM
+ nodist_libffi_la_SOURCES += src/arm/sysv.S src/arm/ffi.c
+ if FFI_EXEC_TRAMPOLINE_TABLE
+diff --git a/README b/README
+index 19156fe..d8e4e9e 100644
+--- a/README
++++ b/README
+@@ -54,6 +54,7 @@ tested:
+ | AArch64         | Linux            | GCC                     |
+ | Alpha           | Linux            | GCC                     |
+ | Alpha           | Tru64            | GCC                     |
++| ARC             | Linux            | GCC                     |
+ | ARM             | Linux            | GCC                     |
+ | ARM             | iOS              | GCC                     |
+ | AVR32           | Linux            | GCC                     |
+diff --git a/configure.ac b/configure.ac
+index 0dc0675..a26cb46 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -77,6 +77,10 @@ case "$host" in
+ 	HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
+ 	;;
+ 
++  arc*-*-*)
++	TARGET=ARC; TARGETDIR=arc
++	;;
++
+   arm*-*-*)
+ 	TARGET=ARM; TARGETDIR=arm
+ 	;;
+@@ -289,6 +293,7 @@ AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
+ AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
+ AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
+ AM_CONDITIONAL(AARCH64, test x$TARGET = xAARCH64)
++AM_CONDITIONAL(ARC, test x$TARGET = xARC)
+ AM_CONDITIONAL(ARM, test x$TARGET = xARM)
+ AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
+ AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
+diff --git a/src/arc/arcompact.S b/src/arc/arcompact.S
+new file mode 100644
+index 0000000..03715fd
+--- /dev/null
++++ b/src/arc/arcompact.S
+@@ -0,0 +1,135 @@
++/* -----------------------------------------------------------------------
++   arcompact.S - Copyright (c) 2013 Synposys, Inc. (www.synopsys.com)
++   
++   ARCompact Foreign Function Interface 
++
++   Permission is hereby granted, free of charge, to any person obtaining
++   a copy of this software and associated documentation files (the
++   ``Software''), to deal in the Software without restriction, including
++   without limitation the rights to use, copy, modify, merge, publish,
++   distribute, sublicense, and/or sell copies of the Software, and to
++   permit persons to whom the Software is furnished to do so, subject to
++   the following conditions:
++
++   The above copyright notice and this permission notice shall be included
++   in all copies or substantial portions of the Software.
++
++   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
++   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++   IN NO EVENT SHALL RENESAS TECHNOLOGY BE LIABLE FOR ANY CLAIM, DAMAGES OR
++   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
++   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++   OTHER DEALINGS IN THE SOFTWARE.
++   ----------------------------------------------------------------------- */
++
++#define LIBFFI_ASM
++#include <fficonfig.h>
++#include <ffi.h>
++#ifdef HAVE_MACHINE_ASM_H
++#include <machine/asm.h>
++#else
++#define CNAME(x) x
++#define ENTRY(x) .globl CNAME(x)` .type CNAME(x),%function` CNAME(x):
++#endif
++
++.text
++
++        /* R0:   ffi_prep_args */
++        /* R1:   &ecif */
++        /* R2:   cif->bytes */
++        /* R3:   fig->flags */
++        /* R4:   ecif.rvalue */
++        /* R5:   fn */
++ENTRY(ffi_call_ARCompact)
++        /* Save registers.  */
++        st.a       fp, [sp, -4]        /* fp + 20, fp */
++        push_s     blink               /* fp + 16, blink */
++        st.a       r4, [sp, -4]        /* fp + 12, ecif.rvalue */
++        push_s     r3                  /* fp +  8, fig->flags */
++        st.a       r5, [sp, -4]        /* fp +  4, fn */
++        push_s     r2                  /* fp +  0, cif->bytes */
++        mov        fp, sp
++
++        /* Make room for all of the new args.  */
++        sub        sp, sp, r2
++
++        /* Place all of the ffi_prep_args in position.  */
++        /* ffi_prep_args(char *stack, extended_cif *ecif) */
++        /* R1 already set.  */
++
++        /* And call.  */
++        jl_s.d     [r0]
++        mov_s      r0, sp
++
++        ld.ab      r12, [fp, 4]        /* cif->bytes */
++        ld.ab      r11, [fp, 4]        /* fn */
++
++        /* Move first 8 parameters in registers...  */
++        ld_s       r0, [sp]
++        ld_s       r1, [sp, 4]
++        ld_s       r2, [sp, 8]
++        ld_s       r3, [sp, 12]
++        ld         r4, [sp, 16]
++        ld         r5, [sp, 20]
++        ld         r6, [sp, 24]
++        ld         r7, [sp, 28]
++
++        /* ...and adjust the stack.  */
++        min        r12, r12, 32
++
++        /* Call the function.  */
++        jl.d       [r11]
++        add        sp, sp, r12 
++
++        mov        sp, fp        
++        pop_s      r3        /* fig->flags, return type */
++        pop_s      r2        /* ecif.rvalue, pointer for return value */
++
++        /* If the return value pointer is NULL, assume no return value.  */
++        breq.d     r2, 0, epilogue
++        pop_s      blink
++
++        /* Return INT.  */
++        brne       r3, FFI_TYPE_INT, return_double
++        b.d        epilogue
++        st_s       r0, [r2]        
++
++return_double:
++        brne       r3, FFI_TYPE_DOUBLE, epilogue
++        st_s       r0, [r2]        
++        st_s       r1, [r2,4]
++
++epilogue:
++        j_s.d      [blink]
++        ld.ab      fp, [sp, 4]
++
++ENTRY(ffi_closure_ARCompact)
++        st.a       r0, [sp, -32]
++        st_s       r1, [sp, 4]
++        st_s       r2, [sp, 8]
++        st_s       r3, [sp, 12]
++        st         r4, [sp, 16]
++        st         r5, [sp, 20]
++        st         r6, [sp, 24]
++        st         r7, [sp, 28]
++
++        /* pointer to arguments */
++        mov_s      r2, sp
++
++        /* return value goes here */
++        sub        sp, sp, 8
++        mov_s      r1, sp
++
++        push_s     blink
++        
++        bl.d       ffi_closure_inner_ARCompact
++        mov_s      r0, r8                /* codeloc, set by trampoline */
++
++        pop_s      blink
++
++        /* set return value to r1:r0 */
++        pop_s      r0
++        pop_s      r1
++        j_s.d      [blink]
++        add_s      sp, sp, 32
+diff --git a/src/arc/ffi.c b/src/arc/ffi.c
+new file mode 100644
+index 0000000..32f82a7
+--- /dev/null
++++ b/src/arc/ffi.c
+@@ -0,0 +1,268 @@
++/* -----------------------------------------------------------------------
++   ffi.c - Copyright (c) 2013  Synopsys, Inc. (www.synopsys.com)
++   
++   ARC Foreign Function Interface 
++
++   Permission is hereby granted, free of charge, to any person obtaining
++   a copy of this software and associated documentation files (the
++   ``Software''), to deal in the Software without restriction, including
++   without limitation the rights to use, copy, modify, merge, publish,
++   distribute, sublicense, and/or sell copies of the Software, and to
++   permit persons to whom the Software is furnished to do so, subject to
++   the following conditions:
++
++   The above copyright notice and this permission notice shall be included
++   in all copies or substantial portions of the Software.
++
++   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
++   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++   IN NO EVENT SHALL RENESAS TECHNOLOGY BE LIABLE FOR ANY CLAIM, DAMAGES OR
++   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
++   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++   OTHER DEALINGS IN THE SOFTWARE.
++   ----------------------------------------------------------------------- */
++
++#include <ffi.h>
++#include <ffi_common.h>
++
++#include <stdlib.h>
++#include <stdint.h>
++
++#include <sys/cachectl.h>
++
++/* for little endian ARC, the code is in fact stored as mixed endian for
++   performance reasons */
++#if __BIG_ENDIAN__
++#define CODE_ENDIAN(x) (x)
++#else
++#define CODE_ENDIAN(x) ( (((uint32_t) (x)) << 16) | (((uint32_t) (x)) >> 16))
++#endif
++
++/* ffi_prep_args is called by the assembly routine once stack
++   space has been allocated for the function's arguments.  */
++
++void
++ffi_prep_args (char *stack, extended_cif * ecif)
++{
++  unsigned int i;
++  int tmp;
++  void **p_argv;
++  char *argp;
++  ffi_type **p_arg;
++
++  tmp = 0;
++  argp = stack;
++
++  if (ecif->cif->rtype->type == FFI_TYPE_STRUCT)
++    {
++      *(void **) argp = ecif->rvalue;
++      argp += 4;
++    }
++
++  p_argv = ecif->avalue;
++
++  for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
++       (i != 0); i--, p_arg++)
++    {
++      size_t z;
++      int alignment;
++
++      /* align alignment to 4 */
++      alignment = (((*p_arg)->alignment - 1) | 3) + 1;
++
++      /* Align if necessary.  */
++      if ((alignment - 1) & (unsigned) argp)
++	argp = (char *) ALIGN (argp, alignment);
++
++      z = (*p_arg)->size;
++      if (z < sizeof (int))
++	{
++	  z = sizeof (int);
++
++	  switch ((*p_arg)->type)
++	    {
++	    case FFI_TYPE_SINT8:
++	      *(signed int *) argp = (signed int) *(SINT8 *) (*p_argv);
++	      break;
++
++	    case FFI_TYPE_UINT8:
++	      *(unsigned int *) argp = (unsigned int) *(UINT8 *) (*p_argv);
++	      break;
++
++	    case FFI_TYPE_SINT16:
++	      *(signed int *) argp = (signed int) *(SINT16 *) (*p_argv);
++	      break;
++
++	    case FFI_TYPE_UINT16:
++	      *(unsigned int *) argp = (unsigned int) *(UINT16 *) (*p_argv);
++	      break;
++
++	    case FFI_TYPE_STRUCT:
++	      memcpy (argp, *p_argv, (*p_arg)->size);
++	      break;
++
++	    default:
++	      FFI_ASSERT (0);
++	    }
++	}
++      else if (z == sizeof (int))
++	{
++	  *(unsigned int *) argp = (unsigned int) *(UINT32 *) (*p_argv);
++	}
++      else
++	{
++	  if ((*p_arg)->type == FFI_TYPE_STRUCT)
++	    {
++	      memcpy (argp, *p_argv, z);
++	    }
++	  else
++	    {
++	      /* Double or long long 64bit.  */
++	      memcpy (argp, *p_argv, z);
++	    }
++	}
++      p_argv++;
++      argp += z;
++    }
++
++  return;
++}
++
++/* Perform machine dependent cif processing.  */
++ffi_status
++ffi_prep_cif_machdep (ffi_cif * cif)
++{
++  /* Set the return type flag.  */
++  switch (cif->rtype->type)
++    {
++    case FFI_TYPE_VOID:
++      cif->flags = (unsigned) cif->rtype->type;
++      break;
++
++    case FFI_TYPE_STRUCT:
++      cif->flags = (unsigned) cif->rtype->type;
++      break;
++
++    case FFI_TYPE_SINT64:
++    case FFI_TYPE_UINT64:
++    case FFI_TYPE_DOUBLE:
++      cif->flags = FFI_TYPE_DOUBLE;
++      break;
++
++    case FFI_TYPE_FLOAT:
++    default:
++      cif->flags = FFI_TYPE_INT;
++      break;
++    }
++
++  return FFI_OK;
++}
++
++extern void ffi_call_ARCompact (void (*)(char *, extended_cif *),
++				extended_cif *, unsigned, unsigned,
++				unsigned *, void (*fn) (void));
++
++void
++ffi_call (ffi_cif * cif, void (*fn) (void), void *rvalue, void **avalue)
++{
++  extended_cif ecif;
++
++  ecif.cif = cif;
++  ecif.avalue = avalue;
++
++  /* If the return value is a struct and we don't have
++     a return value address then we need to make one.  */
++  if ((rvalue == NULL) && (cif->rtype->type == FFI_TYPE_STRUCT))
++    {
++      ecif.rvalue = alloca (cif->rtype->size);
++    }
++  else
++    ecif.rvalue = rvalue;
++
++  switch (cif->abi)
++    {
++    case FFI_ARCOMPACT:
++      ffi_call_ARCompact (ffi_prep_args, &ecif, cif->bytes,
++			  cif->flags, ecif.rvalue, fn);
++      break;
++
++    default:
++      FFI_ASSERT (0);
++      break;
++    }
++}
++
++int
++ffi_closure_inner_ARCompact (ffi_closure * closure, void *rvalue,
++			     ffi_arg * args)
++{
++  void **arg_area, **p_argv;
++  ffi_cif *cif = closure->cif;
++  char *argp = (char *) args;
++  ffi_type **p_argt;
++  int i;
++
++  arg_area = (void **) alloca (cif->nargs * sizeof (void *));
++
++  /* handle hidden argument */
++  if (cif->flags == FFI_TYPE_STRUCT)
++    {
++      rvalue = *(void **) argp;
++      argp += 4;
++    }
++
++  p_argv = arg_area;
++
++  for (i = 0, p_argt = cif->arg_types; i < cif->nargs;
++       i++, p_argt++, p_argv++)
++    {
++      size_t z;
++      int alignment;
++
++      /* align alignment to 4 */
++      alignment = (((*p_argt)->alignment - 1) | 3) + 1;
++
++      /* Align if necessary.  */
++      if ((alignment - 1) & (unsigned) argp)
++	argp = (char *) ALIGN (argp, alignment);
++
++      z = (*p_argt)->size;
++      *p_argv = (void *) argp;
++      argp += z;
++    }
++
++  (closure->fun) (cif, rvalue, arg_area, closure->user_data);
++
++  return cif->flags;
++}
++
++extern void ffi_closure_ARCompact (void);
++
++ffi_status
++ffi_prep_closure_loc (ffi_closure * closure, ffi_cif * cif,
++		      void (*fun) (ffi_cif *, void *, void **, void *),
++		      void *user_data, void *codeloc)
++{
++  uint32_t *tramp = (uint32_t *) & (closure->tramp[0]);
++
++  switch (cif->abi)
++    {
++    case FFI_ARCOMPACT:
++      FFI_ASSERT (tramp == codeloc);
++      tramp[0] = CODE_ENDIAN (0x200a1fc0);	/* mov r8, pcl  */
++      tramp[1] = CODE_ENDIAN (0x20200f80);	/* j [long imm] */
++      tramp[2] = CODE_ENDIAN (ffi_closure_ARCompact);
++      break;
++
++    default:
++      return FFI_BAD_ABI;
++    }
++
++  closure->cif = cif;
++  closure->fun = fun;
++  closure->user_data = user_data;
++  cacheflush (codeloc, FFI_TRAMPOLINE_SIZE, BCACHE);
++
++  return FFI_OK;
++}
+diff --git a/src/arc/ffitarget.h b/src/arc/ffitarget.h
+new file mode 100644
+index 0000000..bf8311b
+--- /dev/null
++++ b/src/arc/ffitarget.h
+@@ -0,0 +1,53 @@
++/* -----------------------------------------------------------------------
++   ffitarget.h - Copyright (c) 2012  Anthony Green
++                 Copyright (c) 2013  Synopsys, Inc. (www.synopsys.com)
++   Target configuration macros for ARC.
++
++   Permission is hereby granted, free of charge, to any person obtaining
++   a copy of this software and associated documentation files (the
++   ``Software''), to deal in the Software without restriction, including
++   without limitation the rights to use, copy, modify, merge, publish,
++   distribute, sublicense, and/or sell copies of the Software, and to
++   permit persons to whom the Software is furnished to do so, subject to
++   the following conditions:
++
++   The above copyright notice and this permission notice shall be included
++   in all copies or substantial portions of the Software.
++
++   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
++   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++   IN NO EVENT SHALL RENESAS TECHNOLOGY BE LIABLE FOR ANY CLAIM, DAMAGES OR
++   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
++   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++   OTHER DEALINGS IN THE SOFTWARE.
++
++   ----------------------------------------------------------------------- */
++
++#ifndef LIBFFI_TARGET_H
++#define LIBFFI_TARGET_H
++
++#ifndef LIBFFI_H
++#error "Please do not include ffitarget.h directly into your source.  Use ffi.h instead."
++#endif
++
++/* ---- Generic type definitions ----------------------------------------- */
++
++#ifndef LIBFFI_ASM
++typedef unsigned long ffi_arg;
++typedef signed long ffi_sarg;
++
++typedef enum ffi_abi
++{
++  FFI_FIRST_ABI = 0,
++  FFI_ARCOMPACT,
++  FFI_LAST_ABI,
++  FFI_DEFAULT_ABI = FFI_ARCOMPACT
++} ffi_abi;
++#endif
++
++#define FFI_CLOSURES 		1
++#define FFI_TRAMPOLINE_SIZE	12
++#define FFI_NATIVE_RAW_API 	0
++
++#endif
+-- 
+1.9.0
+

+ 262 - 0
package/libffi/libffi-arc-02-Rebuild-for-ARC-additions.patch

@@ -0,0 +1,262 @@
+From 234414f2c9d32e9fd94d15f94871837210dbab04 Mon Sep 17 00:00:00 2001
+From: Anthony Green <green@moxielogic.com>
+Date: Tue, 2 Jul 2013 15:54:40 -0400
+Subject: [PATCH 2/3] Rebuild for ARC additions
+
+---
+ Makefile.in | 96 +++++++++++++++++++++++++++++++++++++------------------------
+ configure   | 18 ++++++++++++
+ 2 files changed, 76 insertions(+), 38 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 4b6abe5..be425d8 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -72,20 +72,21 @@ target_triplet = @target@
+ @POWERPC_DARWIN_TRUE@am__append_18 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
+ @POWERPC_FREEBSD_TRUE@am__append_19 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
+ @AARCH64_TRUE@am__append_20 = src/aarch64/sysv.S src/aarch64/ffi.c
+-@ARM_TRUE@am__append_21 = src/arm/sysv.S src/arm/ffi.c
+-@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__append_22 = src/arm/trampoline.S
+-@AVR32_TRUE@am__append_23 = src/avr32/sysv.S src/avr32/ffi.c
+-@LIBFFI_CRIS_TRUE@am__append_24 = src/cris/sysv.S src/cris/ffi.c
+-@FRV_TRUE@am__append_25 = src/frv/eabi.S src/frv/ffi.c
+-@S390_TRUE@am__append_26 = src/s390/sysv.S src/s390/ffi.c
+-@X86_64_TRUE@am__append_27 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
+-@SH_TRUE@am__append_28 = src/sh/sysv.S src/sh/ffi.c
+-@SH64_TRUE@am__append_29 = src/sh64/sysv.S src/sh64/ffi.c
+-@PA_LINUX_TRUE@am__append_30 = src/pa/linux.S src/pa/ffi.c
+-@PA_HPUX_TRUE@am__append_31 = src/pa/hpux32.S src/pa/ffi.c
+-@TILE_TRUE@am__append_32 = src/tile/tile.S src/tile/ffi.c
+-@XTENSA_TRUE@am__append_33 = src/xtensa/sysv.S src/xtensa/ffi.c
+-@METAG_TRUE@am__append_34 = src/metag/sysv.S src/metag/ffi.c
++@ARC_TRUE@am__append_21 = src/arc/sysv.S src/arc/ffi.c
++@ARM_TRUE@am__append_22 = src/arm/sysv.S src/arm/ffi.c
++@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__append_23 = src/arm/trampoline.S
++@AVR32_TRUE@am__append_24 = src/avr32/sysv.S src/avr32/ffi.c
++@LIBFFI_CRIS_TRUE@am__append_25 = src/cris/sysv.S src/cris/ffi.c
++@FRV_TRUE@am__append_26 = src/frv/eabi.S src/frv/ffi.c
++@S390_TRUE@am__append_27 = src/s390/sysv.S src/s390/ffi.c
++@X86_64_TRUE@am__append_28 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
++@SH_TRUE@am__append_29 = src/sh/sysv.S src/sh/ffi.c
++@SH64_TRUE@am__append_30 = src/sh64/sysv.S src/sh64/ffi.c
++@PA_LINUX_TRUE@am__append_31 = src/pa/linux.S src/pa/ffi.c
++@PA_HPUX_TRUE@am__append_32 = src/pa/hpux32.S src/pa/ffi.c
++@TILE_TRUE@am__append_33 = src/tile/tile.S src/tile/ffi.c
++@XTENSA_TRUE@am__append_34 = src/xtensa/sysv.S src/xtensa/ffi.c
++@METAG_TRUE@am__append_35 = src/metag/sysv.S src/metag/ffi.c
+ subdir = .
+ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+ 	$(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
+@@ -183,21 +184,22 @@ am_libffi_la_OBJECTS = src/prep_cif.lo src/types.lo src/raw_api.lo \
+ @POWERPC_FREEBSD_TRUE@	src/powerpc/sysv.lo \
+ @POWERPC_FREEBSD_TRUE@	src/powerpc/ppc_closure.lo
+ @AARCH64_TRUE@am__objects_20 = src/aarch64/sysv.lo src/aarch64/ffi.lo
+-@ARM_TRUE@am__objects_21 = src/arm/sysv.lo src/arm/ffi.lo
+-@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__objects_22 = src/arm/trampoline.lo
+-@AVR32_TRUE@am__objects_23 = src/avr32/sysv.lo src/avr32/ffi.lo
+-@LIBFFI_CRIS_TRUE@am__objects_24 = src/cris/sysv.lo src/cris/ffi.lo
+-@FRV_TRUE@am__objects_25 = src/frv/eabi.lo src/frv/ffi.lo
+-@S390_TRUE@am__objects_26 = src/s390/sysv.lo src/s390/ffi.lo
+-@X86_64_TRUE@am__objects_27 = src/x86/ffi64.lo src/x86/unix64.lo \
++@ARC_TRUE@am__objects_21 = src/arc/sysv.lo src/arc/ffi.lo
++@ARM_TRUE@am__objects_22 = src/arm/sysv.lo src/arm/ffi.lo
++@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__objects_23 = src/arm/trampoline.lo
++@AVR32_TRUE@am__objects_24 = src/avr32/sysv.lo src/avr32/ffi.lo
++@LIBFFI_CRIS_TRUE@am__objects_25 = src/cris/sysv.lo src/cris/ffi.lo
++@FRV_TRUE@am__objects_26 = src/frv/eabi.lo src/frv/ffi.lo
++@S390_TRUE@am__objects_27 = src/s390/sysv.lo src/s390/ffi.lo
++@X86_64_TRUE@am__objects_28 = src/x86/ffi64.lo src/x86/unix64.lo \
+ @X86_64_TRUE@	src/x86/ffi.lo src/x86/sysv.lo
+-@SH_TRUE@am__objects_28 = src/sh/sysv.lo src/sh/ffi.lo
+-@SH64_TRUE@am__objects_29 = src/sh64/sysv.lo src/sh64/ffi.lo
+-@PA_LINUX_TRUE@am__objects_30 = src/pa/linux.lo src/pa/ffi.lo
+-@PA_HPUX_TRUE@am__objects_31 = src/pa/hpux32.lo src/pa/ffi.lo
+-@TILE_TRUE@am__objects_32 = src/tile/tile.lo src/tile/ffi.lo
+-@XTENSA_TRUE@am__objects_33 = src/xtensa/sysv.lo src/xtensa/ffi.lo
+-@METAG_TRUE@am__objects_34 = src/metag/sysv.lo src/metag/ffi.lo
++@SH_TRUE@am__objects_29 = src/sh/sysv.lo src/sh/ffi.lo
++@SH64_TRUE@am__objects_30 = src/sh64/sysv.lo src/sh64/ffi.lo
++@PA_LINUX_TRUE@am__objects_31 = src/pa/linux.lo src/pa/ffi.lo
++@PA_HPUX_TRUE@am__objects_32 = src/pa/hpux32.lo src/pa/ffi.lo
++@TILE_TRUE@am__objects_33 = src/tile/tile.lo src/tile/ffi.lo
++@XTENSA_TRUE@am__objects_34 = src/xtensa/sysv.lo src/xtensa/ffi.lo
++@METAG_TRUE@am__objects_35 = src/metag/sysv.lo src/metag/ffi.lo
+ nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
+ 	$(am__objects_3) $(am__objects_4) $(am__objects_5) \
+ 	$(am__objects_6) $(am__objects_7) $(am__objects_8) \
+@@ -209,17 +211,17 @@ nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
+ 	$(am__objects_24) $(am__objects_25) $(am__objects_26) \
+ 	$(am__objects_27) $(am__objects_28) $(am__objects_29) \
+ 	$(am__objects_30) $(am__objects_31) $(am__objects_32) \
+-	$(am__objects_33) $(am__objects_34)
++	$(am__objects_33) $(am__objects_34) $(am__objects_35)
+ libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
+ 	$(nodist_libffi_la_OBJECTS)
+ libffi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ 	$(libffi_la_LDFLAGS) $(LDFLAGS) -o $@
+ libffi_convenience_la_LIBADD =
+-am__objects_35 = src/prep_cif.lo src/types.lo src/raw_api.lo \
++am__objects_36 = src/prep_cif.lo src/types.lo src/raw_api.lo \
+ 	src/java_raw_api.lo src/closures.lo
+-am_libffi_convenience_la_OBJECTS = $(am__objects_35)
+-am__objects_36 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
++am_libffi_convenience_la_OBJECTS = $(am__objects_36)
++am__objects_37 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
+ 	$(am__objects_4) $(am__objects_5) $(am__objects_6) \
+ 	$(am__objects_7) $(am__objects_8) $(am__objects_9) \
+ 	$(am__objects_10) $(am__objects_11) $(am__objects_12) \
+@@ -230,8 +232,8 @@ am__objects_36 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
+ 	$(am__objects_25) $(am__objects_26) $(am__objects_27) \
+ 	$(am__objects_28) $(am__objects_29) $(am__objects_30) \
+ 	$(am__objects_31) $(am__objects_32) $(am__objects_33) \
+-	$(am__objects_34)
+-nodist_libffi_convenience_la_OBJECTS = $(am__objects_36)
++	$(am__objects_34) $(am__objects_35)
++nodist_libffi_convenience_la_OBJECTS = $(am__objects_37)
+ libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
+ 	$(nodist_libffi_convenience_la_OBJECTS)
+ DEFAULT_INCLUDES = -I.@am__isrc@
+@@ -471,7 +473,8 @@ SUBDIRS = include testsuite man
+ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host	\
+ 	 src/aarch64/ffi.c src/aarch64/ffitarget.h src/aarch64/sysv.S	\
+ 	 build-ios.sh src/alpha/ffi.c src/alpha/osf.S			\
+-	 src/alpha/ffitarget.h src/arm/ffi.c src/arm/sysv.S		\
++	 src/alpha/ffitarget.h src/arc/ffi.c src/arc/arcompact.S	\
++	 src/arc/ffitarget.h src/arm/ffi.c src/arm/sysv.S		\
+ 	 src/arm/ffitarget.h src/avr32/ffi.c src/avr32/sysv.S		\
+ 	 src/avr32/ffitarget.h src/cris/ffi.c src/cris/sysv.S		\
+ 	 src/cris/ffitarget.h src/ia64/ffi.c src/ia64/ffitarget.h	\
+@@ -571,7 +574,7 @@ nodist_libffi_la_SOURCES = $(am__append_1) $(am__append_2) \
+ 	$(am__append_24) $(am__append_25) $(am__append_26) \
+ 	$(am__append_27) $(am__append_28) $(am__append_29) \
+ 	$(am__append_30) $(am__append_31) $(am__append_32) \
+-	$(am__append_33) $(am__append_34)
++	$(am__append_33) $(am__append_34) $(am__append_35)
+ libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
+ nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
+ LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/libtool-ldflags $(LDFLAGS))
+@@ -843,6 +846,16 @@ src/aarch64/sysv.lo: src/aarch64/$(am__dirstamp) \
+ 	src/aarch64/$(DEPDIR)/$(am__dirstamp)
+ src/aarch64/ffi.lo: src/aarch64/$(am__dirstamp) \
+ 	src/aarch64/$(DEPDIR)/$(am__dirstamp)
++src/arc/$(am__dirstamp):
++	@$(MKDIR_P) src/arc
++	@: > src/arc/$(am__dirstamp)
++src/arc/$(DEPDIR)/$(am__dirstamp):
++	@$(MKDIR_P) src/arc/$(DEPDIR)
++	@: > src/arc/$(DEPDIR)/$(am__dirstamp)
++src/arc/sysv.lo: src/arc/$(am__dirstamp) \
++	src/arc/$(DEPDIR)/$(am__dirstamp)
++src/arc/ffi.lo: src/arc/$(am__dirstamp) \
++	src/arc/$(DEPDIR)/$(am__dirstamp)
+ src/arm/$(am__dirstamp):
+ 	@$(MKDIR_P) src/arm
+ 	@: > src/arm/$(am__dirstamp)
+@@ -970,6 +983,8 @@ mostlyclean-compile:
+ 	-rm -f src/aarch64/*.lo
+ 	-rm -f src/alpha/*.$(OBJEXT)
+ 	-rm -f src/alpha/*.lo
++	-rm -f src/arc/*.$(OBJEXT)
++	-rm -f src/arc/*.lo
+ 	-rm -f src/arm/*.$(OBJEXT)
+ 	-rm -f src/arm/*.lo
+ 	-rm -f src/avr32/*.$(OBJEXT)
+@@ -1026,6 +1041,8 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@src/aarch64/$(DEPDIR)/sysv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/osf.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@src/arc/$(DEPDIR)/ffi.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@src/arc/$(DEPDIR)/sysv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/sysv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/trampoline.Plo@am__quote@
+@@ -1144,6 +1161,7 @@ clean-libtool:
+ 	-rm -rf src/.libs src/_libs
+ 	-rm -rf src/aarch64/.libs src/aarch64/_libs
+ 	-rm -rf src/alpha/.libs src/alpha/_libs
++	-rm -rf src/arc/.libs src/arc/_libs
+ 	-rm -rf src/arm/.libs src/arm/_libs
+ 	-rm -rf src/avr32/.libs src/avr32/_libs
+ 	-rm -rf src/bfin/.libs src/bfin/_libs
+@@ -1714,6 +1732,8 @@ distclean-generic:
+ 	-rm -f src/aarch64/$(am__dirstamp)
+ 	-rm -f src/alpha/$(DEPDIR)/$(am__dirstamp)
+ 	-rm -f src/alpha/$(am__dirstamp)
++	-rm -f src/arc/$(DEPDIR)/$(am__dirstamp)
++	-rm -f src/arc/$(am__dirstamp)
+ 	-rm -f src/arm/$(DEPDIR)/$(am__dirstamp)
+ 	-rm -f src/arm/$(am__dirstamp)
+ 	-rm -f src/avr32/$(DEPDIR)/$(am__dirstamp)
+@@ -1768,7 +1788,7 @@ clean-am: clean-aminfo clean-generic clean-libtool \
+ 
+ distclean: distclean-recursive
+ 	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+-	-rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/metag/$(DEPDIR) src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/tile/$(DEPDIR) src/x86/$(DEPDIR) src/xtensa/$(DEPDIR)
++	-rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR) src/arc/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/metag/$(DEPDIR) src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/tile/$(DEPDIR) src/x86/$(DEPDIR) src/xtensa/$(DEPDIR)
+ 	-rm -f Makefile
+ distclean-am: clean-am distclean-compile distclean-generic \
+ 	distclean-hdr distclean-libtool distclean-tags
+@@ -1907,7 +1927,7 @@ installcheck-am:
+ maintainer-clean: maintainer-clean-recursive
+ 	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ 	-rm -rf $(top_srcdir)/autom4te.cache
+-	-rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/metag/$(DEPDIR) src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/tile/$(DEPDIR) src/x86/$(DEPDIR) src/xtensa/$(DEPDIR)
++	-rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR) src/arc/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/metag/$(DEPDIR) src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/tile/$(DEPDIR) src/x86/$(DEPDIR) src/xtensa/$(DEPDIR)
+ 	-rm -f Makefile
+ maintainer-clean-am: distclean-am maintainer-clean-aminfo \
+ 	maintainer-clean-generic maintainer-clean-vti
+diff --git a/configure b/configure
+index 4b04db7..495389d 100755
+--- a/configure
++++ b/configure
+@@ -673,6 +673,8 @@ AVR32_FALSE
+ AVR32_TRUE
+ ARM_FALSE
+ ARM_TRUE
++ARC_FALSE
++ARC_TRUE
+ AARCH64_FALSE
+ AARCH64_TRUE
+ POWERPC_FREEBSD_FALSE
+@@ -13299,6 +13301,10 @@ case "$host" in
+ 	HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
+ 	;;
+ 
++  arc*-*-*)
++	TARGET=ARC; TARGETDIR=arc
++	;;
++
+   arm*-*-*)
+ 	TARGET=ARM; TARGETDIR=arm
+ 	;;
+@@ -13651,6 +13657,14 @@ else
+   AARCH64_FALSE=
+ fi
+ 
++ if test x$TARGET = xARC; then
++  ARC_TRUE=
++  ARC_FALSE='#'
++else
++  ARC_TRUE='#'
++  ARC_FALSE=
++fi
++
+  if test x$TARGET = xARM; then
+   ARM_TRUE=
+   ARM_FALSE='#'
+@@ -15087,6 +15101,10 @@ if test -z "${AARCH64_TRUE}" && test -z "${AARCH64_FALSE}"; then
+   as_fn_error $? "conditional \"AARCH64\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
++if test -z "${ARC_TRUE}" && test -z "${ARC_FALSE}"; then
++  as_fn_error $? "conditional \"ARC\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
+ if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
+   as_fn_error $? "conditional \"ARM\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+-- 
+1.9.0
+

+ 43 - 0
package/libffi/libffi-arc-03-arc-Fix-build-error.patch

@@ -0,0 +1,43 @@
+From 5a1bbc8511464f073cb2e79d5aa9ea0395139541 Mon Sep 17 00:00:00 2001
+From: Mischa Jonker <mjonker@synopsys.com>
+Date: Mon, 8 Jul 2013 15:51:36 +0200
+Subject: [PATCH 3/3] arc: Fix build error
+
+One part of the patch for ARC support was missing in the upstreamed
+version.
+
+Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
+---
+ Makefile.am | 2 +-
+ Makefile.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index b57b2a8..19ead77 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -172,7 +172,7 @@ if AARCH64
+ nodist_libffi_la_SOURCES += src/aarch64/sysv.S src/aarch64/ffi.c
+ endif
+ if ARC
+-nodist_libffi_la_SOURCES += src/arc/sysv.S src/arc/ffi.c
++nodist_libffi_la_SOURCES += src/arc/arcompact.S src/arc/ffi.c
+ endif
+ if ARM
+ nodist_libffi_la_SOURCES += src/arm/sysv.S src/arm/ffi.c
+diff --git a/Makefile.in b/Makefile.in
+index be425d8..44c2551 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -852,7 +852,7 @@ src/arc/$(am__dirstamp):
+ src/arc/$(DEPDIR)/$(am__dirstamp):
+ 	@$(MKDIR_P) src/arc/$(DEPDIR)
+ 	@: > src/arc/$(DEPDIR)/$(am__dirstamp)
+-src/arc/sysv.lo: src/arc/$(am__dirstamp) \
++src/arc/arcompact.lo: src/arc/$(am__dirstamp) \
+ 	src/arc/$(DEPDIR)/$(am__dirstamp)
+ src/arc/ffi.lo: src/arc/$(am__dirstamp) \
+ 	src/arc/$(DEPDIR)/$(am__dirstamp)
+-- 
+1.9.0
+

+ 0 - 28
package/libmicrohttpd/libmicrohttpd-0001-cross.patch

@@ -1,28 +0,0 @@
-Fix cross-compilation
-
-Patch sent upstream: http://article.gmane.org/gmane.comp.gnu.libmicrohttpd/1193
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-
-diff -uNr libmicrohttpd-0.9.35.org/configure.ac libmicrohttpd-0.9.35/configure.ac
---- libmicrohttpd-0.9.35.org/configure.ac	2014-05-02 20:38:40.000000000 +0200
-+++ libmicrohttpd-0.9.35/configure.ac	2014-05-04 09:17:00.000000000 +0200
-@@ -639,8 +639,7 @@
-         SAVE_CPPFLAGS="$CPPFLAGS"
-         LDFLAGS="-L$with_gnutls/lib $LDFLAGS"
-         CPPFLAGS="-I$with_gnutls/include $CPPFLAGS"
--        AC_CHECK_FILE([$with_gnutls/include/gnutls/gnutls.h],
--          [AC_CHECK_HEADERS([gnutls/gnutls.h],
-+          AC_CHECK_HEADERS([gnutls/gnutls.h],
-             [AC_CHECK_LIB([gnutls], [gnutls_priority_set],
-               [
-                 GNUTLS_CPPFLAGS="-I$with_gnutls/include"
-@@ -648,7 +647,7 @@
-                 GNUTLS_LIBS="-lgnutls"
-                 AC_CHECK_LIB([gnutls], [gnutls_load_file], [AC_CHECK_LIB([gnutls], [gnutls_privkey_import_x509_raw], [have_gnutls_sni=yes])])
-                 have_gnutls=yes
--              ])])])
-+              ])])
-         AS_IF([test "x$have_gnutls" != "xyes"], [AC_MSG_ERROR([can't find usable libgnutls at specified prefix $with_gnutls])])
-         LDFLAGS="$SAVE_LDFLAGS"
-         CPPFLAGS="$SAVE_CPPFLAGS"

+ 1 - 2
package/libmicrohttpd/libmicrohttpd.mk

@@ -4,11 +4,10 @@
 #
 ################################################################################
 
-LIBMICROHTTPD_VERSION = 0.9.35
+LIBMICROHTTPD_VERSION = 0.9.36
 LIBMICROHTTPD_SITE = $(BR2_GNU_MIRROR)/libmicrohttpd
 LIBMICROHTTPD_LICENSE_FILES = COPYING
 LIBMICROHTTPD_INSTALL_STAGING = YES
-LIBMICROHTTPD_AUTORECONF = YES
 LIBMICROHTTPD_CONF_OPT = --disable-curl --disable-spdy
 
 ifeq ($(BR2_PACKAGE_LIBMICROHTTPD_SSL),y)

+ 1 - 1
package/libsoc/libsoc.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LIBSOC_VERSION = 0.6
+LIBSOC_VERSION = 0.6.1
 LIBSOC_SITE = $(call github,jackmitch,libsoc,$(LIBSOC_VERSION))
 LIBSOC_LICENSE = LGPLv2.1
 LIBSOC_LICENSE_FILES = COPYING

+ 1 - 1
package/libtasn1/libtasn1.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LIBTASN1_VERSION = 3.5
+LIBTASN1_VERSION = 3.6
 LIBTASN1_SITE = http://ftp.gnu.org/gnu/libtasn1
 LIBTASN1_DEPENDENCIES = host-bison
 LIBTASN1_LICENSE = GPLv3+ LGPLv2.1+

+ 0 - 19
package/lvm2/lvm2-001-readline-deprecated.patch

@@ -1,19 +0,0 @@
-The CPPFunction typedef (among others) have been deprecated in favour of
-specific prototyped typedefs since readline 4.2.
-It's been working since because compatibility typedefs have been
-in place until they were removed in readline 6.3.
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-diff -Nura LVM2.2.02.103.orig/tools/lvm.c LVM2.2.02.103/tools/lvm.c
---- LVM2.2.02.103.orig/tools/lvm.c	2014-03-01 16:10:57.902422044 -0300
-+++ LVM2.2.02.103/tools/lvm.c	2014-03-01 16:11:34.791598230 -0300
-@@ -185,7 +185,7 @@
- 	char *input = NULL, *args[MAX_ARGS], **argv;
- 
- 	rl_readline_name = "lvm";
--	rl_attempted_completion_function = (CPPFunction *) _completion;
-+	rl_attempted_completion_function = (rl_completion_func_t *) _completion;
- 
- 	_read_history(cmd);
- 

+ 1 - 1
package/lvm2/lvm2.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LVM2_VERSION = 2.02.103
+LVM2_VERSION = 2.02.106
 LVM2_SOURCE = LVM2.$(LVM2_VERSION).tgz
 LVM2_SITE = ftp://sources.redhat.com/pub/lvm2/releases
 LVM2_INSTALL_STAGING = YES

+ 14 - 0
package/lz4/Config.in

@@ -0,0 +1,14 @@
+config BR2_PACKAGE_LZ4
+	bool "lz4"
+	depends on BR2_LARGEFILE
+	help
+	  LZ4 is a very fast lossless compression algorithm, providing
+	  compression speed at 400 MB/s per core, scalable with multi-cores
+	  CPU. It also features an extremely fast decoder, with speed
+	  in multiple GB/s per core, typically reaching RAM speed limits
+	  on multi-core systems.
+
+	  https://code.google.com/p/lz4/
+
+comment "lz4 needs a toolchain w/ largefile"
+	depends on !BR2_LARGEFILE

+ 41 - 0
package/lz4/lz4.mk

@@ -0,0 +1,41 @@
+################################################################################
+#
+# lz4
+#
+################################################################################
+
+LZ4_VERSION = r117
+LZ4_SITE = $(call github,Cyan4973,lz4,$(LZ4_VERSION))
+LZ4_INSTALL_STAGING = YES
+LZ4_LICENSE = BSD-2c
+LZ4_LICENSE_FILES = LICENSE
+
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+define LZ4_DISABLE_SHARED
+	$(SED) '/SHARED/d' $(@D)/Makefile
+endef
+LZ4_POST_PATCH_HOOKS += LZ4_DISABLE_SHARED
+endif
+
+define HOST_LZ4_BUILD_CMDS
+	$(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D)
+endef
+
+define HOST_LZ4_INSTALL_CMDS
+	$(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) install DESTDIR=$(HOST_DIR)
+endef
+
+define LZ4_BUILD_CMDS
+	$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) liblz4
+endef
+
+define LZ4_INSTALL_STAGING_CMDS
+	$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) install DESTDIR=$(STAGING_DIR)
+endef
+
+define LZ4_INSTALL_TARGET_CMDS
+	$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) install DESTDIR=$(TARGET_DIR)
+endef
+
+$(eval $(generic-package))
+$(eval $(host-generic-package))

+ 4 - 3
package/mongoose/Config.in

@@ -1,12 +1,13 @@
 config BR2_PACKAGE_MONGOOSE
 	bool "mongoose"
+	depends on BR2_LARGEFILE
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_USE_MMU # fork()
 	help
 	  Mongoose is a small and easy to use web server
 
-	  https://github.com/valenok/mongoose
+	  https://github.com/cesanta/mongoose
 
-comment "mongoose needs a toolchain w/ threads"
+comment "mongoose needs a toolchain w/ threads, largefile"
 	depends on BR2_USE_MMU
-	depends on !BR2_TOOLCHAIN_HAS_THREADS
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_LARGEFILE

+ 1 - 1
package/mongoose/S85mongoose

@@ -10,7 +10,7 @@ NAME=mongoose
 DESC="Mongoose HTTP server"
 
 DAEMON=`which mongoose`
-OPTIONS="-num_threads 3 -document_root /var/www -listening_ports 80"
+OPTIONS="-document_root /var/www -listening_port 80"
 
 [ -e /etc/default/mongoose ] && . /etc/default/mongoose
 

+ 18 - 10
package/mongoose/mongoose.mk

@@ -4,31 +4,39 @@
 #
 ################################################################################
 
-MONGOOSE_VERSION = 3.7
-MONGOOSE_SOURCE = mongoose-$(MONGOOSE_VERSION).tgz
-MONGOOSE_SITE = https://mongoose.googlecode.com/files
-MONGOOSE_LICENSE = MIT
+MONGOOSE_VERSION = 5.3
+MONGOOSE_SITE = $(call github,cesanta,mongoose,$(MONGOOSE_VERSION))
+MONGOOSE_LICENSE = GPLv2
 MONGOOSE_LICENSE_FILES = LICENSE
+MONGOOSE_INSTALL_STAGING = YES
 
 MONGOOSE_CFLAGS = $(TARGET_CFLAGS) $(TARGET_LDFLAGS)
 
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 MONGOOSE_DEPENDENCIES += openssl
 # directly linked
-MONGOOSE_CFLAGS += -DNO_SSL_DL -lssl -lcrypto -lz
-else
-MONGOOSE_CFLAGS += -DNO_SSL
+MONGOOSE_CFLAGS += -DNS_ENABLE_SSL -lssl -lcrypto -lz
 endif
 
 define MONGOOSE_BUILD_CMDS
-	$(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) \
-		linux COPT="$(MONGOOSE_CFLAGS)"
+	$(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D)/examples \
+		CFLAGS_EXTRA="$(MONGOOSE_CFLAGS)" server
+	$(TARGET_CC) -c $(@D)/mongoose.c $(MONGOOSE_CFLAGS) -o $(@D)/mongoose.o
+	$(TARGET_AR) rcs $(@D)/libmongoose.a $(@D)/mongoose.o
 endef
 
 define MONGOOSE_INSTALL_TARGET_CMDS
-	$(INSTALL) -D -m 755 $(@D)/mongoose $(TARGET_DIR)/usr/sbin/mongoose
+	$(INSTALL) -D -m 755 $(@D)/examples/server \
+		$(TARGET_DIR)/usr/sbin/mongoose
 	$(INSTALL) -D -m 755 package/mongoose/S85mongoose \
 		$(TARGET_DIR)/etc/init.d/S85mongoose
 endef
 
+define MONGOOSE_INSTALL_STAGING_CMDS
+	$(INSTALL) -D -m 644 $(@D)/libmongoose.a \
+		$(STAGING_DIR)/usr/lib/libmongoose.a
+	$(INSTALL) -D -m 644 $(@D)/mongoose.h \
+		$(STAGING_DIR)/usr/include/mongoose.h
+endef
+
 $(eval $(generic-package))

+ 1 - 1
package/mpd/mpd.mk

@@ -5,7 +5,7 @@
 ################################################################################
 
 MPD_VERSION_MAJOR = 0.18
-MPD_VERSION = $(MPD_VERSION_MAJOR).10
+MPD_VERSION = $(MPD_VERSION_MAJOR).11
 MPD_SOURCE = mpd-$(MPD_VERSION).tar.xz
 MPD_SITE = http://www.musicpd.org/download/mpd/$(MPD_VERSION_MAJOR)
 MPD_DEPENDENCIES = host-pkgconf libglib2

+ 1 - 3
package/mpg123/mpg123.mk

@@ -22,14 +22,12 @@ ifeq ($(BR2_i386),y)
 MPG123_CPU = x86
 endif
 
-ifeq ($(BR2_powerpc),y)
-ifneq ($(BR2_powerpc_7400)$(BR2_powerpc_7450)$(BR2_powerpc_970),)
+ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y)
 MPG123_CPU = altivec
 endif
 ifeq ($(BR2_SOFT_FLOAT),y)
 MPG123_CPU = ppc_nofpu
 endif
-endif
 
 ifeq ($(BR2_x86_64),y)
 MPG123_CPU = x86-64

+ 1 - 1
package/musl/musl.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-MUSL_VERSION = 1.1.0
+MUSL_VERSION = 1.1.1
 MUSL_SITE = http://www.musl-libc.org/releases/
 MUSL_LICENSE = MIT
 MUSL_LICENSE_FILES = COPYRIGHT

+ 2 - 2
package/nbd/nbd.mk

@@ -4,8 +4,8 @@
 #
 ################################################################################
 
-NBD_VERSION = 3.3
-NBD_SOURCE = nbd-$(NBD_VERSION).tar.bz2
+NBD_VERSION = 3.8
+NBD_SOURCE = nbd-$(NBD_VERSION).tar.xz
 NBD_SITE = http://downloads.sourceforge.net/project/nbd/nbd/$(NBD_VERSION)
 NBD_CONF_OPT = $(if $(BR2_LARGEFILE),--enable-lfs,--disable-lfs)
 NBD_DEPENDENCIES = libglib2

+ 6 - 0
package/openssl/openssl.mk

@@ -42,6 +42,12 @@ ifeq ($(BR2_powerpc_401)$(BR2_powerpc_403)$(BR2_powerpc_405)$(BR2_powerpc_405fp)
 	OPENSSL_TARGET_ARCH = ppc
 endif
 endif
+ifeq ($(ARCH),powerpc64)
+	OPENSSL_TARGET_ARCH = ppc64
+endif
+ifeq ($(ARCH),powerpc64le)
+	OPENSSL_TARGET_ARCH = ppc64le
+endif
 ifeq ($(ARCH),x86_64)
 	OPENSSL_TARGET_ARCH = x86_64
 endif

+ 2 - 0
package/qt5/Config.in

@@ -29,6 +29,7 @@ if BR2_PACKAGE_QT5
 source "package/qt5/qt5base/Config.in"
 source "package/qt5/qt5connectivity/Config.in"
 source "package/qt5/qt5declarative/Config.in"
+source "package/qt5/qt5enginio/Config.in"
 source "package/qt5/qt5graphicaleffects/Config.in"
 source "package/qt5/qt5imageformats/Config.in"
 source "package/qt5/qt5multimedia/Config.in"
@@ -39,6 +40,7 @@ source "package/qt5/qt5sensors/Config.in"
 source "package/qt5/qt5serialport/Config.in"
 source "package/qt5/qt5svg/Config.in"
 source "package/qt5/qt5webkit/Config.in"
+source "package/qt5/qt5websockets/Config.in"
 source "package/qt5/qt5x11extras/Config.in"
 source "package/qt5/qt5xmlpatterns/Config.in"
 endif

+ 2 - 2
package/qt5/qt5.mk

@@ -1,5 +1,5 @@
-QT5_VERSION_MAJOR = 5.2
-QT5_VERSION = $(QT5_VERSION_MAJOR).1
+QT5_VERSION_MAJOR = 5.3
+QT5_VERSION = $(QT5_VERSION_MAJOR).0
 QT5_SITE = http://download.qt-project.org/official_releases/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/submodules/
 include $(sort $(wildcard package/qt5/*/*.mk))
 

+ 35 - 0
package/qt5/qt5base/qt5base-0004-QDnsLookup-Fix-build-with-uClibc.patch

@@ -0,0 +1,35 @@
+From af2241c678bcd9af58d38f98f5caec96a498733e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fatih=20A=C5=9F=C4=B1c=C4=B1?= <fatih.asici@gmail.com>
+Date: Fri, 23 May 2014 17:02:01 +0300
+Subject: [PATCH] QDnsLookup: Fix build with uClibc
+
+uClibc doesn't have a nsmap member in __res_state. Since it also doesn't have
+res_nquery() which is mandatory for QDnsLookup, we can simply disable the code
+to fix the build.
+
+Sent-Upstream: https://codereview.qt-project.org/86159
+Signed-off-by: Fatih Aşıcı <fatih.asici@gmail.com>
+Change-Id: Ia872f535519aca3a2de763548c6dd0e3e0ee20d4
+---
+ src/network/kernel/qdnslookup_unix.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp
+index 26834df..2a482a6 100644
+--- a/src/network/kernel/qdnslookup_unix.cpp
++++ b/src/network/kernel/qdnslookup_unix.cpp
+@@ -160,9 +160,11 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN
+                 Q_CHECK_PTR(ns);
+                 state._u._ext.nsaddrs[0] = ns;
+             }
++#ifndef __UCLIBC__
+             // Set nsmap[] to indicate that nsaddrs[0] is an IPv6 address
+             // See: https://sourceware.org/ml/libc-hacker/2002-05/msg00035.html
+             state._u._ext.nsmap[0] = MAXNS + 1;
++#endif
+             state._u._ext.nscount6 = 1;
+             ns->sin6_family = AF_INET6;
+             ns->sin6_port = htons(53);
+-- 
+1.9.1
+

+ 0 - 29
package/qt5/qt5base/qt5base-0004-qatomic-ppc.patch

@@ -1,29 +0,0 @@
-Set loadAcquire() as const
-
-Fixes powerpc build.
-
-Fetched-from: https://bugzilla.redhat.com/attachment.cgi?id=812643
-Signed-off-by: Fatih Aşıcı <fatih.asici@gmail.com>
-
-Index: qtbase-opensource-src-5.1.1/src/corelib/thread/qoldbasicatomic.h
-===================================================================
---- qtbase-opensource-src-5.1.1.orig/src/corelib/thread/qoldbasicatomic.h
-+++ qtbase-opensource-src-5.1.1/src/corelib/thread/qoldbasicatomic.h
-@@ -63,7 +63,7 @@ public:
-     // Atomic API, implemented in qatomic_XXX.h
- 
-     int load() const { return _q_value; }
--    int loadAcquire() { return _q_value; }
-+    int loadAcquire() const { return _q_value; }
-     void store(int newValue) { _q_value = newValue; }
-     void storeRelease(int newValue) { _q_value = newValue; }
- 
-@@ -107,7 +107,7 @@ public:
-     // Atomic API, implemented in qatomic_XXX.h
- 
-     T *load() const { return _q_value; }
--    T *loadAcquire() { return _q_value; }
-+    T *loadAcquire() const { return _q_value; }
-     void store(T *newValue) { _q_value = newValue; }
-     void storeRelease(T *newValue) { _q_value = newValue; }
- 

+ 0 - 44
package/qt5/qt5base/qt5base-0005-uclibc-no-gnu-lib-names.patch

@@ -1,44 +0,0 @@
-[PATCH]: fix build on uClibc
-
-Reported upstream: https://bugreports.qt-project.org/browse/QTBUG-35742
-
-uClibc defines __GNU_LIBRARY__ like glibc, but doesn't provide
-gnu/lib-names.h, so the build breaks with:
-
-kernel/qdnslookup_unix.cpp:56:29: fatal error: gnu/lib-names.h:
-No such file or directory
-
-Fix it by explicitly checking for !uClibc.
-
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- src/network/kernel/qdnslookup_unix.cpp |    2 +-
- src/network/kernel/qhostinfo_unix.cpp  |    2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-Index: qt5base-5.2.0/src/network/kernel/qdnslookup_unix.cpp
-===================================================================
---- qt5base-5.2.0.orig/src/network/kernel/qdnslookup_unix.cpp
-+++ qt5base-5.2.0/src/network/kernel/qdnslookup_unix.cpp
-@@ -52,7 +52,7 @@
- #include <arpa/nameser_compat.h>
- #include <resolv.h>
- 
--#ifdef __GNU_LIBRARY__
-+#if defined(__GNU_LIBRARY__) && !defined(__UCLIBC__)
- #  include <gnu/lib-names.h>
- #endif
- 
-Index: qt5base-5.2.0/src/network/kernel/qhostinfo_unix.cpp
-===================================================================
---- qt5base-5.2.0.orig/src/network/kernel/qhostinfo_unix.cpp
-+++ qt5base-5.2.0/src/network/kernel/qhostinfo_unix.cpp
-@@ -63,7 +63,7 @@
- #  include <resolv.h>
- #endif
- 
--#ifdef __GNU_LIBRARY__
-+#if defined(__GNU_LIBRARY__) && !defined(__UCLIBC__)
- #  include <gnu/lib-names.h>
- #endif
- 

+ 0 - 41
package/qt5/qt5base/qt5base-0006-sqlite3-Do-not-check-feature-macros-for-posix_falloc.patch

@@ -1,41 +0,0 @@
-From 18eee84e9458bdcb244df4c5ad968c8d5ea1860a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Fatih=20A=C5=9F=C4=B1c=C4=B1?= <fatih.asici@gmail.com>
-Date: Fri, 18 Apr 2014 10:19:03 +0300
-Subject: [PATCH] sqlite3: Do not check feature macros for posix_fallocate()
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Build system already checks for this function and defines
-HAVE_POSIX_FALLOCATE if it is available.
-
-Next releases of Qt will come with an updated sqlite3 which removes this
-check.
-
-Change-Id: I55e403aa01a7f054f9fe4773ce96dad399afce80
-Signed-off-by: Fatih Aşıcı <fatih.asici@gmail.com>
----
- src/3rdparty/sqlite/sqlite3.c | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/src/3rdparty/sqlite/sqlite3.c b/src/3rdparty/sqlite/sqlite3.c
-index 03fa649..1ae9be2 100644
---- a/src/3rdparty/sqlite/sqlite3.c
-+++ b/src/3rdparty/sqlite/sqlite3.c
-@@ -22935,13 +22935,6 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){
- */
- #if SQLITE_OS_UNIX              /* This file is used on unix only */
- 
--/* Use posix_fallocate() if it is available
--*/
--#if !defined(HAVE_POSIX_FALLOCATE) \
--      && (_XOPEN_SOURCE >= 600 || _POSIX_C_SOURCE >= 200112L)
--# define HAVE_POSIX_FALLOCATE 1
--#endif
--
- /*
- ** There are various methods for file locking used for concurrency
- ** control:
--- 
-1.9.1
-

+ 0 - 65
package/qt5/qt5base/qt5base-0007-Fix-no-opengl-build-with-egl.patch

@@ -1,65 +0,0 @@
-From cd14b80dd87ff9ae632bf0479a1d824c72316362 Mon Sep 17 00:00:00 2001
-From: Laszlo Agocs <laszlo.agocs@digia.com>
-Date: Wed, 12 Mar 2014 16:56:19 +0100
-Subject: [PATCH] Fix no-opengl build with egl
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Disable eglfs and similar plugins when opengl is not enabled.
-(but egl is present)
-
-GL-dependent parts of eglconvenience need to be skipped too.
-
-Task-number: QTBUG-37457
-Change-Id: I44d49495241551bc7b1f565aa0b5ace9f310628e
-Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
-Signed-off-by: Fatih Aşıcı <fatih.asici@gmail.com>
-
-Conflicts:
-	src/platformsupport/eglconvenience/eglconvenience.pri
----
- configure                                             | 2 +-
- src/platformsupport/eglconvenience/eglconvenience.pri | 7 +++++--
- 2 files changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/configure b/configure
-index aaa59bd..0c310ff 100755
---- a/configure
-+++ b/configure
-@@ -5337,7 +5337,7 @@ if [ "$CFG_EGL" != "no" ]; then
- fi
- 
- if [ "$CFG_EGLFS" != "no" ]; then
--    if [ "$XPLATFORM_QNX" = "no" ]; then
-+    if [ "$XPLATFORM_QNX" = "no" ] && [ "$CFG_OPENGL" != "no" ]; then
-         CFG_EGLFS="$CFG_EGL"
-     else
-         CFG_EGLFS="no"
-diff --git a/src/platformsupport/eglconvenience/eglconvenience.pri b/src/platformsupport/eglconvenience/eglconvenience.pri
-index 506f4ab..462c60c 100644
---- a/src/platformsupport/eglconvenience/eglconvenience.pri
-+++ b/src/platformsupport/eglconvenience/eglconvenience.pri
-@@ -1,13 +1,16 @@
- contains(QT_CONFIG,egl) {
-     HEADERS += \
-         $$PWD/qeglconvenience_p.h \
--        $$PWD/qeglplatformcontext_p.h \
-         $$PWD/qeglpbuffer_p.h
-     SOURCES += \
-         $$PWD/qeglconvenience.cpp \
--        $$PWD/qeglplatformcontext.cpp \
-         $$PWD/qeglpbuffer.cpp
- 
-+    contains(QT_CONFIG,opengl) {
-+        HEADERS += $$PWD/qeglplatformcontext_p.h
-+        SOURCES += $$PWD/qeglplatformcontext.cpp
-+    }
-+
-     contains(QT_CONFIG,xlib) {
-         HEADERS += \
-             $$PWD/qxlibeglintegration_p.h
--- 
-1.9.1
-

+ 0 - 28
package/qt5/qt5base/qt5base-CMake-don-t-require-GL-when-build-with-no-opengl.patch

@@ -1,28 +0,0 @@
-From 02edc30764935d64f0994a9c592ca729f1c37410 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Peter=20K=C3=BCmmel?= <syntheticpp@gmx.net>
-Date: Fri, 31 Jan 2014 22:28:19 +0100
-Subject: [PATCH] CMake: don't require GL when build with -no-opengl
-
-Task-number: QTBUG-36509
-Change-Id: I03451527ab91754d87ff2a43985952c7c7641826
-Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
----
- src/gui/gui.pro | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/gui/gui.pro b/src/gui/gui.pro
-index 3203b41..f4c35a3 100644
---- a/src/gui/gui.pro
-+++ b/src/gui/gui.pro
-@@ -81,7 +81,7 @@ contains(QT_CONFIG, angle) {
-         !isEmpty(QMAKE_LIBDIR_OPENGL_ES2): CMAKE_OPENGL_LIBDIR = $$cmakePortablePaths($$QMAKE_LIBDIR_OPENGL_ES2)
-         CMAKE_GL_HEADER_NAME = GLES2/gl2.h
-         CMAKE_QT_OPENGL_IMPLEMENTATION = GLESv2
--    } else {
-+    } else:contains(QT_CONFIG, opengl) {
-         !isEmpty(QMAKE_INCDIR_OPENGL): CMAKE_GL_INCDIRS = $$cmakeTargetPaths($$QMAKE_INCDIR_OPENGL)
-         CMAKE_OPENGL_INCDIRS = $$cmakePortablePaths($$QMAKE_INCDIR_OPENGL)
-         CMAKE_OPENGL_LIBS = $$cmakeProcessLibs($$QMAKE_LIBS_OPENGL)
--- 
-1.8.3.2
-

+ 0 - 38
package/qt5/qt5base/qt5base-Fix-linuxfb-argument-mmsize-parsing.patch

@@ -1,38 +0,0 @@
-From b1fb89055d4d1bc88b7b0b788ad8eca4f3641f9a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Peter=20K=C3=BCmmel?= <syntheticpp@gmx.net>
-Date: Fri, 7 Feb 2014 13:12:37 +0100
-Subject: [PATCH] Fix linuxfb argument 'mmsize' parsing
-
-Parse first for 'mmsize' because the regex for 'size' also fits to 'mmsize'.
-
-Task-number: QTBUG-29133
-Change-Id: Idc4950270818e496d5d94a97a172b7c780f069b1
----
- src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp b/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp
-index 735a43d..33a9523 100644
---- a/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp
-+++ b/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp
-@@ -333,6 +333,8 @@ bool QLinuxFbScreen::initialize()
-     foreach (const QString &arg, mArgs) {
-         if (arg == QLatin1String("nographicsmodeswitch"))
-             doSwitchToGraphicsMode = false;
-+        else if (mmSizeRx.indexIn(arg) != -1)
-+            userMmSize = QSize(mmSizeRx.cap(1).toInt(), mmSizeRx.cap(2).toInt());
-         else if (sizeRx.indexIn(arg) != -1)
-             userGeometry.setSize(QSize(sizeRx.cap(1).toInt(), sizeRx.cap(2).toInt()));
-         else if (offsetRx.indexIn(arg) != -1)
-@@ -341,8 +343,6 @@ bool QLinuxFbScreen::initialize()
-             ttyDevice = ttyRx.cap(1);
-         else if (fbRx.indexIn(arg) != -1)
-             fbDevice = fbRx.cap(1);
--        else if (mmSizeRx.indexIn(arg) != -1)
--            userMmSize = QSize(mmSizeRx.cap(1).toInt(), mmSizeRx.cap(2).toInt());
-     }
- 
-     if (fbDevice.isEmpty()) {
--- 
-1.8.3.2
-

+ 0 - 30
package/qt5/qt5connectivity/qt5connectivity-0001-don_t-build-scanner-example-without-qtquick.patch

@@ -1,30 +0,0 @@
-qt5connectivity: Don't build scanner example without QtQuick
-Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
-
-From 1454664752505f5870e4173d15362bfdfe4148e7 Mon Sep 17 00:00:00 2001
-From: Alex Blasche <alexander.blasche@digia.com>
-Date: Wed, 15 Jan 2014 12:11:31 +0100
-Subject: [PATCH] Don't build scanner example without QtQuick
-
-Task-number: QTBUG-35711
-Change-Id: I0406fb5edd8fb2a90046308853485eaaa4311a26
-Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
-Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
-Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
----
- examples/bluetooth/bluetooth.pro |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/examples/bluetooth/bluetooth.pro b/examples/bluetooth/bluetooth.pro
-index e3ef769..549bb7c 100644
---- a/examples/bluetooth/bluetooth.pro
-+++ b/examples/bluetooth/bluetooth.pro
-@@ -6,4 +6,4 @@ qtHaveModule(widgets) {
-                bttennis
- }
- 
--SUBDIRS += scanner
-+qtHaveModule(quick): SUBDIRS += scanner
--- 
-1.7.1
-

+ 0 - 67
package/qt5/qt5connectivity/qt5connectivity-0002-the-poster-example-needs-no-widgets-but-it-needs-quick.patch

@@ -1,67 +0,0 @@
-qt5connectivity: the poster example needs no widgets, but it needs quick
-Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
-
-From 0156038682cc40d44fedfc28dc9b78d1a0e6203b Mon Sep 17 00:00:00 2001
-From: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
-Date: Tue, 18 Feb 2014 15:28:48 +0100
-Subject: [PATCH] the poster example needs no widgets, but it needs quick
-
-Task-number: QTBUG-36893
-Change-Id: Ic77fe07aa450001386be0b2e0d4a99f2e674dbb2
-Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
-Reviewed-by: Rolf Eike Beer <eb@emlix.com>
----
- examples/nfc/nfc.pro              |    5 ++++-
- examples/nfc/poster/poster.pro    |    2 +-
- examples/nfc/poster/qmlposter.cpp |    4 ++--
- 3 files changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/examples/nfc/nfc.pro b/examples/nfc/nfc.pro
-index e4f7e35..0076a71 100644
---- a/examples/nfc/nfc.pro
-+++ b/examples/nfc/nfc.pro
-@@ -2,7 +2,10 @@ TEMPLATE = subdirs
- qtHaveModule(widgets) {
-     SUBDIRS += \
-         annotatedurl \
--        ndefeditor \
-+        ndefeditor
-+}
-+qtHaveModule(quick) {
-+    SUBDIRS += \
-         poster
- }
- 
-diff --git a/examples/nfc/poster/poster.pro b/examples/nfc/poster/poster.pro
-index 47de298..b6e87ed 100644
---- a/examples/nfc/poster/poster.pro
-+++ b/examples/nfc/poster/poster.pro
-@@ -1,4 +1,4 @@
--QT += qml quick network nfc widgets
-+QT += qml quick network nfc
- 
- SOURCES += \
-     qmlposter.cpp
-diff --git a/examples/nfc/poster/qmlposter.cpp b/examples/nfc/poster/qmlposter.cpp
-index 89f3695..2fc943d 100644
---- a/examples/nfc/poster/qmlposter.cpp
-+++ b/examples/nfc/poster/qmlposter.cpp
-@@ -38,13 +38,13 @@
- **
- ****************************************************************************/
- 
--#include <QtWidgets/QApplication>
-+#include <QtGui/QGuiApplication>
- #include <QtQml/QQmlEngine>
- #include <QtQuick/QQuickView>
- 
- int main(int argc, char *argv[])
- {
--    QApplication application(argc, argv);
-+    QGuiApplication application(argc, argv);
-     const QString mainQmlApp = QLatin1String("qrc:/poster.qml");
-     QQuickView view;
-     view.setSource(QUrl(mainQmlApp));
--- 
-1.7.1
-

+ 13 - 0
package/qt5/qt5enginio/Config.in

@@ -0,0 +1,13 @@
+config BR2_PACKAGE_QT5ENGINIO
+	bool "qt5enginio"
+	select BR2_PACKAGE_OPENSSL
+	select BR2_PACKAGE_QT5BASE
+	select BR2_PACKAGE_QT5BASE_GUI
+	select BR2_PACKAGE_QT5BASE_NETWORK
+	help
+	  Qt is a cross-platform application and UI framework for
+	  developers using C++.
+
+	  This package corresponds to the qt5enginio module.
+
+	  http://qt-project.org

+ 62 - 0
package/qt5/qt5enginio/qt5enginio.mk

@@ -0,0 +1,62 @@
+################################################################################
+#
+# qt5enginio
+#
+################################################################################
+
+QT5ENGINIO_VERSION = $(QT5_VERSION)
+QT5ENGINIO_SITE = $(QT5_SITE)
+QT5ENGINIO_SOURCE = qtenginio-opensource-src-$(QT5ENGINIO_VERSION).tar.xz
+QT5ENGINIO_DEPENDENCIES = openssl qt5base
+QT5ENGINIO_INSTALL_STAGING = YES
+
+ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+QT5ENGINIO_LICENSE = LGPLv2.1 or GPLv3.0
+QT5ENGINIO_LICENSE_FILES = LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt
+else
+QT5ENGINIO_LICENSE = Commercial license
+QT5ENGINIO_REDISTRIBUTE = NO
+endif
+
+ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
+QT5ENGINIO_DEPENDENCIES += qt5declarative
+endif
+
+define QT5ENGINIO_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define QT5ENGINIO_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT5ENGINIO_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+	$(QT5_LA_PRL_FILES_FIXUP)
+endef
+
+ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
+define QT5ENGINIO_INSTALL_TARGET_QMLS
+	cp -dpfr $(STAGING_DIR)/usr/qml/Enginio $(TARGET_DIR)/usr/qml/
+endef
+endif
+
+ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
+define QT5ENGINIO_INSTALL_TARGET_EXAMPLES
+	cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/enginio $(TARGET_DIR)/usr/lib/qt/examples/
+endef
+endif
+
+ifneq ($(BR2_PREFER_STATIC_LIB),y)
+define QT5ENGINIO_INSTALL_TARGET_LIBS
+	cp -dpf $(STAGING_DIR)/usr/lib/libEnginio.so.* $(TARGET_DIR)/usr/lib
+endef
+endif
+
+define QT5ENGINIO_INSTALL_TARGET_CMDS
+	$(QT5ENGINIO_INSTALL_TARGET_LIBS)
+	$(QT5ENGINIO_INSTALL_TARGET_QMLS)
+	$(QT5ENGINIO_INSTALL_TARGET_EXAMPLES)
+endef
+
+$(eval $(generic-package))

+ 11 - 0
package/qt5/qt5websockets/Config.in

@@ -0,0 +1,11 @@
+config BR2_PACKAGE_QT5WEBSOCKETS
+	bool "qt5websockets"
+	select BR2_PACKAGE_QT5BASE
+	select BR2_PACKAGE_QT5BASE_NETWORK
+	help
+	  Qt is a cross-platform application and UI framework for
+	  developers using C++.
+
+	  This package corresponds to the qt5websockets module.
+
+	  http://qt-project.org

+ 28 - 0
package/qt5/qt5websockets/qt5websockets-0001-Remove-dependency-on-unused-sql-module.patch

@@ -0,0 +1,28 @@
+From c6b4e9f6609b91e56301bde39be48fc65fcfb916 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fatih=20A=C5=9F=C4=B1c=C4=B1?= <fatih.asici@gmail.com>
+Date: Tue, 20 May 2014 16:15:43 +0300
+Subject: [PATCH] Remove dependency on unused sql module
+
+Sent-Upstream: https://codereview.qt-project.org/85844
+Signed-off-by: Fatih Aşıcı <fatih.asici@gmail.com>
+Change-Id: I102bcb81ec53d022480e81a3632b93d42bf33403
+---
+ src/websockets/websockets.pro | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/websockets/websockets.pro b/src/websockets/websockets.pro
+index 99e84b6..5b5ff78 100644
+--- a/src/websockets/websockets.pro
++++ b/src/websockets/websockets.pro
+@@ -1,7 +1,7 @@
+ load(qt_build_config)
+ TARGET = QtWebSockets
+ 
+-QT = core network core-private sql
++QT = core network core-private
+ 
+ TEMPLATE = lib
+ 
+-- 
+1.9.1
+

+ 61 - 0
package/qt5/qt5websockets/qt5websockets.mk

@@ -0,0 +1,61 @@
+################################################################################
+#
+# qt5websockets
+#
+################################################################################
+
+QT5WEBSOCKETS_VERSION = $(QT5_VERSION)
+QT5WEBSOCKETS_SITE = $(QT5_SITE)
+QT5WEBSOCKETS_SOURCE = qtwebsockets-opensource-src-$(QT5WEBSOCKETS_VERSION).tar.xz
+QT5WEBSOCKETS_DEPENDENCIES = qt5base
+QT5WEBSOCKETS_INSTALL_STAGING = YES
+
+ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+QT5WEBSOCKETS_LICENSE = LGPLv2.1 or GPLv3.0
+QT5WEBSOCKETS_LICENSE_FILES = LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt
+else
+QT5WEBSOCKETS_LICENSE = Commercial license
+QT5WEBSOCKETS_REDISTRIBUTE = NO
+endif
+
+ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
+QT5WEBSOCKETS_DEPENDENCIES += qt5declarative
+endif
+
+define QT5WEBSOCKETS_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define QT5WEBSOCKETS_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT5WEBSOCKETS_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+	$(QT5_LA_PRL_FILES_FIXUP)
+endef
+
+ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
+define QT5WEBSOCKETS_INSTALL_TARGET_QMLS
+	cp -dpfr $(STAGING_DIR)/usr/qml/Qt/WebSockets $(TARGET_DIR)/usr/qml/Qt/
+endef
+endif
+
+ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
+define QT5WEBSOCKETS_INSTALL_TARGET_EXAMPLES
+	cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/websockets $(TARGET_DIR)/usr/lib/qt/examples/
+endef
+endif
+
+ifneq ($(BR2_PREFER_STATIC_LIB),y)
+define QT5WEBSOCKETS_INSTALL_TARGET_LIBS
+	cp -dpf $(STAGING_DIR)/usr/lib/libQt5WebSockets.so.* $(TARGET_DIR)/usr/lib
+endef
+endif
+
+define QT5WEBSOCKETS_INSTALL_TARGET_CMDS
+	$(QT5WEBSOCKETS_INSTALL_TARGET_LIBS)
+	$(QT5WEBSOCKETS_INSTALL_TARGET_QMLS)
+endef
+
+$(eval $(generic-package))

+ 6 - 0
package/squashfs/Config.in

@@ -18,6 +18,12 @@ config BR2_PACKAGE_SQUASHFS_GZIP
 	help
 	  Support GZIP compression algorithm
 
+config BR2_PACKAGE_SQUASHFS_LZ4
+	bool "lz4 support"
+	select BR2_PACKAGE_LZ4
+	help
+	  Support LZ4 compression algorithm
+
 config BR2_PACKAGE_SQUASHFS_LZMA
 	bool "lzma support"
 	select BR2_PACKAGE_XZ

+ 0 - 26
package/squashfs/squashfs-4.2-no-gzip-fix.patch

@@ -1,26 +0,0 @@
-[PATCH] squashfs-tools: unbreak builds without gzip support
-
-The initialization of gzip_comp_ops if gzip support is disabled is
-missing 2 null pointers, causing the id element to be initialized to 0
-rather than ZLIB_COMPRESSION, which breaks all the compressor functions
-as they loop until finding the correct element or id = 0.
-
-Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
----
- squashfs-tools/compressor.c |    3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-Index: squashfs4.2/squashfs-tools/compressor.c
-===================================================================
---- squashfs4.2.orig/squashfs-tools/compressor.c
-+++ squashfs4.2/squashfs-tools/compressor.c
-@@ -27,7 +27,8 @@
- 
- #ifndef GZIP_SUPPORT
- static struct compressor gzip_comp_ops =  {
--	NULL, NULL, NULL, NULL, NULL, NULL, ZLIB_COMPRESSION, "gzip", 0
-+	NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, ZLIB_COMPRESSION,
-+	"gzip", 0
- };
- #else
- extern struct compressor gzip_comp_ops;

+ 10 - 3
package/squashfs/squashfs.mk

@@ -4,13 +4,20 @@
 #
 ################################################################################
 
-SQUASHFS_VERSION = 4.2
+SQUASHFS_VERSION = 4.3
 SQUASHFS_SOURCE = squashfs$(SQUASHFS_VERSION).tar.gz
 SQUASHFS_SITE = http://downloads.sourceforge.net/project/squashfs/squashfs/squashfs$(SQUASHFS_VERSION)
 
 # no libattr in BR
 SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=0
 
+ifeq ($(BR2_PACKAGE_SQUASHFS_LZ4),y)
+SQUASHFS_DEPENDENCIES += lz4
+SQUASHFS_MAKE_ARGS += LZ4_SUPPORT=1 COMP_DEFAULT=lz4
+else
+SQUASHFS_MAKE_ARGS += LZ4_SUPPORT=0
+endif
+
 ifeq ($(BR2_PACKAGE_SQUASHFS_LZMA),y)
 SQUASHFS_DEPENDENCIES += xz
 SQUASHFS_MAKE_ARGS += LZMA_XZ_SUPPORT=1 COMP_DEFAULT=lzma
@@ -39,14 +46,14 @@ else
 SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=0
 endif
 
-
-HOST_SQUASHFS_DEPENDENCIES = host-zlib host-lzo host-xz
+HOST_SQUASHFS_DEPENDENCIES = host-zlib host-lz4 host-lzo host-xz
 
 # no libattr/xz in BR
 HOST_SQUASHFS_MAKE_ARGS = \
 	XATTR_SUPPORT=0 \
 	XZ_SUPPORT=1    \
 	GZIP_SUPPORT=1  \
+	LZ4_SUPPORT=1	\
 	LZO_SUPPORT=1	\
 	LZMA_XZ_SUPPORT=1
 

+ 2 - 1
package/systemd/Config.in

@@ -2,7 +2,8 @@ config BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS
 	bool
 	# see src/shared/architecture.h
 	default y if BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || \
-		BR2_mipsel || BR2_powerpc || BR2_sh4 || BR2_sh4eb || \
+		BR2_mipsel || BR2_powerpc || BR2_powerpc64 || \
+		BR2_powerpc64le || BR2_sh4 || BR2_sh4eb || \
 		BR2_sh4a || BR2_sh4aeb || BR2_sparc || BR2_x86_64 || \
 		BR2_aarch64 || BR2_m68k
 

+ 0 - 44
package/transmission/transmission-02-fix-cxx-check-with-ccache.patch

@@ -1,44 +0,0 @@
-transmission: fix incorrect check of CXX when ccache is enabled
-
-When ccache is enabled, the configure script is called with
-CXX="/path/to/ccache /path/to/cxx". The AC_PROG_CXX correctly deals with
-this, but the transmission-specific extra checks on CXX do not. It uses
-AC_CHECK_PROG, which takes the first word of CXX (ccache) only.
-
-This patch removes the seemingly unneeded extra checks, and additionally
-replaces HAVE_CXX=yes/no with a direct check on CXX, as it is only used in
-one place.
-
-Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
-Upstream-status: submitted: https://trac.transmissionbt.com/ticket/5612
-
----
-
-diff --git a/configure.ac b/configure.ac
---- a/configure.ac
-+++ b/configure.ac
-@@ -69,15 +69,6 @@ AC_SUBST(LIBAPPINDICATOR_MINIMUM)
- 
- AC_PROG_CC
- AC_PROG_CXX
--if test "x$CXX" != "x"; then # CXX is set...
--  if test -f "$CXX"; then # maybe it's an absolute path passed in env variables...
--    AC_MSG_CHECKING([for $CXX])
--    HAVE_CXX="yes"
--    AC_MSG_RESULT([$HAVE_CXX])
--  else
--    AC_CHECK_PROG([HAVE_CXX],[$CXX],[yes],[no])
--  fi
--fi
- AC_C_INLINE
- if test "x$GCC" = "xyes" ; then
- 
-@@ -216,7 +207,7 @@ AC_CHECK_LIB([rt],
- 
- AC_MSG_CHECKING([µTP])
- build_utp="no"
--if test "x$HAVE_CXX" = "xyes" ; then
-+if test "x$CXX" != "x" ; then
-     have_utp="yes"
- else
-     have_utp="no"

+ 1 - 1
package/transmission/transmission.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-TRANSMISSION_VERSION = 2.82
+TRANSMISSION_VERSION = 2.83
 TRANSMISSION_SITE = http://download.transmissionbt.com/files/
 TRANSMISSION_SOURCE = transmission-$(TRANSMISSION_VERSION).tar.xz
 TRANSMISSION_DEPENDENCIES = \

+ 1 - 2
package/vlc/vlc.mk

@@ -49,8 +49,7 @@ ifeq ($(BR2_PREFER_STATIC_LIB),)
 VLC_CONF_OPT += --disable-static
 endif
 
-# Set powerpc altivec appropriately
-ifeq ($(BR2_powerpc_7400)$(BR2_powerpc_7450)$(BR2_powerpc_970),y)
+ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y)
 VCL_CONF_OPT += --enable-altivec
 else
 VLC_CONF_OPT += --disable-altivec

+ 1 - 1
package/wireless-regdb/wireless-regdb.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-WIRELESS_REGDB_VERSION = 2013.11.27
+WIRELESS_REGDB_VERSION = 2014.05.19
 WIRELESS_REGDB_SOURCE = wireless-regdb-$(WIRELESS_REGDB_VERSION).tar.xz
 WIRELESS_REGDB_SITE = http://kernel.org/pub/software/network/wireless-regdb
 WIRELESS_REGDB_LICENSE = ISC

+ 1 - 0
package/x11r7/Config.in

@@ -227,6 +227,7 @@ if BR2_PACKAGE_XORG7
 		source package/x11r7/xproto_damageproto/Config.in
 		source package/x11r7/xproto_dmxproto/Config.in
 		source package/x11r7/xproto_dri2proto/Config.in
+		source package/x11r7/xproto_dri3proto/Config.in
 		source package/x11r7/xproto_fixesproto/Config.in
 		source package/x11r7/xproto_fontcacheproto/Config.in
 		source package/x11r7/xproto_fontsproto/Config.in

+ 4 - 0
package/x11r7/xproto_dri3proto/Config.in

@@ -0,0 +1,4 @@
+config BR2_PACKAGE_XPROTO_DRI3PROTO
+	bool "dri3proto"
+	help
+	  X.Org DRI3 protocol headers

+ 15 - 0
package/x11r7/xproto_dri3proto/xproto_dri3proto.mk

@@ -0,0 +1,15 @@
+################################################################################
+#
+# xproto_dri3proto
+#
+################################################################################
+
+XPROTO_DRI3PROTO_VERSION = 1.0
+XPROTO_DRI3PROTO_SOURCE = dri3proto-$(XPROTO_DRI3PROTO_VERSION).tar.bz2
+XPROTO_DRI3PROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto
+XPROTO_DRI3PROTO_LICENSE = MIT
+XPROTO_DRI3PROTO_INSTALL_STAGING = YES
+# this package does not contain any binary files
+XPROTO_DRI3PROTO_INSTALL_TARGET = NO
+
+$(eval $(autotools-package))

+ 81 - 0
package/x11r7/xserver_xorg-server/xserver_xorg-server-add-support-for-arc.patch

@@ -0,0 +1,81 @@
+Upstream-Status: Backport (should be a part of 1.15.2 - remove then)
+
+http://cgit.freedesktop.org/xorg/xserver/commit/?id=c08d2b8ccb0158dbf1f529f80cc3236e66236cce
+
+From c08d2b8ccb0158dbf1f529f80cc3236e66236cce Mon Sep 17 00:00:00 2001
+From: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
+Date: Thu, 01 May 2014 12:39:29 +0000
+Subject: ARC: Add support for ARC architecture
+
+Xorg server could be built for and run on Synopsys DesignWare ARC cores.
+These changes are required for successful building and execution of the server.
+
+Both little-endian and big-endian flavors of ARC cores are supported.
+
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+Acked-by: Adam Jackson <ajax@redhat.com>
+Reviewed-by: Egbert Eich <eich@freedesktop.org>
+Signed-off-by: Keith Packard <keithp@keithp.com>
+---
+diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h
+index fb95f58..0319de0 100644
+--- a/hw/xfree86/common/compiler.h
++++ b/hw/xfree86/common/compiler.h
+@@ -1352,7 +1352,7 @@ stl_u(unsigned long val, unsigned int *p)
+ #else                           /* ix86 */
+ 
+ #if !defined(__SUNPRO_C)
+-#if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__m32r__) && !defined(__aarch64__)
++#if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__m32r__) && !defined(__aarch64__) && !defined(__arc__)
+ #ifdef GCCUSESGAS
+ 
+ /*
+@@ -1454,7 +1454,7 @@ inl(unsigned short port)
+ 
+ #endif                          /* GCCUSESGAS */
+ 
+-#else                           /* !defined(FAKEIT) && !defined(__mc68000__)  && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__m32r__) */
++#else                           /* !defined(FAKEIT) && !defined(__mc68000__)  && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__m32r__) && !defined(__arc__) */
+ 
+ static __inline__ void
+ outb(unsigned short port, unsigned char val)
+diff --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c
+index 47f5abc..40765fc 100644
+--- a/hw/xfree86/os-support/linux/lnx_video.c
++++ b/hw/xfree86/os-support/linux/lnx_video.c
+@@ -59,7 +59,8 @@ static Bool ExtendedEnabled = FALSE;
+       !defined(__mips__) && \
+       !defined(__nds32__) && \
+       !defined(__arm__) && \
+-      !defined(__aarch64__)
++      !defined(__aarch64__) && \
++      !defined(__arc__)
+ 
+ /*
+  * Due to conflicts with "compiler.h", don't rely on <sys/io.h> to declare
+diff --git a/include/servermd.h b/include/servermd.h
+index 11f6c10..2d1ccb1 100644
+--- a/include/servermd.h
++++ b/include/servermd.h
+@@ -300,6 +300,19 @@ SOFTWARE.
+ 
+ #endif                          /* __aarch64__ */
+ 
++#if defined(__arc__)
++
++#if defined(__BIG_ENDIAN__)
++#define IMAGE_BYTE_ORDER	MSBFirst
++#define BITMAP_BIT_ORDER	MSBFirst
++#else
++#define IMAGE_BYTE_ORDER	LSBFirst
++#define BITMAP_BIT_ORDER	LSBFirst
++#endif
++#define GLYPHPADBYTES		4
++
++#endif                          /* ARC */
++
+ /* size of buffer to use with GetImage, measured in bytes. There's obviously
+  * a trade-off between the amount of heap used and the number of times the
+  * ddx routine has to be called.
+--
+cgit v0.9.0.2-2-gbebe

+ 7 - 0
support/dependencies/check-host-tar.sh

@@ -14,10 +14,17 @@ fi
 # Output of 'tar --version' examples:
 # tar (GNU tar) 1.15.1
 # tar (GNU tar) 1.25
+# bsdtar 2.8.3 - libarchive 2.8.3
 version=`$tar --version | head -n 1 | sed 's/^.*\s\([0-9]\+\.\S\+\).*$/\1/'`
 major=`echo "$version" | cut -d. -f1`
 minor=`echo "$version" | cut -d. -f2`
 bugfix=`echo "$version" | cut -d. -f3`
+version_bsd=`$tar --version | grep 'bsdtar'`
+if [ ! -z "${version_bsd}" ] ; then 
+  # mark as invalid version - not all command line options are available
+  major=0
+  minor=0
+fi
 
 # Minimal version = 1.17 (previous versions do not correctly unpack archives
 # containing hard-links if the --strip-components option is used).

+ 5 - 5
support/scripts/scancpan

@@ -581,7 +581,7 @@ while (my ($distname, $dist) = each %dist) {
         open my $fh, q{>}, $cfgname;
         say {$fh} qq{config BR2_PACKAGE_${brname}};
         say {$fh} qq{\tbool "${fsname}"};
-        foreach my $dep (@{$deps_runtime{$distname}}) {
+        foreach my $dep (sort @{$deps_runtime{$distname}}) {
             my $brdep = brname( fsname( $dep ) );
             say {$fh} qq{\tselect BR2_PACKAGE_${brdep}};
         }
@@ -596,10 +596,10 @@ while (my ($distname, $dist) = each %dist) {
         # the scheme is not used, because the job is done by the BR download infrastructure
         # the auth part is not used, because we use $(BR2_CPAN_MIRROR)
         my($filename, $directories, $suffix) = fileparse( $path, q{tar.gz}, q{tgz} );
-        my $dependencies = join q{ }, map( { q{host-} . fsname( $_ ); } @{$deps_build{$distname}} ),
-                                      map( { fsname( $_ ); } @{$deps_runtime{$distname}} );
-        my $host_dependencies = join q{ }, map { q{host-} . fsname( $_ ); } @{$deps_build{$distname}},
-                                                                            @{$deps_runtime{$distname}};
+        my $dependencies = join q{ }, map( { q{host-} . fsname( $_ ); } sort @{$deps_build{$distname}} ),
+                                      map( { fsname( $_ ); } sort @{$deps_runtime{$distname}} );
+        my $host_dependencies = join q{ }, map { q{host-} . fsname( $_ ); } sort( @{$deps_build{$distname}},
+                                                                                  @{$deps_runtime{$distname}} );
         my $license = ref $dist->{license} eq 'ARRAY'
                     ? join q{ or }, @{$dist->{license}}
                     : $dist->{license};

+ 7 - 6
toolchain/toolchain-buildroot/Config.in

@@ -45,7 +45,7 @@ config BR2_TOOLCHAIN_BUILDROOT_EGLIBC
 		   BR2_i386   || BR2_mips     || BR2_mipsel  || \
 		   BR2_mips64 || BR2_mips64el || BR2_powerpc || \
 		   BR2_sh     || BR2_sh64     || BR2_sparc   || \
-		   BR2_x86_64 || BR2_microblaze
+		   BR2_x86_64 || BR2_microblaze || BR2_powerpc64
 	depends on BR2_USE_MMU
 	depends on !BR2_PREFER_STATIC_LIB
 	select BR2_TOOLCHAIN_USES_GLIBC
@@ -59,11 +59,12 @@ config BR2_TOOLCHAIN_BUILDROOT_EGLIBC
 
 config BR2_TOOLCHAIN_BUILDROOT_GLIBC
 	bool "glibc"
-	depends on BR2_arm    || BR2_armeb    || BR2_aarch64 || \
-		   BR2_i386   || BR2_mips     || BR2_mipsel  || \
-		   BR2_mips64 || BR2_mips64el || BR2_powerpc || \
-		   BR2_sh     || BR2_sh64     || BR2_sparc   || \
-		   BR2_x86_64 || BR2_microblaze
+	depends on BR2_arm         || BR2_armeb    || BR2_aarch64 || \
+		   BR2_i386        || BR2_mips     || BR2_mipsel  || \
+		   BR2_mips64      || BR2_mips64el || BR2_powerpc || \
+		   BR2_powerpc64   || BR2_powerpc64le || BR2_sh   || \
+		   BR2_sh64        || BR2_sparc    || BR2_x86_64  || \
+		   BR2_microblaze
 	depends on BR2_USE_MMU
 	depends on !BR2_PREFER_STATIC_LIB
 	depends on !BR2_powerpc_SPE