summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mk/image.mk2
-rw-r--r--mk/vars.mk2
-rw-r--r--package/conntrack-tools/Makefile25
-rw-r--r--package/conntrack-tools/patches/patch-include_bitops_h41
-rw-r--r--package/conntrack-tools/patches/patch-include_mcast_h10
-rw-r--r--package/conntrack-tools/patches/patch-include_tcp_h10
-rw-r--r--package/conntrack-tools/patches/patch-include_udp_h10
-rw-r--r--package/curl/Makefile20
-rw-r--r--package/curl/patches/patch-ltmain_sh11
-rw-r--r--package/curl/patches/patch-src_tool_operate_c13
-rw-r--r--package/glibc/files/libc.so.sh45
-rw-r--r--package/iproute2/Makefile2
-rw-r--r--package/iproute2/patches/patch-include_iptables_common_h25
-rw-r--r--package/iproute2/patches/patch-include_iptables_h38
-rw-r--r--package/iproute2/patches/patch-include_libiptc_ipt_kernel_headers_h25
-rw-r--r--package/libcdio/Makefile9
-rw-r--r--package/libnetfilter_conntrack/Makefile6
-rw-r--r--package/libnetfilter_queue/Makefile4
-rw-r--r--package/libnfnetlink/Makefile2
-rw-r--r--package/libnfnetlink/patches/patch-include_libnfnetlink_linux_nfnetlink_compat_h13
-rw-r--r--package/libnfnetlink/patches/patch-include_libnfnetlink_linux_nfnetlink_h33
-rw-r--r--package/libnfs/Makefile4
-rw-r--r--package/mysql/Makefile122
-rw-r--r--package/mysql/patches/patch-cmake_os_Linux_cmake17
-rw-r--r--package/mysql/patches/patch-cmd-line-utils_libedit_chartype_h22
-rw-r--r--package/mysql/patches/patch-configure365
-rw-r--r--package/mysql/patches/patch-include_config_h_in21
-rw-r--r--package/mysql/patches/patch-include_my_global_h54
-rw-r--r--package/mysql/patches/patch-ltmain_sh11
-rw-r--r--package/mysql/patches/patch-scripts_mysql_config_sh11
-rw-r--r--package/mysql/patches/patch-sql_sql_builtin_cc15
-rw-r--r--package/nasm/Makefile4
-rw-r--r--package/nginx/Makefile6
-rw-r--r--package/openldap/Makefile4
-rw-r--r--package/php/Makefile4
-rw-r--r--package/postgresql/Makefile8
-rw-r--r--package/samba/Makefile28
-rw-r--r--package/uclibc/Makefile2
-rw-r--r--scripts/scan-tools.sh7
-rw-r--r--scripts/toolchain.cmake.in10
-rw-r--r--target/config/Config.in.tools13
-rw-r--r--target/linux/config/Config.in.flash3
-rw-r--r--target/linux/config/Config.in.fs9
-rw-r--r--target/linux/config/Config.in.netdevice23
-rw-r--r--target/linux/config/Config.in.network2
-rw-r--r--toolchain/Makefile4
-rw-r--r--toolchain/gcc/Makefile.inc5
-rw-r--r--toolchain/gcc/patches/4.8.2/sparc-miscompile.patch154
-rw-r--r--toolchain/uclibc/Makefile (renamed from toolchain/uClibc/Makefile)0
-rw-r--r--toolchain/uclibc/Makefile.inc (renamed from toolchain/uClibc/Makefile.inc)0
-rw-r--r--toolchain/uclibc/patches/uclibc-git-20140313.patch (renamed from toolchain/uClibc/patches/uclibc-git-20140313.patch)0
-rw-r--r--toolchain/uclibc/patches/xxx-origin.patch (renamed from toolchain/uClibc/patches/xxx-origin.patch)0
-rw-r--r--toolchain/uclibc/patches/xxx-sparc-wait4.patch (renamed from toolchain/uClibc/patches/xxx-sparc-wait4.patch)0
53 files changed, 579 insertions, 655 deletions
diff --git a/mk/image.mk b/mk/image.mk
index ee2f991e0..9e755ad1a 100644
--- a/mk/image.mk
+++ b/mk/image.mk
@@ -238,7 +238,7 @@ ${FW_DIR}/${ROOTFSISO}: ${TARGET_DIR} kernel-package
${TARGET_DIR}/boot/syslinux
echo 'DEFAULT /boot/kernel root=/dev/sr0' > \
${TARGET_DIR}/boot/syslinux/isolinux.cfg
- ${STAGING_HOST_DIR}/usr/bin/mkisofs -R -uid 0 -gid 0 -o $@ \
+ PATH='${HOST_PATH}' mkisofs -R -uid 0 -gid 0 -o $@ \
-b boot/syslinux/isolinux.bin \
-c boot/syslinux/boot.cat -no-emul-boot \
-boot-load-size 4 -boot-info-table ${TARGET_DIR}
diff --git a/mk/vars.mk b/mk/vars.mk
index 3215ff1a5..e804ad5e6 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -54,7 +54,7 @@ SCRIPT_TARGET_DIR:= ${STAGING_TARGET_DIR}/scripts
# PATH variables
TARGET_PATH= ${SCRIPT_DIR}:${STAGING_TARGET_DIR}/scripts:${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
-HOST_PATH= ${SCRIPT_DIR}:${TOOLCHAIN_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
+HOST_PATH= ${SCRIPT_DIR}:${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
AUTOTOOL_PATH= ${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH}
ifeq ($(ADK_DISABLE_HONOUR_CFLAGS),)
diff --git a/package/conntrack-tools/Makefile b/package/conntrack-tools/Makefile
index 1341e8c5b..a33a8c115 100644
--- a/package/conntrack-tools/Makefile
+++ b/package/conntrack-tools/Makefile
@@ -4,28 +4,35 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= conntrack-tools
-PKG_VERSION:= 1.4.1
+PKG_VERSION:= 1.4.2
PKG_RELEASE:= 1
-PKG_MD5SUM:= 3cc4703d883c6f07085e29bdc993222b
-PKG_DESCR:= Connection tracking userspace tools
+PKG_MD5SUM:= b1f9d006e7bf000a77395ff7cd3fac16
+PKG_DESCR:= connection tracking userspace tools
PKG_SECTION:= firewall
PKG_DEPENDS:= libtirpc libnetfilter_queue libnetfilter-conntrack libnetfilter-cttimeout libnetfilter-cthelper libmnl
PKG_BUILDDEP:= libtirpc libnetfilter_queue libnetfilter_conntrack libnetfilter_cttimeout libnetfilter_cthelper libmnl
PKG_URL:= http://conntrack-tools.netfilter.org/
PKG_SITES:= http://www.netfilter.org/projects/conntrack-tools/files/
-PKG_LIBC_DEPENDS:= uclibc glibc
+PKG_SUBPKGS:= CONNTRACK CONNTRACKD
+PKGSD_CONNTRACK:= client utility
+PKGSD_CONNTRACKD:= daemon
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
include $(TOPDIR)/mk/package.mk
-TARGET_CPPFLAGS+= -I$(STAGING_TARGET_DIR)/usr/include/tirpc
+TARGET_CPPFLAGS+= -I$(STAGING_TARGET_DIR)/usr/include/tirpc -D_GNU_SOURCE
-$(eval $(call PKG_template,CONNTRACK_TOOLS,conntrack-tools,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,CONNTRACK,conntrack,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_CONNTRACK},${PKG_SECTION}))
+$(eval $(call PKG_template,CONNTRACKD,conntrackd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_CONNTRACKD},${PKG_SECTION}))
-conntrack-tools-install:
- $(INSTALL_DIR) $(IDIR_CONNTRACK_TOOLS)/usr/sbin
- $(INSTALL_BIN) $(WRKINST)/usr/sbin/conntrack{,d} $(IDIR_CONNTRACK_TOOLS)/usr/sbin
+conntrack-install:
+ $(INSTALL_DIR) $(IDIR_CONNTRACK)/usr/sbin
+ $(INSTALL_BIN) $(WRKINST)/usr/sbin/conntrack $(IDIR_CONNTRACK)/usr/sbin
+
+conntrackd-install:
+ $(INSTALL_DIR) $(IDIR_CONNTRACKD)/usr/sbin
+ $(INSTALL_BIN) $(WRKINST)/usr/sbin/conntrackd $(IDIR_CONNTRACKD)/usr/sbin
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/conntrack-tools/patches/patch-include_bitops_h b/package/conntrack-tools/patches/patch-include_bitops_h
new file mode 100644
index 000000000..9dfb08e1e
--- /dev/null
+++ b/package/conntrack-tools/patches/patch-include_bitops_h
@@ -0,0 +1,41 @@
+--- conntrack-tools-1.4.2.orig/include/bitops.h 2013-02-24 23:23:57.000000000 +0100
++++ conntrack-tools-1.4.2/include/bitops.h 2014-04-05 09:39:37.219463608 +0200
+@@ -3,32 +3,32 @@
+
+ #include <stdlib.h>
+
+-static inline void set_bit_u32(int nr, u_int32_t *addr)
++static inline void set_bit_u32(int nr, uint32_t *addr)
+ {
+ addr[nr >> 5] |= (1UL << (nr & 31));
+ }
+
+-static inline void unset_bit_u32(int nr, u_int32_t *addr)
++static inline void unset_bit_u32(int nr, uint32_t *addr)
+ {
+ addr[nr >> 5] &= ~(1UL << (nr & 31));
+ }
+
+-static inline int test_bit_u32(int nr, const u_int32_t *addr)
++static inline int test_bit_u32(int nr, const uint32_t *addr)
+ {
+ return ((1UL << (nr & 31)) & (addr[nr >> 5])) != 0;
+ }
+
+-static inline void set_bit_u16(int nr, u_int16_t *addr)
++static inline void set_bit_u16(int nr, uint16_t *addr)
+ {
+ addr[nr >> 4] |= (1UL << (nr & 15));
+ }
+
+-static inline void unset_bit_u16(int nr, u_int16_t *addr)
++static inline void unset_bit_u16(int nr, uint16_t *addr)
+ {
+ addr[nr >> 4] &= ~(1UL << (nr & 15));
+ }
+
+-static inline int test_bit_u16(int nr, const u_int16_t *addr)
++static inline int test_bit_u16(int nr, const uint16_t *addr)
+ {
+ return ((1UL << (nr & 15)) & (addr[nr >> 4])) != 0;
+ }
diff --git a/package/conntrack-tools/patches/patch-include_mcast_h b/package/conntrack-tools/patches/patch-include_mcast_h
new file mode 100644
index 000000000..0f352ce0c
--- /dev/null
+++ b/package/conntrack-tools/patches/patch-include_mcast_h
@@ -0,0 +1,10 @@
+--- conntrack-tools-1.4.2.orig/include/mcast.h 2013-02-24 23:23:57.000000000 +0100
++++ conntrack-tools-1.4.2/include/mcast.h 2014-04-05 09:37:11.363340860 +0200
+@@ -2,6 +2,7 @@
+ #define _MCAST_H_
+
+ #include <stdint.h>
++#include <sys/select.h>
+ #include <netinet/in.h>
+ #include <net/if.h>
+
diff --git a/package/conntrack-tools/patches/patch-include_tcp_h b/package/conntrack-tools/patches/patch-include_tcp_h
new file mode 100644
index 000000000..4dd4d3202
--- /dev/null
+++ b/package/conntrack-tools/patches/patch-include_tcp_h
@@ -0,0 +1,10 @@
+--- conntrack-tools-1.4.2.orig/include/tcp.h 2013-02-24 23:23:57.000000000 +0100
++++ conntrack-tools-1.4.2/include/tcp.h 2014-04-05 09:40:10.923493847 +0200
+@@ -2,6 +2,7 @@
+ #define _TCP_H_
+
+ #include <stdint.h>
++#include <sys/select.h>
+ #include <netinet/in.h>
+
+ struct tcp_conf {
diff --git a/package/conntrack-tools/patches/patch-include_udp_h b/package/conntrack-tools/patches/patch-include_udp_h
new file mode 100644
index 000000000..1f28a87fa
--- /dev/null
+++ b/package/conntrack-tools/patches/patch-include_udp_h
@@ -0,0 +1,10 @@
+--- conntrack-tools-1.4.2.orig/include/udp.h 2013-02-24 23:23:57.000000000 +0100
++++ conntrack-tools-1.4.2/include/udp.h 2014-04-05 09:38:04.015383617 +0200
+@@ -2,6 +2,7 @@
+ #define _UDP_H_
+
+ #include <stdint.h>
++#include <sys/select.h>
+ #include <netinet/in.h>
+
+ struct udp_conf {
diff --git a/package/curl/Makefile b/package/curl/Makefile
index 7a03fcd9e..e2661d148 100644
--- a/package/curl/Makefile
+++ b/package/curl/Makefile
@@ -4,10 +4,10 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= curl
-PKG_VERSION:= 7.28.0
-PKG_RELEASE:= 2
-PKG_MD5SUM:= cbdc0a79bdf6e657dd387c3d88d802e3
-PKG_DESCR:= a client-side URL transfer tool
+PKG_VERSION:= 7.36.0
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 643a7030b27449e76413d501d4b8eb57
+PKG_DESCR:= client-side URL transfer tool
PKG_SECTION:= www
PKG_DEPENDS:= libcurl
PKG_BUILDDEP:= zlib
@@ -58,7 +58,6 @@ CONFIGURE_ARGS+= --with-gnutls="${STAGING_TARGET_DIR}/usr" \
--without-axtls
endif
-TARGET_CFLAGS:= $(filter-out -flto,$(TARGET_CFLAGS))
CONFIGURE_ENV+= curl_typeof_curl_socklen_t=socklen_t
CONFIGURE_ARGS+= --disable-thread \
--enable-cookies \
@@ -67,17 +66,24 @@ CONFIGURE_ARGS+= --disable-thread \
--enable-file \
--enable-ftp \
--enable-http \
+ --enable-proxy \
+ --disable-symbol-hiding \
--disable-ares \
--disable-dict \
--disable-gopher \
--disable-ldap \
+ --disable-smtp \
+ --disable-imap \
+ --disable-ldaps \
--disable-manual \
--disable-sspi \
--disable-telnet \
--disable-verbose \
+ --without-libssh2 \
+ --without-librtmp \
+ --without-libidn \
--with-random="/dev/urandom" \
- --with-ca-bundle="/etc/ssl/cert.pem" \
- --without-libidn
+ --with-ca-bundle="/etc/ssl/cert.pem"
ifneq (${ADK_PACKAGE_CURL_WITH_IPV6},)
CONFIGURE_ARGS+= --enable-ipv6
diff --git a/package/curl/patches/patch-ltmain_sh b/package/curl/patches/patch-ltmain_sh
deleted file mode 100644
index 07db5c668..000000000
--- a/package/curl/patches/patch-ltmain_sh
+++ /dev/null
@@ -1,11 +0,0 @@
---- curl-7.28.0.orig/ltmain.sh 2012-08-16 19:20:36.000000000 +0200
-+++ curl-7.28.0/ltmain.sh 2012-10-14 14:00:11.000000000 +0200
-@@ -5853,7 +5853,7 @@ func_mode_link ()
- # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-- -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
-+ -O*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*)
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- func_append compile_command " $arg"
diff --git a/package/curl/patches/patch-src_tool_operate_c b/package/curl/patches/patch-src_tool_operate_c
new file mode 100644
index 000000000..eb1a3d52b
--- /dev/null
+++ b/package/curl/patches/patch-src_tool_operate_c
@@ -0,0 +1,13 @@
+--- curl-7.36.0.orig/src/tool_operate.c 2014-03-25 11:36:28.000000000 +0100
++++ curl-7.36.0/src/tool_operate.c 2014-04-02 14:59:00.000000000 +0200
+@@ -1794,8 +1794,10 @@ CURLcode operate(struct GlobalConfig *co
+ if(res == PARAM_HELP_REQUESTED)
+ tool_help();
+ /* Check if we were asked for the manual */
++#ifdef USE_MANUAL
+ else if(res == PARAM_MANUAL_REQUESTED)
+ hugehelp();
++#endif
+ /* Check if we were asked for the version information */
+ else if(res == PARAM_VERSION_INFO_REQUESTED)
+ tool_version_info();
diff --git a/package/glibc/files/libc.so.sh4 b/package/glibc/files/libc.so.sh4
new file mode 100644
index 000000000..eae5be42d
--- /dev/null
+++ b/package/glibc/files/libc.so.sh4
@@ -0,0 +1,5 @@
+/* GNU ld script
+ Use the shared library, but some functions are only in
+ the static library, so try that secondarily. */
+OUTPUT_FORMAT(elf32-sh-linux)
+GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux.so.2 ) )
diff --git a/package/iproute2/Makefile b/package/iproute2/Makefile
index a20bfd0a6..0257e3909 100644
--- a/package/iproute2/Makefile
+++ b/package/iproute2/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= iproute2
PKG_VERSION:= 3.12.0
-PKG_RELEASE:= 2
+PKG_RELEASE:= 3
PKG_MD5SUM:= f87386aaaecafab95607fd10e8152c68
PKG_DESCR:= iproute2 routing control utility
PKG_SECTION:= route
diff --git a/package/iproute2/patches/patch-include_iptables_common_h b/package/iproute2/patches/patch-include_iptables_common_h
new file mode 100644
index 000000000..d0ca2c0a2
--- /dev/null
+++ b/package/iproute2/patches/patch-include_iptables_common_h
@@ -0,0 +1,25 @@
+--- iproute2-3.12.0.orig/include/iptables_common.h 2013-11-23 02:10:33.000000000 +0100
++++ iproute2-3.12.0/include/iptables_common.h 2014-04-05 05:21:46.946376336 +0200
+@@ -1,5 +1,8 @@
+ #ifndef _IPTABLES_COMMON_H
+ #define _IPTABLES_COMMON_H
++
++#include <stdint.h>
++
+ /* Shared definitions between ipv4 and ipv6. */
+
+ enum exittype {
+@@ -43,9 +46,9 @@ extern char *lib_dir;
+ extern void init_extensions(void);
+ #endif
+
+-#define __be32 u_int32_t
+-#define __le32 u_int32_t
+-#define __be16 u_int16_t
+-#define __le16 u_int16_t
++#define __be32 uint32_t
++#define __le32 uint32_t
++#define __be16 uint16_t
++#define __le16 uint16_t
+
+ #endif /*_IPTABLES_COMMON_H*/
diff --git a/package/iproute2/patches/patch-include_iptables_h b/package/iproute2/patches/patch-include_iptables_h
new file mode 100644
index 000000000..ca5f11b3e
--- /dev/null
+++ b/package/iproute2/patches/patch-include_iptables_h
@@ -0,0 +1,38 @@
+--- iproute2-3.12.0.orig/include/iptables.h 2013-11-23 02:10:33.000000000 +0100
++++ iproute2-3.12.0/include/iptables.h 2014-04-05 05:22:26.690501973 +0200
+@@ -20,7 +20,7 @@ struct ipt_get_revision
+ {
+ char name[IPT_FUNCTION_MAXNAMELEN-1];
+
+- u_int8_t revision;
++ uint8_t revision;
+ };
+ #endif /* IPT_SO_GET_REVISION_MATCH Old kernel source */
+
+@@ -39,7 +39,7 @@ struct iptables_match
+ ipt_chainlabel name;
+
+ /* Revision of match (0 by default). */
+- u_int8_t revision;
++ uint8_t revision;
+
+ const char *version;
+
+@@ -92,7 +92,7 @@ struct iptables_target
+ ipt_chainlabel name;
+
+ /* Revision of target (0 by default). */
+- u_int8_t revision;
++ uint8_t revision;
+
+ const char *version;
+
+@@ -153,7 +153,7 @@ extern char *mask_to_dotted(const struct
+
+ extern void parse_hostnetworkmask(const char *name, struct in_addr **addrpp,
+ struct in_addr *maskp, unsigned int *naddrs);
+-extern u_int16_t parse_protocol(const char *s);
++extern uint16_t parse_protocol(const char *s);
+
+ extern int do_command(int argc, char *argv[], char **table,
+ iptc_handle_t *handle);
diff --git a/package/iproute2/patches/patch-include_libiptc_ipt_kernel_headers_h b/package/iproute2/patches/patch-include_libiptc_ipt_kernel_headers_h
new file mode 100644
index 000000000..bc836c0d1
--- /dev/null
+++ b/package/iproute2/patches/patch-include_libiptc_ipt_kernel_headers_h
@@ -0,0 +1,25 @@
+--- iproute2-3.12.0.orig/include/libiptc/ipt_kernel_headers.h 2013-11-23 02:10:33.000000000 +0100
++++ iproute2-3.12.0/include/libiptc/ipt_kernel_headers.h 2014-04-05 05:25:40.983670487 +0200
+@@ -5,22 +5,10 @@
+
+ #include <limits.h>
+
+-#if defined(__GLIBC__) && __GLIBC__ == 2
+ #include <netinet/ip.h>
+ #include <netinet/in.h>
+ #include <netinet/ip_icmp.h>
+ #include <netinet/tcp.h>
+ #include <netinet/udp.h>
+ #include <sys/types.h>
+-#else /* libc5 */
+-#include <sys/socket.h>
+-#include <linux/ip.h>
+-#include <linux/in.h>
+-#include <linux/if.h>
+-#include <linux/icmp.h>
+-#include <linux/tcp.h>
+-#include <linux/udp.h>
+-#include <linux/types.h>
+-#include <linux/in6.h>
+-#endif
+ #endif
diff --git a/package/libcdio/Makefile b/package/libcdio/Makefile
index 5584063b1..5ec7ffbf4 100644
--- a/package/libcdio/Makefile
+++ b/package/libcdio/Makefile
@@ -4,11 +4,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= libcdio
-PKG_VERSION:= 0.90
-PKG_RELEASE:= 3
-PKG_MD5SUM:= 1b245b023fb03a58d030fd2800db3247
-PKG_DESCR:= a library for CD-ROM and CD image access
+PKG_VERSION:= 0.92
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 86f3f2869c1d34e4c6e52db77992b918
+PKG_DESCR:= library for CD-ROM and CD image access
PKG_SECTION:= libs
+PKG_BUILDDEP:= libiconv-tiny
PKG_URL:= http://www.gnu.org/software/libcdio
PKG_SITES:= ${MASTER_SITE_GNU:=libcdio/}
PKG_OPTS:= dev
diff --git a/package/libnetfilter_conntrack/Makefile b/package/libnetfilter_conntrack/Makefile
index 8de196436..14ee92b30 100644
--- a/package/libnetfilter_conntrack/Makefile
+++ b/package/libnetfilter_conntrack/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= libnetfilter_conntrack
-PKG_VERSION:= 1.0.3
-PKG_RELEASE:= 2
-PKG_MD5SUM:= 73394a3d8d0cfecc6abb6027b4792d52
+PKG_VERSION:= 1.0.4
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 18cf80c4b339a3285e78822dbd4f08d7
PKG_DESCR:= API to connection tracking state table
PKG_SECTION:= libs
PKG_DEPENDS:= libnfnetlink
diff --git a/package/libnetfilter_queue/Makefile b/package/libnetfilter_queue/Makefile
index 8e976cb5d..88ec8f129 100644
--- a/package/libnetfilter_queue/Makefile
+++ b/package/libnetfilter_queue/Makefile
@@ -15,14 +15,14 @@ PKG_URL:= http://www.netfilter.org/projects/libnetfilter_queue/
PKG_SITES:= http://www.netfilter.org/projects/libnetfilter_queue/files/
PKG_OPTS:= dev
-PKG_LIBC_DEPENDS:= uclibc glibc
-
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,LIBNETFILTER_QUEUE,libnetfilter-queue,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
+TARGET_CPPFLAGS+= -D_GNU_SOURCE
+
libnetfilter-queue-install:
$(INSTALL_DIR) $(IDIR_LIBNETFILTER_QUEUE)/usr/lib
$(CP) $(WRKINST)/usr/lib/libnetfilter_queue*so* \
diff --git a/package/libnfnetlink/Makefile b/package/libnfnetlink/Makefile
index 07fe6683a..ae10b6ef3 100644
--- a/package/libnfnetlink/Makefile
+++ b/package/libnfnetlink/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= libnfnetlink
PKG_VERSION:= 1.0.1
-PKG_RELEASE:= 2
+PKG_RELEASE:= 3
PKG_MD5SUM:= 98927583d2016a9fb1936fed992e2c5e
PKG_DESCR:= low-level library for netfilter related kernel/userspace communication
PKG_SECTION:= libs
diff --git a/package/libnfnetlink/patches/patch-include_libnfnetlink_linux_nfnetlink_compat_h b/package/libnfnetlink/patches/patch-include_libnfnetlink_linux_nfnetlink_compat_h
new file mode 100644
index 000000000..9ea8016a3
--- /dev/null
+++ b/package/libnfnetlink/patches/patch-include_libnfnetlink_linux_nfnetlink_compat_h
@@ -0,0 +1,13 @@
+--- libnfnetlink-1.0.1.orig/include/libnfnetlink/linux_nfnetlink_compat.h 2008-06-18 14:36:57.000000000 +0200
++++ libnfnetlink-1.0.1/include/libnfnetlink/linux_nfnetlink_compat.h 2014-04-05 09:33:12.251169468 +0200
+@@ -20,8 +20,8 @@
+
+ struct nfattr
+ {
+- u_int16_t nfa_len;
+- u_int16_t nfa_type; /* we use 15 bits for the type, and the highest
++ uint16_t nfa_len;
++ uint16_t nfa_type; /* we use 15 bits for the type, and the highest
+ * bit to indicate whether the payload is nested */
+ };
+
diff --git a/package/libnfnetlink/patches/patch-include_libnfnetlink_linux_nfnetlink_h b/package/libnfnetlink/patches/patch-include_libnfnetlink_linux_nfnetlink_h
new file mode 100644
index 000000000..9f89c6f55
--- /dev/null
+++ b/package/libnfnetlink/patches/patch-include_libnfnetlink_linux_nfnetlink_h
@@ -0,0 +1,33 @@
+--- libnfnetlink-1.0.1.orig/include/libnfnetlink/linux_nfnetlink.h 2008-06-18 14:36:57.000000000 +0200
++++ libnfnetlink-1.0.1/include/libnfnetlink/linux_nfnetlink.h 2014-04-05 09:34:31.863222315 +0200
+@@ -25,9 +25,9 @@ enum nfnetlink_groups {
+ /* General form of address family dependent message.
+ */
+ struct nfgenmsg {
+- u_int8_t nfgen_family; /* AF_xxx */
+- u_int8_t version; /* nfnetlink version */
+- u_int16_t res_id; /* resource id */
++ uint8_t nfgen_family; /* AF_xxx */
++ uint8_t version; /* nfnetlink version */
++ uint16_t res_id; /* resource id */
+ };
+
+ #define NFNETLINK_V0 0
+@@ -59,7 +59,7 @@ struct nfnl_callback
+ int (*call)(struct sock *nl, struct sk_buff *skb,
+ struct nlmsghdr *nlh, struct nlattr *cda[]);
+ const struct nla_policy *policy; /* netlink attribute policy */
+- const u_int16_t attr_count; /* number of nlattr's */
++ const uint16_t attr_count; /* number of nlattr's */
+ };
+
+ struct nfnetlink_subsystem
+@@ -76,7 +76,7 @@ extern int nfnetlink_subsys_unregister(c
+ extern int nfnetlink_has_listeners(unsigned int group);
+ extern int nfnetlink_send(struct sk_buff *skb, u32 pid, unsigned group,
+ int echo);
+-extern int nfnetlink_unicast(struct sk_buff *skb, u_int32_t pid, int flags);
++extern int nfnetlink_unicast(struct sk_buff *skb, uint32_t pid, int flags);
+
+ #define MODULE_ALIAS_NFNL_SUBSYS(subsys) \
+ MODULE_ALIAS("nfnetlink-subsys-" __stringify(subsys))
diff --git a/package/libnfs/Makefile b/package/libnfs/Makefile
index 2ad21801f..6a6b9e69f 100644
--- a/package/libnfs/Makefile
+++ b/package/libnfs/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= libnfs
-PKG_VERSION:= 1.8.0
+PKG_VERSION:= 1.9.3
PKG_RELEASE:= 1
-PKG_MD5SUM:= 0f20c7c104aa2e2ee563169b7e164aab
+PKG_MD5SUM:= a07656eeca58ad8d4870da546745628a
PKG_DESCR:= NFS client library
PKG_SECTION:= libs
PKG_BUILDDEP:= autotool
diff --git a/package/mysql/Makefile b/package/mysql/Makefile
index 365dea844..4c8b0e919 100644
--- a/package/mysql/Makefile
+++ b/package/mysql/Makefile
@@ -4,91 +4,75 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= mysql
-PKG_VERSION:= 5.1.61
-PKG_RELEASE:= 2
-PKG_MD5SUM:= 4efd10c69c4c99dbdb8fae3834a6d7b8
+PKG_VERSION:= 5.6.17
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 82114fa7c13fa3ca897b34666577d9f4
PKG_DESCR:= MySQL client library
PKG_SECTION:= db
PKG_DEPENDS:= libncurses zlib
-PKG_BUILDDEP:= ncurses zlib readline
+PKG_BUILDDEP:= cmake-host mysql-host ncurses zlib readline
+HOST_BUILDDEP:= cmake-host
PKG_URL:= http://www.mysql.com/
-PKG_SITES= ${MASTER_SITE_MYSQL:=Downloads/MySQL-5.1/}
+PKG_SITES= ${MASTER_SITE_MYSQL:=Downloads/MySQL-5.6/}
PKG_LIBNAME:= libmysqlclient
PKG_OPTS:= dev
-PKG_HOST_DEPENDS:= !cygwin
-
+include ${TOPDIR}/mk/host.mk
include ${TOPDIR}/mk/package.mk
+$(eval $(call HOST_template,MYSQL,mysql,${PKG_VERSION}-${PKG_RELEASE}))
$(eval $(call PKG_template,LIBMYSQLCLIENT,libmysqlclient,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-BUILD_STYLE:= manual
-INSTALL_STYLE:= manual
+HOST_STYLE:= manual
+CONFIG_STYLE:= manual
+
+host-configure:
+ cd ${WRKBUILD} && PATH='${HOST_PATH}' \
+ cmake .
+
+host-build:
+ cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
+ ${HOST_MAKE_FLAGS} ${HOST_ALL_TARGET} $(MAKE_TRACE)
-CONFIGURE_ENV+= OPTIMIZE_CFLAGS="${TARGET_CFLAGS}" \
- OPTIMIZE_CXXFLAGS="${TARGET_CXXFLAGS}" \
- ac_cv_lib_nsl_gethostbyname_r=no \
- ac_cv_lib_nsl_yp_get_default_domain=no \
- ac_cv_sys_restartable_syscalls=yes \
- mysql_cv_sys_os=Linux \
- mysql_cv_compress=yes \
- ac_cv_sys_restartable_syscalls=no \
- ac_cv_conv_longlong_to_float=yes \
- mysql_cv_gcc_atomic_builtins=yes \
- mysql_cv_gethostname_style=glibc2
-CONFIGURE_ARGS+= --disable-assembler \
- --with-pthread \
- --with-atomic-ops=rwlocks \
- --with-unix-socket-path=/tmp/.mysql.sock \
- --with-named-thread-libs=-lpthread \
- --without-libwrap \
- --without-pstack \
- --with-low-memory \
- --without-server \
- --without-embedded-server \
- --without-query-cache \
- --without-ssl \
- --without-docs \
- --without-readline \
- --with-machine-type=${CPU_ARCH}
-BUILD_LFLAGS= CC="${CC_FOR_BUILD}" \
- CXX='${CXX_FOR_BUILD}' \
- CFLAGS='${CFLAGS_FOR_BUILD} -DHOSTCOMPILE=1' \
- CXXFLAGS='${CXXFLAGS_FOR_BUILD}' \
- LDFLAGS='${LDFLAGS_FOR_BUILD}' \
- CPPFLAGS='${CPPFLAGS_FOR_BUILD}' \
- CXXLINK='${CXX_FOR_BUILD} ${CFLAGS_FOR_BUILD} ${LDFLAGS_FOR_BUILD} -o $$@' \
- LINK='${CC_FOR_BUILD} ${CFLAGS_FOR_BUILD} ${LDFLAGS_FOR_BUILD} -o $$@'
-ifneq (${OStype},Linux)
-BUILD_FLAGS+= LIBS='-lm -lz'
-endif
+mysql-hostinstall:
+ $(INSTALL_BIN) ${WRKBUILD}/extra/comp_err \
+ $(STAGING_HOST_DIR)/usr/bin
+ $(INSTALL_BIN) ${WRKBUILD}/scripts/comp_sql \
+ $(STAGING_HOST_DIR)/usr/bin
+ $(INSTALL_BIN) ${WRKBUILD}/sql/gen_lex_hash \
+ $(STAGING_HOST_DIR)/usr/bin
+ $(INSTALL_BIN) ${WRKBUILD}/storage/perfschema/gen_pfs_lex_token \
+ $(STAGING_HOST_DIR)/usr/bin
-do-build:
- ${MAKE} -C "${WRKBUILD}" \
- SUBDIRS="include" \
- DESTDIR="${WRKINST}" \
- all install
- ${MAKE} -C "${WRKBUILD}/libmysql" \
- LINK="${CC_FOR_BUILD} -o conf_to_src -lc" \
- ${BUILD_FLAGS} \
- conf_to_src
- ${MAKE} -C "${WRKBUILD}" \
- CFLAGS="${TARGET_CFLAGS}" \
- SUBDIRS="libmysql" \
- DESTDIR="${WRKINST}" \
- all install
- ${MAKE} -C "${WRKBUILD}" \
- CFLAGS="${TARGET_CFLAGS}" \
- SUBDIRS="scripts" \
- DESTDIR="${WRKINST}" \
- bin_SCRIPTS="mysql_config" \
- all install
+do-configure:
+ sed -e "s#@@TARGET_CC@@#$(TARGET_CC)#" \
+ -e "s#@@TARGET_CXX@@#$(TARGET_CXX)#" \
+ -e "s#@@TARGET_CFLAGS@@#$(TARGET_CFLAGS)#" \
+ -e "s#@@TARGET_CXXFLAGS@@#$(TARGET_CXXFLAGS)#" \
+ -e "s#@@STAGING_TARGET_DIR@@#$(STAGING_TARGET_DIR)#" \
+ -e "s#@@STAGING_HOST_DIR@@#$(STAGING_HOST_DIR)#" \
+ $(SCRIPT_DIR)/toolchain.cmake.in > $(SCRIPT_DIR)/toolchain.cmake
+ (cd ${WRKBUILD} && PATH='${HOST_PATH}' \
+ cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+ -DCMAKE_TOOLCHAIN_FILE="$(SCRIPT_DIR)/toolchain.cmake" \
+ -DWITH_EDITLINE=bundled \
+ -DCURSES_LIBRARY="$(STAGING_TARGET_DIR)/usr/lib" \
+ -DCURSES_INCLUDE_PATH="$(STAGING_TARGET_DIR)/usr/lib" \
+ -DSTACK_DIRECTION=1 \
+ .)
+ $(CP) $(STAGING_HOST_DIR)/usr/bin/comp_err \
+ ${WRKBUILD}/extra/
+ $(CP) $(STAGING_HOST_DIR)/usr/bin/comp_sql \
+ ${WRKBUILD}/scripts/
+ $(CP) $(STAGING_HOST_DIR)/usr/bin/gen_lex_hash \
+ ${WRKBUILD}/sql/
+ $(CP) $(STAGING_HOST_DIR)/usr/bin/gen_pfs_lex_token \
+ ${WRKBUILD}/storage/perfschema/
libmysqlclient-install:
${INSTALL_DIR} ${IDIR_LIBMYSQLCLIENT}/usr/lib
- ${CP} ${WRKINST}/usr/lib/mysql/libmysqlclient.so* \
+ ${CP} ${WRKINST}/usr/lib/libmysqlclient.so* \
${IDIR_LIBMYSQLCLIENT}/usr/lib
- $(SED) "s,\(^pkgincludedir='\)\(.*\),\1${STAGING_TARGET_DIR}\2," \
- ${WRKINST}/usr/bin/mysql_config
+include ${TOPDIR}/mk/host-bottom.mk
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/mysql/patches/patch-cmake_os_Linux_cmake b/package/mysql/patches/patch-cmake_os_Linux_cmake
new file mode 100644
index 000000000..be27d5517
--- /dev/null
+++ b/package/mysql/patches/patch-cmake_os_Linux_cmake
@@ -0,0 +1,17 @@
+--- mysql-5.6.17.orig/cmake/os/Linux.cmake 2014-03-14 20:07:26.000000000 +0100
++++ mysql-5.6.17/cmake/os/Linux.cmake 2014-04-04 10:11:45.000000000 +0200
+@@ -23,14 +23,6 @@ SET(TARGET_OS_LINUX 1)
+ SET(HAVE_NPTL 1)
+ SET(_GNU_SOURCE 1)
+
+-# Fix CMake (< 2.8) flags. -rdynamic exports too many symbols.
+-FOREACH(LANG C CXX)
+- STRING(REPLACE "-rdynamic" ""
+- CMAKE_SHARED_LIBRARY_LINK_${LANG}_FLAGS
+- ${CMAKE_SHARED_LIBRARY_LINK_${LANG}_FLAGS}
+- )
+-ENDFOREACH()
+-
+ # Ensure we have clean build for shared libraries
+ # without unresolved symbols
+ # Not supported with AddressSanitizer
diff --git a/package/mysql/patches/patch-cmd-line-utils_libedit_chartype_h b/package/mysql/patches/patch-cmd-line-utils_libedit_chartype_h
new file mode 100644
index 000000000..73ece9904
--- /dev/null
+++ b/package/mysql/patches/patch-cmd-line-utils_libedit_chartype_h
@@ -0,0 +1,22 @@
+--- mysql-5.6.17.orig/cmd-line-utils/libedit/chartype.h 2014-03-14 20:07:26.000000000 +0100
++++ mysql-5.6.17/cmd-line-utils/libedit/chartype.h 2014-04-05 06:38:33.000000000 +0200
+@@ -45,19 +45,6 @@
+ * seems to actually advertise this properly, despite Unicode 3.1 having
+ * been around since 2001... */
+
+-/* XXXMYSQL : Added FreeBSD & AIX to bypass this check.
+- TODO : Verify if FreeBSD & AIX stores ISO 10646 in wchar_t. */
+-#if !defined(__NetBSD__) && !defined(__sun) \
+- && !(defined(__APPLE__) && defined(__MACH__)) \
+- && !defined(__FreeBSD__) && !defined(_AIX)
+-#ifndef __STDC_ISO_10646__
+-/* In many places it is assumed that the first 127 code points are ASCII
+- * compatible, so ensure wchar_t indeed does ISO 10646 and not some other
+- * funky encoding that could break us in weird and wonderful ways. */
+- #error wchar_t must store ISO 10646 characters
+-#endif
+-#endif
+-
+ /* Oh for a <uchar.h> with char32_t and __STDC_UTF_32__ in it...
+ * ref: ISO/IEC DTR 19769
+ */
diff --git a/package/mysql/patches/patch-configure b/package/mysql/patches/patch-configure
deleted file mode 100644
index 853c31f7f..000000000
--- a/package/mysql/patches/patch-configure
+++ /dev/null
@@ -1,365 +0,0 @@
---- mysql-5.1.48.orig/configure 2010-06-03 17:54:47.000000000 +0200
-+++ mysql-5.1.48/configure 2011-01-15 12:58:47.000000000 +0100
-@@ -19764,15 +19764,6 @@ fi
-
-
-
--# Enable the abi_check rule only if gcc is available
--
--if test "$GCC" != "yes" || expr "$CC" : ".*icc.*"
--then
-- ABI_CHECK=""
--else
-- ABI_CHECK="abi_check"
--fi
--
-
-
- # Look for PS usage. We use double dollar-signs in FIND_PROC because this
-@@ -19825,45 +19816,7 @@ fi
- $as_echo_n "checking \"how to check if pid exists\"... " >&6; }
- PS=$ac_cv_path_PS
- # Linux style
--if $PS wwwp $$ 2> /dev/null | grep -- "$0" > /dev/null
--then
-- FIND_PROC="$PS wwwp \$\$PID | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" > /dev/null"
--# Solaris
--elif $PS -fp $$ 2> /dev/null | grep -- $0 > /dev/null
--then
-- FIND_PROC="$PS -p \$\$PID | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" > /dev/null"
--# BSD style
--elif $PS -uaxww 2> /dev/null | grep -- $0 > /dev/null
--then
-- FIND_PROC="$PS -uaxww | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" | grep \" \$\$PID \" > /dev/null"
--# SysV style
--elif $PS -ef 2> /dev/null | grep -- $0 > /dev/null
--then
-- FIND_PROC="$PS -ef | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" | grep \" \$\$PID \" > /dev/null"
--# Do anybody use this?
--elif $PS $$ 2> /dev/null | grep -- $0 > /dev/null
--then
-- FIND_PROC="$PS \$\$PID | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" > /dev/null"
--else
-- case $SYSTEM_TYPE in
-- *freebsd*|*dragonfly*)
-- FIND_PROC="$PS p \$\$PID | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" > /dev/null"
-- ;;
-- *darwin*)
-- FIND_PROC="$PS -uaxww | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" | grep \" \$\$PID \" > /dev/null"
-- ;;
-- *cygwin*)
-- FIND_PROC="$PS -e | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" | grep \" \$\$PID \" > /dev/null"
-- ;;
-- *netware*)
-- FIND_PROC=
-- ;;
-- *)
-- { { $as_echo "$as_me:$LINENO: error: Could not find the right ps and/or grep switches. Which OS is this? See the Installation chapter in the Reference Manual." >&5
--$as_echo "$as_me: error: Could not find the right ps and/or grep switches. Which OS is this? See the Installation chapter in the Reference Manual." >&2;}
-- { (exit 1); exit 1; }; }
-- esac
--fi
-+FIND_PROC="$PS wwwp \$\$PID | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" > /dev/null"
-
- { $as_echo "$as_me:$LINENO: result: \"$FIND_PROC\"" >&5
- $as_echo "\"$FIND_PROC\"" >&6; }
-@@ -48273,197 +48226,14 @@ $as_echo "$as_me: error: unknown endiann
- esac
-
-
-- { $as_echo "$as_me:$LINENO: checking whether GCC atomic builtins are available" >&5
--$as_echo_n "checking whether GCC atomic builtins are available... " >&6; }
-- # either define HAVE_IB_GCC_ATOMIC_BUILTINS or not
-- if test "$cross_compiling" = yes; then
-- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
--$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
--{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
--See \`config.log' for more details." >&5
--$as_echo "$as_me: error: cannot run test program while cross compiling
--See \`config.log' for more details." >&2;}
-- { (exit 1); exit 1; }; }; }
--else
-- cat >conftest.$ac_ext <<_ACEOF
--/* confdefs.h. */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h. */
--
-- int main()
-- {
-- long x;
-- long y;
-- long res;
-- char c;
--
-- x = 10;
-- y = 123;
-- res = __sync_bool_compare_and_swap(&x, x, y);
-- if (!res || x != y) {
-- return(1);
-- }
--
-- x = 10;
-- y = 123;
-- res = __sync_bool_compare_and_swap(&x, x + 1, y);
-- if (res || x != 10) {
-- return(1);
-- }
--
-- x = 10;
-- y = 123;
-- res = __sync_add_and_fetch(&x, y);
-- if (res != 123 + 10 || x != 123 + 10) {
-- return(1);
-- }
--
-- c = 10;
-- res = __sync_lock_test_and_set(&c, 123);
-- if (res != 10 || c != 123) {
-- return(1);
-- }
--
-- return(0);
-- }
--
--_ACEOF
--rm -f conftest$ac_exeext
--if { (ac_try="$ac_link"
--case "(($ac_try" in
-- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-- *) ac_try_echo=$ac_try;;
--esac
--eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
--$as_echo "$ac_try_echo") >&5
-- (eval "$ac_link") 2>&5
-- ac_status=$?
-- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-- { (case "(($ac_try" in
-- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-- *) ac_try_echo=$ac_try;;
--esac
--eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
--$as_echo "$ac_try_echo") >&5
-- (eval "$ac_try") 2>&5
-- ac_status=$?
-- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); }; }; then
--
--
- cat >>confdefs.h <<\_ACEOF
- #define HAVE_IB_GCC_ATOMIC_BUILTINS 1
- _ACEOF
-
-- { $as_echo "$as_me:$LINENO: result: yes" >&5
--$as_echo "yes" >&6; }
--
--else
-- $as_echo "$as_me: program exited with status $ac_status" >&5
--$as_echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--( exit $ac_status )
--
-- { $as_echo "$as_me:$LINENO: result: no" >&5
--$as_echo "no" >&6; }
--
--
--fi
--rm -rf conftest.dSYM
--rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
--fi
--
--
--
-- { $as_echo "$as_me:$LINENO: checking whether pthread_t can be used by GCC atomic builtins" >&5
--$as_echo_n "checking whether pthread_t can be used by GCC atomic builtins... " >&6; }
-- # either define HAVE_IB_ATOMIC_PTHREAD_T_GCC or not
-- if test "$cross_compiling" = yes; then
-- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
--$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
--{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
--See \`config.log' for more details." >&5
--$as_echo "$as_me: error: cannot run test program while cross compiling
--See \`config.log' for more details." >&2;}
-- { (exit 1); exit 1; }; }; }
--else
-- cat >conftest.$ac_ext <<_ACEOF
--/* confdefs.h. */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h. */
--
-- #include <pthread.h>
-- #include <string.h>
--
-- int main(int argc, char** argv) {
-- pthread_t x1;
-- pthread_t x2;
-- pthread_t x3;
--
-- memset(&x1, 0x0, sizeof(x1));
-- memset(&x2, 0x0, sizeof(x2));
-- memset(&x3, 0x0, sizeof(x3));
--
-- __sync_bool_compare_and_swap(&x1, x2, x3);
--
-- return(0);
-- }
--
--_ACEOF
--rm -f conftest$ac_exeext
--if { (ac_try="$ac_link"
--case "(($ac_try" in
-- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-- *) ac_try_echo=$ac_try;;
--esac
--eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
--$as_echo "$ac_try_echo") >&5
-- (eval "$ac_link") 2>&5
-- ac_status=$?
-- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-- { (case "(($ac_try" in
-- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-- *) ac_try_echo=$ac_try;;
--esac
--eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
--$as_echo "$ac_try_echo") >&5
-- (eval "$ac_try") 2>&5
-- ac_status=$?
-- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); }; }; then
--
--
- cat >>confdefs.h <<\_ACEOF
- #define HAVE_IB_ATOMIC_PTHREAD_T_GCC 1
- _ACEOF
-
-- { $as_echo "$as_me:$LINENO: result: yes" >&5
--$as_echo "yes" >&6; }
--
--else
-- $as_echo "$as_me: program exited with status $ac_status" >&5
--$as_echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--( exit $ac_status )
--
-- { $as_echo "$as_me:$LINENO: result: no" >&5
--$as_echo "no" >&6; }
--
--
--fi
--rm -rf conftest.dSYM
--rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
--fi
--
--
-
- { $as_echo "$as_me:$LINENO: checking whether Solaris libc atomic functions are available" >&5
- $as_echo_n "checking whether Solaris libc atomic functions are available... " >&6; }
-@@ -48581,101 +48351,6 @@ fi
- done
-
-
-- { $as_echo "$as_me:$LINENO: checking whether pthread_t can be used by Solaris libc atomic functions" >&5
--$as_echo_n "checking whether pthread_t can be used by Solaris libc atomic functions... " >&6; }
-- # either define HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS or not
-- if test "$cross_compiling" = yes; then
-- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
--$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
--{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
--See \`config.log' for more details." >&5
--$as_echo "$as_me: error: cannot run test program while cross compiling
--See \`config.log' for more details." >&2;}
-- { (exit 1); exit 1; }; }; }
--else
-- cat >conftest.$ac_ext <<_ACEOF
--/* confdefs.h. */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h. */
--
-- #include <pthread.h>
-- #include <string.h>
--
-- int main(int argc, char** argv) {
-- pthread_t x1;
-- pthread_t x2;
-- pthread_t x3;
--
-- memset(&x1, 0x0, sizeof(x1));
-- memset(&x2, 0x0, sizeof(x2));
-- memset(&x3, 0x0, sizeof(x3));
--
-- if (sizeof(pthread_t) == 4) {
--
-- atomic_cas_32(&x1, x2, x3);
--
-- } else if (sizeof(pthread_t) == 8) {
--
-- atomic_cas_64(&x1, x2, x3);
--
-- } else {
--
-- return(1);
-- }
--
-- return(0);
-- }
--
--_ACEOF
--rm -f conftest$ac_exeext
--if { (ac_try="$ac_link"
--case "(($ac_try" in
-- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-- *) ac_try_echo=$ac_try;;
--esac
--eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
--$as_echo "$ac_try_echo") >&5
-- (eval "$ac_link") 2>&5
-- ac_status=$?
-- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-- { (case "(($ac_try" in
-- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-- *) ac_try_echo=$ac_try;;
--esac
--eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
--$as_echo "$ac_try_echo") >&5
-- (eval "$ac_try") 2>&5
-- ac_status=$?
-- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); }; }; then
--
--
--cat >>confdefs.h <<\_ACEOF
--#define HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS 1
--_ACEOF
--
-- { $as_echo "$as_me:$LINENO: result: yes" >&5
--$as_echo "yes" >&6; }
--
--else
-- $as_echo "$as_me: program exited with status $ac_status" >&5
--$as_echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--( exit $ac_status )
--
-- { $as_echo "$as_me:$LINENO: result: no" >&5
--$as_echo "no" >&6; }
--
--
--fi
--rm -rf conftest.dSYM
--rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
--fi
--
-
-
- # this is needed to know which one of atomic_cas_32() or atomic_cas_64()
diff --git a/package/mysql/patches/patch-include_config_h_in b/package/mysql/patches/patch-include_config_h_in
deleted file mode 100644
index d9b28c419..000000000
--- a/package/mysql/patches/patch-include_config_h_in
+++ /dev/null
@@ -1,21 +0,0 @@
---- mysql-5.1.48.orig/include/config.h.in 2010-06-03 17:54:04.000000000 +0200
-+++ mysql-5.1.48/include/config.h.in 2011-01-21 00:08:19.737408555 +0100
-@@ -856,7 +856,7 @@
- /* Define to 1 if you have the `strtoull' function. */
- #undef HAVE_STRTOULL
-
--/* Define to 1 if `st_rdev' is member of `struct stat'. */
-+/* Define to 1 if `struct stat' is a member of `st_rdev'. */
- #undef HAVE_STRUCT_STAT_ST_RDEV
-
- /* Define to 1 if your `struct stat' has `st_rdev'. Deprecated, use
-@@ -1151,6 +1151,9 @@
- /* Define to the one symbol short name of this package. */
- #undef PACKAGE_TARNAME
-
-+/* Define to the home page for this package. */
-+#undef PACKAGE_URL
-+
- /* Define to the version of this package. */
- #undef PACKAGE_VERSION
-
diff --git a/package/mysql/patches/patch-include_my_global_h b/package/mysql/patches/patch-include_my_global_h
deleted file mode 100644
index 847554aae..000000000
--- a/package/mysql/patches/patch-include_my_global_h
+++ /dev/null
@@ -1,54 +0,0 @@
---- mysql-5.1.48.orig/include/my_global.h 2010-06-03 17:50:27.000000000 +0200
-+++ mysql-5.1.48/include/my_global.h 2010-07-12 22:51:23.369609493 +0200
-@@ -18,6 +18,8 @@
- #ifndef _global_h
- #define _global_h
-
-+#include <sys/param.h>
-+
- /*
- InnoDB depends on some MySQL internals which other plugins should not
- need. This is because of InnoDB's foreign key support, "safe" binlog
-@@ -428,7 +430,7 @@ C_MODE_END
- #ifdef HAVE_FLOAT_H
- #include <float.h>
- #endif
--#ifdef HAVE_FENV_H
-+#if defined(HAVE_FENV_H) && !defined(BSD)
- #include <fenv.h> /* For fesetround() */
- #endif
-
-@@ -458,15 +460,20 @@ C_MODE_END
- #undef HAVE_ALLOCA
- #undef HAVE_ALLOCA_H
- #endif
--#ifdef HAVE_ALLOCA_H
-+#if defined(HAVE_ALLOCA_H) && !defined(BSD)
- #include <alloca.h>
- #endif
-
- #include <errno.h> /* Recommended by debian */
- /* We need the following to go around a problem with openssl on solaris */
-+#ifdef BSD
-+#include <pwd.h>
-+#include <unistd.h>
-+#else
- #if defined(HAVE_CRYPT_H)
- #include <crypt.h>
- #endif
-+#endif
-
- /*
- A lot of our programs uses asserts, so better to always include it
-@@ -883,9 +890,11 @@ typedef SOCKET_SIZE_TYPE size_socket;
- #endif /* HAVE_FINITE */
- #endif /* isfinite */
-
-+/*
- #ifndef HAVE_ISNAN
- #define isnan(x) ((x) != (x))
- #endif
-+*/
-
- #ifdef HAVE_ISINF
- /* Check if C compiler is affected by GCC bug #39228 */
diff --git a/package/mysql/patches/patch-ltmain_sh b/package/mysql/patches/patch-ltmain_sh
deleted file mode 100644
index c5cb790cf..000000000
--- a/package/mysql/patches/patch-ltmain_sh
+++ /dev/null
@@ -1,11 +0,0 @@
---- mysql-5.1.48.orig/ltmain.sh 2010-06-03 17:54:04.000000000 +0200
-+++ mysql-5.1.48/ltmain.sh 2011-01-15 13:03:34.000000000 +0100
-@@ -4765,7 +4765,7 @@ func_mode_link ()
- # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
- # @file GCC response files
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
-+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-fstack-protector*|-flto)
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- func_append compile_command " $arg"
diff --git a/package/mysql/patches/patch-scripts_mysql_config_sh b/package/mysql/patches/patch-scripts_mysql_config_sh
deleted file mode 100644
index 3e1833199..000000000
--- a/package/mysql/patches/patch-scripts_mysql_config_sh
+++ /dev/null
@@ -1,11 +0,0 @@
---- mysql-5.1.48.orig/scripts/mysql_config.sh 2010-06-03 17:50:21.000000000 +0200
-+++ mysql-5.1.48/scripts/mysql_config.sh 2011-01-21 00:32:53.596454498 +0100
-@@ -119,7 +119,7 @@ if [ -r "$pkglibdir/libmygcc.a" ]; then
- embedded_libs="$embedded_libs -lmygcc "
- fi
-
--cflags="-I$pkgincludedir @CFLAGS@ " #note: end space!
-+cflags="-I$pkgincludedir" #note: end space!
- include="-I$pkgincludedir"
-
- # Remove some options that a client doesn't have to care about
diff --git a/package/mysql/patches/patch-sql_sql_builtin_cc b/package/mysql/patches/patch-sql_sql_builtin_cc
deleted file mode 100644
index 785ae0024..000000000
--- a/package/mysql/patches/patch-sql_sql_builtin_cc
+++ /dev/null
@@ -1,15 +0,0 @@
---- mysql-5.1.48.orig/sql/sql_builtin.cc 2010-06-03 17:57:58.000000000 +0200
-+++ mysql-5.1.48/sql/sql_builtin.cc 2010-07-12 22:52:33.577118523 +0200
-@@ -18,10 +18,10 @@
- typedef struct st_mysql_plugin builtin_plugin[];
-
- extern builtin_plugin
-- builtin_binlog_plugin, builtin_partition_plugin, builtin_csv_plugin, builtin_heap_plugin, builtin_myisam_plugin, builtin_myisammrg_plugin, builtin_ndbcluster_plugin;
-+ builtin_binlog_plugin, builtin_csv_plugin, builtin_heap_plugin, builtin_myisam_plugin, builtin_myisammrg_plugin;
-
- struct st_mysql_plugin *mysqld_builtins[]=
- {
-- builtin_binlog_plugin, builtin_partition_plugin, builtin_csv_plugin, builtin_heap_plugin, builtin_myisam_plugin, builtin_myisammrg_plugin, builtin_ndbcluster_plugin,(struct st_mysql_plugin *)0
-+ builtin_binlog_plugin, builtin_csv_plugin, builtin_heap_plugin, builtin_myisam_plugin, builtin_myisammrg_plugin,(struct st_mysql_plugin *)0
- };
-
diff --git a/package/nasm/Makefile b/package/nasm/Makefile
index 39e451a70..656970558 100644
--- a/package/nasm/Makefile
+++ b/package/nasm/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= nasm
-PKG_VERSION:= 2.11
+PKG_VERSION:= 2.11.02
PKG_RELEASE:= 1
-PKG_MD5SUM:= a884450ee65201473af4d270bdc132f8
+PKG_MD5SUM:= 7d5408bf18aa1699ad6c17e5017f12c3
PKG_DESCR:= the netwide assembler
PKG_SECTION:= lang
PKG_BUILDDEP:= nasm-host
diff --git a/package/nginx/Makefile b/package/nginx/Makefile
index 98ba1bef8..25c413a25 100644
--- a/package/nginx/Makefile
+++ b/package/nginx/Makefile
@@ -4,10 +4,10 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= nginx
-PKG_VERSION:= 1.5.3
+PKG_VERSION:= 1.5.12
PKG_RELEASE:= 1
-PKG_MD5SUM:= 1e735dd6a6ade2b5c20e924b67c3d355
-PKG_DESCR:= powerful http reverse proxy
+PKG_MD5SUM:= c21589daaec0743d6d4cdf41503ffd53
+PKG_DESCR:= powerful http reverse proxy and webserver
PKG_SECTION:= proxy
PKG_BUILDDEP:= openssl pcre zlib
PKG_DEPENDS:= libopenssl libpcre libpthread zlib
diff --git a/package/openldap/Makefile b/package/openldap/Makefile
index 1e45c66f8..391b7a832 100644
--- a/package/openldap/Makefile
+++ b/package/openldap/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= openldap
-PKG_VERSION:= 2.4.36
+PKG_VERSION:= 2.4.39
PKG_RELEASE:= 1
-PKG_MD5SUM:= 744701405d396b1fb9de6cb7a453c6e9
+PKG_MD5SUM:= b0d5ee4b252c841dec6b332d679cf943
PKG_DESCR:= OpenLDAP client libraries
PKG_SECTION:= libs
PKG_DEPENDS:= libopenssl libsasl2 libdb libpthread libuuid
diff --git a/package/php/Makefile b/package/php/Makefile
index 0972517d5..b5cb01aac 100644
--- a/package/php/Makefile
+++ b/package/php/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= php
-PKG_VERSION:= 5.5.10
+PKG_VERSION:= 5.5.11
PKG_RELEASE:= 1
-PKG_MD5SUM:= e760656f7cf2f05158f73da75e8b720b
+PKG_MD5SUM:= 9156fcd4b254cbfa9a7535f931da29d5
PKG_DESCR:= PHP language interpreter
PKG_SECTION:= lang
PKG_DEPENDS:= libpthread librt libgcc
diff --git a/package/postgresql/Makefile b/package/postgresql/Makefile
index 34e75aea7..e1a101a4f 100644
--- a/package/postgresql/Makefile
+++ b/package/postgresql/Makefile
@@ -4,14 +4,14 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= postgresql
-PKG_VERSION:= 9.1.1
-PKG_RELEASE:= 2
-PKG_MD5SUM:= 93b293bd735bb99258c1bad7bc9b8f6c
+PKG_VERSION:= 9.3.4
+PKG_RELEASE:= 1
+PKG_MD5SUM:= d9be740a612f8a0b9ea61dd524abfa4c
PKG_DESCR:= PostgreSQL database library
PKG_SECTION:= db
PKG_BUILDDEP:= zlib
PKG_URL:= http://www.postgresql.org/
-PKG_SITES:= http://ftp.postgresql.org/pub/source/v9.1.1/
+PKG_SITES:= http://ftp.postgresql.org/pub/source/v9.3.4/
PKG_LIBNAME:= libpq
PKG_OPTS:= dev
diff --git a/package/samba/Makefile b/package/samba/Makefile
index 34cbeec8a..433aba3cd 100644
--- a/package/samba/Makefile
+++ b/package/samba/Makefile
@@ -20,6 +20,14 @@ PKGSS_SAMBA_CLIENT:= libreadline samba-lib
PKGSD_SAMBA_PASSWD:= SMB password utility
PKGSD_SAMBA_LIB:= SMB libraries
+PKG_FLAVOURS_SAMBA:= WITH_WINBIND WITH_LDAP
+PKGFD_WITH_WINBIND:= enable winbind support
+PKGFS_WITH_WINBIND:= libkrb5
+PKGFB_WITH_WINBIND:= krb5
+PKGFD_WITH_LDAP:= enable LDAP support
+PKGFS_WITH_LDAP:= libopenldap
+PKGFB_WITH_LDAP:= openldap
+
WRKSRC= ${WRKDIST}/source3
include ${TOPDIR}/mk/package.mk
@@ -29,9 +37,25 @@ $(eval $(call PKG_template,SAMBA_CLIENT,samba-client,${PKG_VERSION}-${PKG_RELEAS
$(eval $(call PKG_template,SAMBA_PASSWD,samba-passwd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_SAMBA_PASSWD},${PKG_SECTION}))
$(eval $(call PKG_template,SAMBA_LIB,samba-lib,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_SAMBA_LIB},${PKG_SECTION}))
-#TARGET_LDFLAGS+= -Wl,-rpath -Wl,/usr/lib/samba
+ifneq ($(ADK_PACKAGE_SAMBA_WITH_WINBIND),)
+CONFIGURE_ARGS+= --with-winbind \
+ --with-krb5="$(STAGING_TARGET_DIR)/usr"
+else
+CONFIGURE_ARGS+= --without-winbind
+endif
+
+ifneq ($(ADK_PACKAGE_SAMBA_WITH_LDAP),)
+CONFIGURE_ARGS+= --with-ldap
+else
+CONFIGURE_ARGS+= --with-ldap=no
+endif
+
CONFIGURE_ENV+= samba_cv_CC_NEGATIVE_ENUM_VALUES=no \
samba_cv_USE_SETRESUID=no \
+ samba_cv_HAVE_WRFILE_KEYTAB=yes \
+ ac_cv_func_ext_krb5_enctype_to_string=yes \
+ smb_krb5_cv_enctype_to_string_takes_krb5_context_arg=yes \
+ smb_krb5_cv_enctype_to_string_takes_size_t_arg=no \
ac_cv_lib_ext_nsl_connect=no \
ac_cv_search_yp_get_default_domain=no \
ac_cv_lib_ext_nsl_gethostbyname=no \
@@ -44,12 +68,10 @@ CONFIGURE_ARGS+= --libdir=/usr/lib \
--with-privatedir=/etc/samba \
--with-libiconv=/dev/null \
--with-syslog \
- --without-winbind \
--disable-cups \
--disable-swat \
--disable-avahi \
--with-utmp=no \
- --with-ldap=no \
--without-cluster-support \
--without-sendfile-support
diff --git a/package/uclibc/Makefile b/package/uclibc/Makefile
index d48e7552f..95c7bb94d 100644
--- a/package/uclibc/Makefile
+++ b/package/uclibc/Makefile
@@ -2,7 +2,7 @@
# material, please see the LICENCE file in the top-level directory.
include $(TOPDIR)/rules.mk
-include $(TOPDIR)/toolchain/uClibc/Makefile.inc
+include $(TOPDIR)/toolchain/uclibc/Makefile.inc
PKG_NAME:= uClibc
PKG_DESCR:= embedded C library
diff --git a/scripts/scan-tools.sh b/scripts/scan-tools.sh
index ee8d8a3ff..f513b5861 100644
--- a/scripts/scan-tools.sh
+++ b/scripts/scan-tools.sh
@@ -271,6 +271,12 @@ if ! which xz >/dev/null 2>&1; then
fi
# optional
+host_build_cdrtools=0
+if ! which mkisofs >/dev/null 2>&1; then
+ echo "No mkisofs found, will build one when required."
+ host_build_cdrtools=1
+fi
+
host_build_ccache=0
if ! which ccache >/dev/null 2>&1; then
echo "No ccache found, will build one when required."
@@ -316,6 +322,7 @@ if [ $host_build_findutils -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_F
if [ $host_build_xz -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_XZ" >> $topdir/target/config/Config.in.prereq ;fi
# optional
if [ $host_build_ccache -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_CCACHE if ADK_HOST_NEED_CCACHE" >> $topdir/target/config/Config.in.prereq ;fi
+if [ $host_build_cdrtools -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_CDRTOOLS if ADK_HOST_NEED_CDRTOOLS" >> $topdir/target/config/Config.in.prereq ;fi
if [ $host_build_genext2fs -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_GENEXT2FS if ADK_HOST_NEED_GENEXT2FS" >> $topdir/target/config/Config.in.prereq ;fi
if [ $host_build_lzma -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_LZMA if ADK_HOST_NEED_LZMA" >> $topdir/target/config/Config.in.prereq ;fi
if [ $host_build_lzop -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_LZOP if ADK_HOST_NEED_LZOP" >> $topdir/target/config/Config.in.prereq ;fi
diff --git a/scripts/toolchain.cmake.in b/scripts/toolchain.cmake.in
new file mode 100644
index 000000000..150bfcb27
--- /dev/null
+++ b/scripts/toolchain.cmake.in
@@ -0,0 +1,10 @@
+set(CMAKE_SYSTEM_NAME Linux)
+set(CMAKE_C_COMPILER @@TARGET_CC@@)
+set(CMAKE_CXX_COMPILER @@TARGET_CXX@@)
+set(CMAKE_INSTALL_SO_NO_EXE 0)
+set(CMAKE_PROGRAM_PATH \"@@STAGING_HOST_DIR@@/usr/bin\")
+set(CMAKE_FIND_ROOT_PATH \"@@STAGING_TARGET_DIR@@\")
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+set(ENV{PKG_CONFIG_SYSROOT_DIR} \"@@STAGING_TARGET_DIR@@\")
diff --git a/target/config/Config.in.tools b/target/config/Config.in.tools
index f95a4508b..b3e900bb3 100644
--- a/target/config/Config.in.tools
+++ b/target/config/Config.in.tools
@@ -105,15 +105,16 @@ config ADK_HOST_BUILD_QEMU
boolean
default n
-config ADK_HOST_NEED_SYSLINUX
+# optional, must be used from OpenADK
+config ADK_HOST_NEED_MKIMAGE
boolean
default n
-config ADK_HOST_BUILD_SYSLINUX
+config ADK_HOST_BUILD_MKIMAGE
boolean
+ default y if ADK_HOST_NEED_MKIMAGE
default n
-# optional, must be used from OpenADK
config ADK_HOST_NEED_MTD_UTILS
boolean
default n
@@ -132,13 +133,13 @@ config ADK_HOST_BUILD_SQUASHFS
default y if ADK_HOST_NEED_SQUASHFS
default n
-config ADK_HOST_NEED_MKIMAGE
+config ADK_HOST_NEED_SYSLINUX
boolean
default n
-config ADK_HOST_BUILD_MKIMAGE
+config ADK_HOST_BUILD_SYSLINUX
boolean
- default y if ADK_HOST_NEED_MKIMAGE
+ default y if ADK_HOST_NEED_SYSLINUX
default n
config ADK_HOST_BUILD_PCRE
diff --git a/target/linux/config/Config.in.flash b/target/linux/config/Config.in.flash
index dda8ad4c9..d35f1c866 100644
--- a/target/linux/config/Config.in.flash
+++ b/target/linux/config/Config.in.flash
@@ -87,7 +87,6 @@ config ADK_KERNEL_MTD_OF_PARTS
default n
config ADK_KERNEL_MTD_M25P80
- select ADK_KERNEL_BLOCK
select ADK_KERNEL_MTD
select ADK_KERNEL_MTD_PARTITIONS
select ADK_KERNEL_MTD_CHAR
@@ -113,7 +112,6 @@ config ADK_KERNEL_MTD_AR2315
config ADK_TARGET_NAND
boolean
- select ADK_KERNEL_BLOCK
select ADK_KERNEL_MISC_FILESYSTEMS
select ADK_KERNEL_YAFFS_FS
select ADK_KERNEL_YAFFS_YAFFS2
@@ -130,7 +128,6 @@ config ADK_TARGET_NAND
config ADK_TARGET_MTD
boolean
- select ADK_KERNEL_BLOCK
select ADK_KERNEL_MISC_FILESYSTEMS
select ADK_KERNEL_JFFS2_FS
select ADK_KERNEL_MTD
diff --git a/target/linux/config/Config.in.fs b/target/linux/config/Config.in.fs
index 5ebf38794..69af555c8 100644
--- a/target/linux/config/Config.in.fs
+++ b/target/linux/config/Config.in.fs
@@ -80,7 +80,6 @@ config ADK_KPACKAGE_KMOD_EXT2_FS
tristate
default n
depends on !ADK_KERNEL_EXT2_FS
- select ADK_KERNEL_BLOCK
help
Ext2 is a standard Linux file system for hard disks.
@@ -98,7 +97,6 @@ config ADK_KPACKAGE_KMOD_EXT3_FS
tristate
select ADK_KPACKAGE_KMOD_FS_MBCACHE if !ADK_KERNEL_EXT4_FS
depends on !ADK_KERNEL_EXT3_FS
- select ADK_KERNEL_BLOCK
default n
help
This is the journalling version of the Second extended file system
@@ -136,7 +134,6 @@ config ADK_KPACKAGE_KMOD_EXT4_FS
select ADK_KPACKAGE_KMOD_FS_MBCACHE
select ADK_KPACKAGE_KMOD_CRC16
depends on !ADK_KERNEL_EXT4_FS
- select ADK_KERNEL_BLOCK
default n
help
Ext4 filesystem.
@@ -147,7 +144,6 @@ config ADK_KPACKAGE_KMOD_HFSPLUS_FS
select ADK_KPACKAGE_KMOD_NLS if !ADK_KERNEL_NLS
select ADK_KPACKAGE_KMOD_NLS_UTF8
select ADK_KERNEL_MISC_FILESYSTEMS
- select ADK_KERNEL_BLOCK
default n
help
If you say Y here, you will be able to mount extended format
@@ -162,7 +158,6 @@ config ADK_KPACKAGE_KMOD_NTFS_FS
prompt "kmod-fs-ntfs...................... NTFS file system support"
tristate
select ADK_KPACKAGE_KMOD_NLS if !ADK_KERNEL_NLS
- select ADK_KERNEL_BLOCK
default n
help
NTFS is the file system of Microsoft Windows NT, 2000, XP and 2003.
@@ -193,7 +188,6 @@ config ADK_KPACKAGE_KMOD_VFAT_FS
select ADK_KPACKAGE_KMOD_NLS if !ADK_KERNEL_NLS
select ADK_KPACKAGE_KMOD_NLS_CODEPAGE_850
select ADK_KPACKAGE_KMOD_NLS_ISO8859_1
- select ADK_KERNEL_BLOCK
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI
default n
help
@@ -217,7 +211,6 @@ config ADK_KPACKAGE_KMOD_XFS_FS
tristate
select ADK_KERNEL_EXPORTFS
select ADK_KPACKAGE_KMOD_CRYPTO_CRC32C
- select ADK_KERNEL_BLOCK
depends on !ADK_KERNEL_XFS_FS
default n
help
@@ -256,7 +249,6 @@ config ADK_KPACKAGE_KMOD_ISO9660_FS
prompt "kmod-fs-iso9660................... ISO 9660 CDROM file system support"
tristate
select ADK_KERNEL_JOLIET
- select ADK_KERNEL_BLOCK
default n
help
This is the standard file system used on CD-ROMs. It was previously
@@ -273,7 +265,6 @@ config ADK_KPACKAGE_KMOD_UDF_FS
prompt "kmod-fs-udf....................... UDF file system support"
tristate
select ADK_KPACKAGE_KMOD_CRC_ITU_T
- select ADK_KERNEL_BLOCK
default n
help
This is the new file system used on some CD-ROMs and DVDs. Say Y if
diff --git a/target/linux/config/Config.in.netdevice b/target/linux/config/Config.in.netdevice
index 62479c2cb..64bfb15f4 100644
--- a/target/linux/config/Config.in.netdevice
+++ b/target/linux/config/Config.in.netdevice
@@ -1,9 +1,6 @@
menu "Network devices support"
comment "Ethernet network driver for target system is included into kernel"
-config ADK_KERNEL_NETDEVICES
- boolean
-
config ADK_KERNEL_NET_ETHERNET
boolean
@@ -42,7 +39,6 @@ config ADK_KERNEL_ATH_CARDS
config ADK_KERNEL_CPMAC
boolean
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NET_PCI
select ADK_KERNEL_MII
@@ -52,7 +48,6 @@ config ADK_KERNEL_CPMAC
config ADK_KERNEL_MACB
boolean
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NET_PCI
select ADK_KERNEL_MII
@@ -63,7 +58,6 @@ config ADK_KERNEL_MACB
config ADK_KERNEL_PCNET32
boolean
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NET_PCI
select ADK_KERNEL_MII
@@ -72,7 +66,6 @@ config ADK_KERNEL_PCNET32
config ADK_KERNEL_NATSEMI
boolean
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NET_PCI
select ADK_KERNEL_MII
@@ -82,7 +75,6 @@ config ADK_KERNEL_NATSEMI
config ADK_KERNEL_VIA_RHINE
boolean
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NET_PCI
select ADK_KERNEL_MII
@@ -95,7 +87,6 @@ config ADK_KERNEL_VIA_RHINE
config ADK_KERNEL_AR231X_ETHERNET
boolean
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NET_PCI
select ADK_KERNEL_MII
@@ -106,7 +97,6 @@ config ADK_KERNEL_AR231X_ETHERNET
config ADK_KERNEL_KORINA
boolean
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NET_PCI
select ADK_KERNEL_MII
@@ -116,7 +106,6 @@ config ADK_KERNEL_KORINA
config ADK_KERNEL_AG71XX
boolean
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NET_PCI
select ADK_KERNEL_MII
@@ -127,7 +116,6 @@ config ADK_KERNEL_AG71XX
config ADK_KERNEL_B44
boolean
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NET_PCI
select ADK_KERNEL_MII
@@ -137,7 +125,6 @@ config ADK_KERNEL_B44
config ADK_KERNEL_R8169
boolean
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NETDEV_1000
select ADK_KERNEL_MII
@@ -147,7 +134,6 @@ config ADK_KERNEL_R8169
config ADK_KERNEL_USB_NET_SMSC95XX
boolean
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_USB_USBNET
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI
@@ -160,7 +146,6 @@ depends on ADK_TARGET_WITH_PCI
config ADK_KPACKAGE_KMOD_NE2K_PCI
prompt "kmod-net-ne2k-pci............. NE2000 PCI driver"
tristate
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NET_PCI
select ADK_KERNEL_NET_VENDOR_NATSEMI
@@ -173,7 +158,6 @@ config ADK_KPACKAGE_KMOD_NE2K_PCI
config ADK_KPACKAGE_KMOD_PCNET32
prompt "kmod-net-pcnet32.............. AMD PCNet32 PCI driver"
tristate
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NET_PCI
select ADK_KERNEL_MII
@@ -184,7 +168,6 @@ config ADK_KPACKAGE_KMOD_PCNET32
config ADK_KPACKAGE_KMOD_8139CP
prompt "kmod-net-rtl8139cp............ RTL8139C+ PCI driver"
tristate
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NET_PCI
select ADK_KERNEL_NET_VENDOR_REALTEK
@@ -196,7 +179,6 @@ config ADK_KPACKAGE_KMOD_8139CP
config ADK_KPACKAGE_KMOD_8139TOO
prompt "kmod-net-rtl8139.............. RTL8139 PCI driver"
tristate
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NET_PCI
select ADK_KERNEL_MII
@@ -207,7 +189,6 @@ config ADK_KPACKAGE_KMOD_8139TOO
config ADK_KPACKAGE_KMOD_E100
prompt "kmod-net-e100................. Intel(R) PRO/100+ driver"
tristate
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_PCI
select ADK_KERNEL_MII
default n
@@ -217,7 +198,6 @@ config ADK_KPACKAGE_KMOD_E100
config ADK_KPACKAGE_KMOD_E1000
prompt "kmod-net-e1000................ Intel(R) PRO/1000 Gigabit Ethernet driver"
tristate
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NETDEV_1000
depends on !ADK_KERNEL_E1000
@@ -232,7 +212,6 @@ config ADK_KPACKAGE_KMOD_E1000
config ADK_KPACKAGE_KMOD_SKY2
prompt "kmod-net-sky2................. Marvell Yukon driver"
tristate
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NETDEV_1000
select ADK_KERNEL_NET_VENDOR_MARVELL
@@ -243,7 +222,6 @@ config ADK_KPACKAGE_KMOD_SKY2
config ADK_KPACKAGE_KMOD_R8169
prompt "kmod-net-r8169................ RTL8169 driver"
tristate
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_NET_ETHERNET
select ADK_KERNEL_NETDEV_1000
select ADK_KERNEL_MII
@@ -258,7 +236,6 @@ config ADK_KERNEL_WLAN
boolean
config ADK_KERNEL_WIRELESS
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_WLAN
boolean
diff --git a/target/linux/config/Config.in.network b/target/linux/config/Config.in.network
index 71a510d69..f35f2ce80 100644
--- a/target/linux/config/Config.in.network
+++ b/target/linux/config/Config.in.network
@@ -180,7 +180,6 @@ config ADK_KPACKAGE_KMOD_IPV6_SIT
config ADK_KPACKAGE_KMOD_PPP
prompt "kmod-ppp.......................... PPP support"
tristate
- select ADK_KERNEL_NETDEVICES
select ADK_KERNEL_PPP_ASYNC
select ADK_KERNEL_SLHC
select ADK_KPACKAGE_KMOD_CRC_CCITT
@@ -243,7 +242,6 @@ config ADK_KPACKAGE_KMOD_PPPOE
config ADK_KPACKAGE_KMOD_TUN
prompt "kmod-tun.......................... Universal TUN/TAP driver"
tristate
- select ADK_KERNEL_NETDEVICES
default n
help
Kernel support for the TUN/TAP tunneling device
diff --git a/toolchain/Makefile b/toolchain/Makefile
index c70ea9820..d37117272 100644
--- a/toolchain/Makefile
+++ b/toolchain/Makefile
@@ -21,8 +21,8 @@ TARGETS+=glibc
LIBC:=glibc
endif
ifeq ($(ADK_TARGET_LIB_UCLIBC),y)
-TARGETS+=uClibc
-LIBC:=uClibc
+TARGETS+=uclibc
+LIBC:=uclibc
endif
ifeq ($(ADK_TARGET_LIB_MUSL),y)
TARGETS+=musl
diff --git a/toolchain/gcc/Makefile.inc b/toolchain/gcc/Makefile.inc
index 21720e4aa..b441bf03d 100644
--- a/toolchain/gcc/Makefile.inc
+++ b/toolchain/gcc/Makefile.inc
@@ -2,12 +2,7 @@
# material, please see the LICENCE file in the top-level directory.
PKG_NAME:= gcc
-ifeq ($(ADK_LINUX_SPARC),y)
-PKG_VERSION:= 4.7.3
-PKG_MD5SUM:= 86f428a30379bdee0224e353ee2f999e
-else
PKG_VERSION:= 4.8.2
PKG_MD5SUM:= deca88241c1135e2ff9fa5486ab5957b
-endif
PKG_RELEASE:= 1
PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
diff --git a/toolchain/gcc/patches/4.8.2/sparc-miscompile.patch b/toolchain/gcc/patches/4.8.2/sparc-miscompile.patch
new file mode 100644
index 000000000..4aef2e605
--- /dev/null
+++ b/toolchain/gcc/patches/4.8.2/sparc-miscompile.patch
@@ -0,0 +1,154 @@
+diff -Nur gcc-4.8.2.orig/gcc/tree-ssa-forwprop.c gcc-4.8.2/gcc/tree-ssa-forwprop.c
+--- gcc-4.8.2.orig/gcc/tree-ssa-forwprop.c 2013-02-25 16:31:31.000000000 +0100
++++ gcc-4.8.2/gcc/tree-ssa-forwprop.c 2014-03-22 19:37:04.797991879 +0100
+@@ -688,6 +688,130 @@
+ recompute_tree_invariant_for_addr_expr (gimple_assign_rhs1 (stmt));
+ }
+
++ /* DEF_RHS contains the address of the 0th element in an array.
++ USE_STMT uses type of DEF_RHS to compute the address of an
++ arbitrary element within the array. The (variable) byte offset
++ of the element is contained in OFFSET.
++
++ We walk back through the use-def chains of OFFSET to verify that
++ it is indeed computing the offset of an element within the array
++ and extract the index corresponding to the given byte offset.
++
++ We then try to fold the entire address expression into a form
++ &array[index].
++
++ If we are successful, we replace the right hand side of USE_STMT
++ with the new address computation. */
++
++ static bool
++ forward_propagate_addr_into_variable_array_index (tree offset,
++ tree def_rhs,
++ gimple_stmt_iterator *use_stmt_gsi)
++ {
++ tree index, tunit;
++ gimple offset_def, use_stmt = gsi_stmt (*use_stmt_gsi);
++ tree new_rhs, tmp;
++
++ if (TREE_CODE (TREE_OPERAND (def_rhs, 0)) == ARRAY_REF)
++ tunit = TYPE_SIZE_UNIT (TREE_TYPE (TREE_TYPE (def_rhs)));
++ else if (TREE_CODE (TREE_TYPE (TREE_OPERAND (def_rhs, 0))) == ARRAY_TYPE)
++ tunit = TYPE_SIZE_UNIT (TREE_TYPE (TREE_TYPE (TREE_TYPE (def_rhs))));
++ else
++ return false;
++ if (!host_integerp (tunit, 1))
++ return false;
++
++ /* Get the offset's defining statement. */
++ offset_def = SSA_NAME_DEF_STMT (offset);
++
++ /* Try to find an expression for a proper index. This is either a
++ multiplication expression by the element size or just the ssa name we came
++ along in case the element size is one. In that case, however, we do not
++ allow multiplications because they can be computing index to a higher
++ level dimension (PR 37861). */
++ if (integer_onep (tunit))
++ {
++ if (is_gimple_assign (offset_def)
++ && gimple_assign_rhs_code (offset_def) == MULT_EXPR)
++ return false;
++
++ index = offset;
++ }
++ else
++ {
++ /* The statement which defines OFFSET before type conversion
++ must be a simple GIMPLE_ASSIGN. */
++ if (!is_gimple_assign (offset_def))
++ return false;
++
++ /* The RHS of the statement which defines OFFSET must be a
++ multiplication of an object by the size of the array elements.
++ This implicitly verifies that the size of the array elements
++ is constant. */
++ if (gimple_assign_rhs_code (offset_def) == MULT_EXPR
++ && TREE_CODE (gimple_assign_rhs2 (offset_def)) == INTEGER_CST
++ && tree_int_cst_equal (gimple_assign_rhs2 (offset_def), tunit))
++ {
++ /* The first operand to the MULT_EXPR is the desired index. */
++ index = gimple_assign_rhs1 (offset_def);
++ }
++ /* If we have idx * tunit + CST * tunit re-associate that. */
++ else if ((gimple_assign_rhs_code (offset_def) == PLUS_EXPR
++ || gimple_assign_rhs_code (offset_def) == MINUS_EXPR)
++ && TREE_CODE (gimple_assign_rhs1 (offset_def)) == SSA_NAME
++ && TREE_CODE (gimple_assign_rhs2 (offset_def)) == INTEGER_CST
++ && (tmp = div_if_zero_remainder (EXACT_DIV_EXPR,
++ gimple_assign_rhs2 (offset_def),
++ tunit)) != NULL_TREE)
++ {
++ gimple offset_def2 = SSA_NAME_DEF_STMT (gimple_assign_rhs1 (offset_def));
++ if (is_gimple_assign (offset_def2)
++ && gimple_assign_rhs_code (offset_def2) == MULT_EXPR
++ && TREE_CODE (gimple_assign_rhs2 (offset_def2)) == INTEGER_CST
++ && tree_int_cst_equal (gimple_assign_rhs2 (offset_def2), tunit))
++ {
++ index = fold_build2 (gimple_assign_rhs_code (offset_def),
++ TREE_TYPE (offset),
++ gimple_assign_rhs1 (offset_def2), tmp);
++ }
++ else
++ return false;
++ }
++ else
++ return false;
++ }
++
++ /* Replace the pointer addition with array indexing. */
++ index = force_gimple_operand_gsi (use_stmt_gsi, index, true, NULL_TREE,
++ true, GSI_SAME_STMT);
++ if (TREE_CODE (TREE_OPERAND (def_rhs, 0)) == ARRAY_REF)
++ {
++ new_rhs = unshare_expr (def_rhs);
++ TREE_OPERAND (TREE_OPERAND (new_rhs, 0), 1) = index;
++ }
++ else
++ {
++ new_rhs = build4 (ARRAY_REF, TREE_TYPE (TREE_TYPE (TREE_TYPE (def_rhs))),
++ unshare_expr (TREE_OPERAND (def_rhs, 0)),
++ index, integer_zero_node, NULL_TREE);
++ new_rhs = build_fold_addr_expr (new_rhs);
++ if (!useless_type_conversion_p (TREE_TYPE (gimple_assign_lhs (use_stmt)),
++ TREE_TYPE (new_rhs)))
++ {
++ new_rhs = force_gimple_operand_gsi (use_stmt_gsi, new_rhs, true,
++ NULL_TREE, true, GSI_SAME_STMT);
++ new_rhs = fold_convert (TREE_TYPE (gimple_assign_lhs (use_stmt)),
++ new_rhs);
++ }
++ }
++ gimple_assign_set_rhs_from_tree (use_stmt_gsi, new_rhs);
++ fold_stmt (use_stmt_gsi);
++ tidy_after_forward_propagate_addr (gsi_stmt (*use_stmt_gsi));
++ return true;
++ }
++
++
++
+ /* NAME is a SSA_NAME representing DEF_RHS which is of the form
+ ADDR_EXPR <whatever>.
+
+@@ -977,6 +1101,19 @@
+ tidy_after_forward_propagate_addr (use_stmt);
+ return true;
+ }
++ /* Try to optimize &x[0] p+ OFFSET where OFFSET is defined by
++ converting a multiplication of an index by the size of the
++ array elements, then the result is converted into the proper
++ type for the arithmetic. */
++ if (TREE_CODE (rhs2) == SSA_NAME
++ && (TREE_CODE (array_ref) != ARRAY_REF
++ || integer_zerop (TREE_OPERAND (array_ref, 1)))
++ && useless_type_conversion_p (TREE_TYPE (name), TREE_TYPE (def_rhs))
++ /* Avoid problems with IVopts creating PLUS_EXPRs with a
++ different type than their operands. */
++ && useless_type_conversion_p (TREE_TYPE (lhs), TREE_TYPE (def_rhs)))
++ return forward_propagate_addr_into_variable_array_index (rhs2, def_rhs,
++ use_stmt_gsi);
+
+ return false;
+ }
diff --git a/toolchain/uClibc/Makefile b/toolchain/uclibc/Makefile
index 94a81391d..94a81391d 100644
--- a/toolchain/uClibc/Makefile
+++ b/toolchain/uclibc/Makefile
diff --git a/toolchain/uClibc/Makefile.inc b/toolchain/uclibc/Makefile.inc
index eff931e2b..eff931e2b 100644
--- a/toolchain/uClibc/Makefile.inc
+++ b/toolchain/uclibc/Makefile.inc
diff --git a/toolchain/uClibc/patches/uclibc-git-20140313.patch b/toolchain/uclibc/patches/uclibc-git-20140313.patch
index 561c08007..561c08007 100644
--- a/toolchain/uClibc/patches/uclibc-git-20140313.patch
+++ b/toolchain/uclibc/patches/uclibc-git-20140313.patch
diff --git a/toolchain/uClibc/patches/xxx-origin.patch b/toolchain/uclibc/patches/xxx-origin.patch
index 42b524017..42b524017 100644
--- a/toolchain/uClibc/patches/xxx-origin.patch
+++ b/toolchain/uclibc/patches/xxx-origin.patch
diff --git a/toolchain/uClibc/patches/xxx-sparc-wait4.patch b/toolchain/uclibc/patches/xxx-sparc-wait4.patch
index e219ed773..e219ed773 100644
--- a/toolchain/uClibc/patches/xxx-sparc-wait4.patch
+++ b/toolchain/uclibc/patches/xxx-sparc-wait4.patch