summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mk/buildhlp.mk4
-rw-r--r--mk/image.mk2
-rw-r--r--mk/vars.mk2
-rw-r--r--package/adk-test-tools/Makefile2
-rwxr-xr-xpackage/adk-test-tools/files/test.init2
-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/grub/Makefile35
-rw-r--r--package/grub/patches/patch-conf_common_mk11
-rw-r--r--package/grub/patches/patch-configure11
-rw-r--r--package/grub/patches/patch-grub-core_gnulib_stdio_in_h14
-rw-r--r--package/grub/patches/patch-grub-core_kern_emu_hostdisk_c36
-rw-r--r--package/grub/patches/patch-include_grub_i18n_h11
-rw-r--r--package/grub/patches/patch-include_grub_misc_h17
-rw-r--r--package/grub/patches/patch-kern_misc_c54
-rw-r--r--package/grub/patches/patch-lib_libgcrypt-grub_cipher_camellia_c29
-rw-r--r--package/grub/patches/patch-lib_libgcrypt-grub_cipher_des_c11
-rw-r--r--package/grub/patches/patch-lib_libgcrypt-grub_cipher_dsa_c29
-rw-r--r--package/grub/patches/patch-lib_libgcrypt-grub_cipher_elgamal_c20
-rw-r--r--package/grub/patches/patch-lib_libgcrypt-grub_cipher_md4_c11
-rw-r--r--package/grub/patches/patch-lib_libgcrypt-grub_cipher_md5_c11
-rw-r--r--package/grub/patches/patch-lib_libgcrypt-grub_cipher_primegen_c38
-rw-r--r--package/grub/patches/patch-lib_libgcrypt-grub_cipher_rijndael_c53
-rw-r--r--package/grub/patches/patch-lib_libgcrypt-grub_cipher_rmd160_c11
-rw-r--r--package/grub/patches/patch-lib_libgcrypt-grub_cipher_serpent_c20
-rw-r--r--package/grub/patches/patch-lib_libgcrypt-grub_cipher_sha1_c11
-rw-r--r--package/grub/patches/patch-lib_libgcrypt-grub_cipher_sha256_c11
-rw-r--r--package/grub/patches/patch-lib_libgcrypt-grub_cipher_sha512_c11
-rw-r--r--package/grub/patches/patch-lib_libgcrypt-grub_cipher_tiger_c11
-rw-r--r--package/grub/patches/patch-lib_libgcrypt-grub_cipher_twofish_c20
-rw-r--r--package/grub/patches/patch-lib_libgcrypt-grub_cipher_whirlpool_c11
-rw-r--r--package/grub/patches/patch-util_grub-install_in11
-rw-r--r--package/grub/patches/patch-util_grub-mkconfig_lib_in11
-rw-r--r--package/grub/patches/patch-util_grub_d_10_linux_in20
-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/libpthread/Makefile2
-rw-r--r--package/librt/Makefile2
-rw-r--r--package/libssp/Makefile4
-rw-r--r--package/libstdcxx/Makefile2
-rw-r--r--package/libthread_db/Makefile2
-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/qemu/Makefile5
-rw-r--r--package/qemu/patches/patch-linux-user_syscall_c11
-rw-r--r--package/rdate/Makefile2
-rw-r--r--package/samba/Makefile28
-rw-r--r--package/tinyproxy/Makefile26
-rw-r--r--package/tinyproxy/patches/patch-Makefile_am10
-rw-r--r--package/tinyproxy/patches/patch-configure24
-rw-r--r--package/tinyproxy/patches/patch-configure_ac27
-rw-r--r--package/uclibc/Makefile2
-rwxr-xr-xscripts/create.sh5
-rw-r--r--scripts/scan-tools.sh7
-rw-r--r--scripts/toolchain.cmake.in10
-rw-r--r--target/arm/Makefile2
-rw-r--r--target/config/Config.in22
-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--target/mips/Makefile2
-rw-r--r--target/packages/pkg-available/test1
-rw-r--r--target/ppc/Makefile2
-rw-r--r--target/ppc64/Makefile2
-rw-r--r--target/sh/Makefile2
-rw-r--r--target/sparc/Makefile2
-rw-r--r--target/sparc64/Makefile2
-rw-r--r--target/x86/Makefile7
-rw-r--r--target/x86/kernel/generic-pc19
-rw-r--r--target/x86/kernel/qemu-x86 (renamed from target/x86/kernel/qemu-i686)0
-rw-r--r--target/x86/sys-available/generic-pc9
-rw-r--r--target/x86/sys-available/qemu-i48610
-rw-r--r--target/x86/sys-available/qemu-i6862
-rw-r--r--toolchain/Makefile4
-rw-r--r--toolchain/gcc/Makefile.inc5
-rw-r--r--toolchain/gcc/patches/4.8.2/miscompile.sparc154
-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
111 files changed, 809 insertions, 1178 deletions
diff --git a/mk/buildhlp.mk b/mk/buildhlp.mk
index 5ce3ca4a0..c8acd2ae6 100644
--- a/mk/buildhlp.mk
+++ b/mk/buildhlp.mk
@@ -72,9 +72,9 @@ ifeq ($(strip ${__use_generic_patch_target}),42)
post-patch:
${WRKDIST}/.prepared: ${WRKDIST}/.extract_done
[ ! -d ./patches/${PKG_VERSION} ] || ${PREVENT_PATCH} ${PATCH} ${WRKDIST} ./patches/${PKG_VERSION} \
- '{patch-!(*.orig),*.patch}' $(MAKE_TRACE)
+ '{patch-!(*.orig),*.patch,*.${ARCH}}' $(MAKE_TRACE)
[ ! -d ./patches ] || ${PREVENT_PATCH} ${PATCH} ${WRKDIST} ./patches \
- '{patch-!(*.orig),*.patch}' $(MAKE_TRACE)
+ '{patch-!(*.orig),*.patch,*.${ARCH}}' $(MAKE_TRACE)
[ ! -d ./src ] || (cd src; $(PREVENT_PATCH) cp -Rp . ${WRKDIST}/) \
$(MAKE_TRACE)
@${MAKE} post-patch $(MAKE_TRACE)
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/adk-test-tools/Makefile b/package/adk-test-tools/Makefile
index 72327170a..80be5a41b 100644
--- a/package/adk-test-tools/Makefile
+++ b/package/adk-test-tools/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= adk-test-tools
PKG_VERSION:= 0.1
-PKG_RELEASE:= 5
+PKG_RELEASE:= 6
PKG_DESCR:= helper tools and scripts for adk-test-framework
PKG_SECTION:= misc
PKG_URL:= http://openadk.org/
diff --git a/package/adk-test-tools/files/test.init b/package/adk-test-tools/files/test.init
index e33bece47..773986dca 100755
--- a/package/adk-test-tools/files/test.init
+++ b/package/adk-test-tools/files/test.init
@@ -2,6 +2,8 @@
#PKG adk-test-tools
#INIT 90
[[ $1 = autostart ]] || exit 0
+echo "Setting time via network ..."
+rdate -nv pool.ntp.org
echo "Starting test script ..."
grep shell /proc/cmdline > /dev/null 2&>1
if [ $? -eq 0 ];then
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/grub/Makefile b/package/grub/Makefile
index cfe17a227..663d02d72 100644
--- a/package/grub/Makefile
+++ b/package/grub/Makefile
@@ -4,37 +4,50 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= grub
-PKG_VERSION:= 1.98
+PKG_VERSION:= 2.00
PKG_RELEASE:= 1
-PKG_MD5SUM:= c0bcf60e524739bb64e3a2d4e3732a59
+PKG_MD5SUM:= e927540b6eda8b024fb0391eeaa4091c
PKG_DESCR:= GRUB2 bootloader (source package)
PKG_SECTION:= boot
+PKG_BUILDDEP:= bison-host
PKG_URL:= http://www.gnu.org/software/grub
-PKG_SITES:= ftp://alpha.gnu.org/gnu/grub/
+PKG_SITES:= ftp://ftp.gnu.org/gnu/grub/
-PKG_HOST_DEPENDS:= linux
-PKG_ARCH_DEPENDS:= x86 x86_64
+PKG_ARCH_DEPENDS:= x86 x86_64 mips
PKG_NOPARALLEL:= 1
+PKG_CHOICES_GRUB:= PC EFI
+PKGCD_PC:= build for PC BIOS
+PKGCD_EFI:= build for EFI
+
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,GRUB,grub,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+ifeq ($(ADK_PACKAGE_GRUB_PC),y)
+GRUB_ARCH:= i386-pc
+CONFIGURE_ARGS+= --with-platform=pc
+endif
+ifeq ($(ADK_PACKAGE_GRUB_EFI),y)
+GRUB_ARCH:= x86_64-efi
+CONFIGURE_ARGS+= --with-platform=efi
+endif
+
ifeq ($(ADK_STATIC),y)
TARGET_CFLAGS+= -static
TARGET_LDFLAGS+= -static
endif
-XAKE_FLAGS+= GCC_HONOUR_COPTS=s CPPFLAGS_FOR_BUILD="-I./include"
-CONFIGURE_ARGS+= --disable-efiemu \
- --disable-grub-mkfont \
- --disable-grub-fstest
+CONFIGURE_ARGS+= --disable-grub-mkfont
+XAKE_FLAGS+= GCC_HONOUR_COPTS=s
grub-install:
- ${INSTALL_DIR} $(IDIR_GRUB)/usr/{sbin,lib,bin}
+ ${INSTALL_DIR} $(IDIR_GRUB)/usr/{sbin,bin}
+ ${INSTALL_DIR} $(IDIR_GRUB)/usr/lib/grub/${GRUB_ARCH}/
${INSTALL_DIR} $(IDIR_GRUB)/etc
${CP} ${WRKINST}/etc/grub.d $(IDIR_GRUB)/etc
- ${CP} ${WRKINST}/usr/lib/* $(IDIR_GRUB)/usr/lib
+ ${CP} ${WRKINST}/usr/lib/grub/${GRUB_ARCH}/*{mod,lst,img} \
+ $(IDIR_GRUB)/usr/lib/grub/${GRUB_ARCH}/
${INSTALL_BIN} ${WRKINST}/usr/bin/* $(IDIR_GRUB)/usr/bin
${INSTALL_BIN} ${WRKINST}/usr/sbin/* $(IDIR_GRUB)/usr/sbin
diff --git a/package/grub/patches/patch-conf_common_mk b/package/grub/patches/patch-conf_common_mk
deleted file mode 100644
index fec7cd1dd..000000000
--- a/package/grub/patches/patch-conf_common_mk
+++ /dev/null
@@ -1,11 +0,0 @@
---- grub-1.98.orig/conf/common.mk 2010-03-06 21:52:26.000000000 +0100
-+++ grub-1.98/conf/common.mk 2012-02-22 13:20:42.022360300 +0100
-@@ -11159,7 +11159,7 @@ trigtables.c: gentrigtables
- ./gentrigtables > $@
- DISTCLEANFILES += trigtables.c
- gentrigtables: gentrigtables.c
-- $(CC) -o $@ $^ $(CPPFLAGS) -lm
-+ $(CC_FOR_BUILD) -o $@ $^ $(CPPFLAGS_FOR_BUILD) -lm
- DISTCLEANFILES += gentrigtables
-
- pkglib_MODULES += setjmp.mod
diff --git a/package/grub/patches/patch-configure b/package/grub/patches/patch-configure
new file mode 100644
index 000000000..a3920a1c1
--- /dev/null
+++ b/package/grub/patches/patch-configure
@@ -0,0 +1,11 @@
+--- grub-2.00.orig/configure 2012-06-26 13:59:16.000000000 +0200
++++ grub-2.00/configure 2014-04-06 20:34:33.000000000 +0200
+@@ -3880,7 +3882,7 @@ TARGET_CPPFLAGS="$TARGET_CPPFLAGS -I\$(t
+
+ case "$target_cpu" in
+ i[3456]86) target_cpu=i386 ;;
+- amd64) target_cpu=x86_64 ;;
++ amd64|x86_64) target_cpu=x86_64 ;;
+ sparc) target_cpu=sparc64 ;;
+ mipsel|mips64el)
+ target_cpu=mipsel;
diff --git a/package/grub/patches/patch-grub-core_gnulib_stdio_in_h b/package/grub/patches/patch-grub-core_gnulib_stdio_in_h
new file mode 100644
index 000000000..79ab772ad
--- /dev/null
+++ b/package/grub/patches/patch-grub-core_gnulib_stdio_in_h
@@ -0,0 +1,14 @@
+--- grub-2.00.orig/grub-core/gnulib/stdio.in.h 2010-12-01 15:45:43.000000000 +0100
++++ grub-2.00/grub-core/gnulib/stdio.in.h 2014-04-05 10:02:52.000000000 +0200
+@@ -137,11 +137,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not
+ "use gnulib module fflush for portable POSIX compliance");
+ #endif
+
+-/* It is very rare that the developer ever has full control of stdin,
+- so any use of gets warrants an unconditional warning. Assume it is
+- always declared, since it is required by C89. */
+-#undef gets
+-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
diff --git a/package/grub/patches/patch-grub-core_kern_emu_hostdisk_c b/package/grub/patches/patch-grub-core_kern_emu_hostdisk_c
new file mode 100644
index 000000000..e238bb7fd
--- /dev/null
+++ b/package/grub/patches/patch-grub-core_kern_emu_hostdisk_c
@@ -0,0 +1,36 @@
+--- grub-2.00.orig/grub-core/kern/emu/hostdisk.c 2012-06-25 10:32:04.000000000 +0200
++++ grub-2.00/grub-core/kern/emu/hostdisk.c 2014-04-06 13:14:06.000000000 +0200
+@@ -761,25 +761,6 @@ linux_find_partition (char *dev, grub_di
+ }
+ #endif /* __linux__ */
+
+-#if defined(__linux__) && (!defined(__GLIBC__) || \
+- ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1))))
+- /* Maybe libc doesn't have large file support. */
+-grub_err_t
+-grub_util_fd_seek (int fd, const char *name, grub_uint64_t off)
+-{
+- loff_t offset, result;
+- static int _llseek (uint filedes, ulong hi, ulong lo,
+- loff_t *res, uint wh);
+- _syscall5 (int, _llseek, uint, filedes, ulong, hi, ulong, lo,
+- loff_t *, res, uint, wh);
+-
+- offset = (loff_t) off;
+- if (_llseek (fd, offset >> 32, offset & 0xffffffff, &result, SEEK_SET))
+- return grub_error (GRUB_ERR_BAD_DEVICE, N_("cannot seek `%s': %s"),
+- name, strerror (errno));
+- return GRUB_ERR_NONE;
+-}
+-#else
+ grub_err_t
+ grub_util_fd_seek (int fd, const char *name, grub_uint64_t off)
+ {
+@@ -790,7 +771,6 @@ grub_util_fd_seek (int fd, const char *n
+ name, strerror (errno));
+ return 0;
+ }
+-#endif
+
+ static void
+ flush_initial_buffer (const char *os_dev __attribute__ ((unused)))
diff --git a/package/grub/patches/patch-include_grub_i18n_h b/package/grub/patches/patch-include_grub_i18n_h
deleted file mode 100644
index 41151f706..000000000
--- a/package/grub/patches/patch-include_grub_i18n_h
+++ /dev/null
@@ -1,11 +0,0 @@
---- grub-1.98.orig/include/grub/i18n.h 2010-03-06 21:51:37.000000000 +0100
-+++ grub-1.98/include/grub/i18n.h 2010-06-26 15:31:22.860562533 +0200
-@@ -25,7 +25,7 @@
- extern const char *(*EXPORT_VAR(grub_gettext)) (const char *s);
-
- /* NLS can be disabled through the configure --disable-nls option. */
--#if ENABLE_NLS
-+#if defined(ENABLE_NLS)
-
- # ifdef GRUB_UTIL
-
diff --git a/package/grub/patches/patch-include_grub_misc_h b/package/grub/patches/patch-include_grub_misc_h
deleted file mode 100644
index fb3e46108..000000000
--- a/package/grub/patches/patch-include_grub_misc_h
+++ /dev/null
@@ -1,17 +0,0 @@
---- grub-1.98.orig/include/grub/misc.h 2010-03-06 21:51:37.000000000 +0100
-+++ grub-1.98/include/grub/misc.h 2010-06-26 18:54:44.075171713 +0200
-@@ -91,14 +91,6 @@ grub_strncat (char *dest, const char *sr
- return dest;
- }
-
--/* Prototypes for aliases. */
--#ifndef GRUB_UTIL
--int EXPORT_FUNC(memcmp) (const void *s1, const void *s2, grub_size_t n);
--void *EXPORT_FUNC(memmove) (void *dest, const void *src, grub_size_t n);
--void *EXPORT_FUNC(memcpy) (void *dest, const void *src, grub_size_t n);
--void *EXPORT_FUNC(memset) (void *s, int c, grub_size_t n);
--#endif
--
- int EXPORT_FUNC(grub_memcmp) (const void *s1, const void *s2, grub_size_t n);
- int EXPORT_FUNC(grub_strcmp) (const char *s1, const char *s2);
- int EXPORT_FUNC(grub_strncmp) (const char *s1, const char *s2, grub_size_t n);
diff --git a/package/grub/patches/patch-kern_misc_c b/package/grub/patches/patch-kern_misc_c
deleted file mode 100644
index 2912e2564..000000000
--- a/package/grub/patches/patch-kern_misc_c
+++ /dev/null
@@ -1,54 +0,0 @@
---- grub-1.98.orig/kern/misc.c 2010-03-06 21:51:37.000000000 +0100
-+++ grub-1.98/kern/misc.c 2010-06-26 20:12:26.711214130 +0200
-@@ -64,23 +64,6 @@ grub_memmove (void *dest, const void *sr
- return dest;
- }
-
--#ifndef APPLE_CC
--void *memmove (void *dest, const void *src, grub_size_t n)
-- __attribute__ ((alias ("grub_memmove")));
--/* GCC emits references to memcpy() for struct copies etc. */
--void *memcpy (void *dest, const void *src, grub_size_t n)
-- __attribute__ ((alias ("grub_memmove")));
--#else
--void *memcpy (void *dest, const void *src, grub_size_t n)
--{
-- return grub_memmove (dest, src, n);
--}
--void *memmove (void *dest, const void *src, grub_size_t n)
--{
-- return grub_memmove (dest, src, n);
--}
--#endif
--
- char *
- grub_strcpy (char *dest, const char *src)
- {
-@@ -516,15 +499,6 @@ grub_memset (void *s, int c, grub_size_t
-
- return s;
- }
--#ifndef APPLE_CC
--void *memset (void *s, int c, grub_size_t n)
-- __attribute__ ((alias ("grub_memset")));
--#else
--void *memset (void *s, int c, grub_size_t n)
--{
-- return grub_memset (s, c, n);
--}
--#endif
-
- grub_size_t
- grub_strlen (const char *s)
-@@ -1053,11 +1027,6 @@ grub_abort (void)
- grub_exit ();
- }
-
--#ifndef APPLE_CC
--/* GCC emits references to abort(). */
--void abort (void) __attribute__ ((alias ("grub_abort")));
--#endif
--
- #ifdef NEED_ENABLE_EXECUTE_STACK
- /* Some gcc versions generate a call to this function
- in trampolines for nested functions. */
diff --git a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_camellia_c b/package/grub/patches/patch-lib_libgcrypt-grub_cipher_camellia_c
deleted file mode 100644
index 8b3594525..000000000
--- a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_camellia_c
+++ /dev/null
@@ -1,29 +0,0 @@
---- grub-1.98.orig/lib/libgcrypt-grub/cipher/camellia.c 2010-03-06 21:52:26.000000000 +0100
-+++ grub-1.98/lib/libgcrypt-grub/cipher/camellia.c 2010-06-26 20:49:20.915278106 +0200
-@@ -26,6 +26,7 @@
- */
-
-
-+#include <grub/misc.h>
- #include "camellia.h"
-
- /* u32 must be 32bit word */
-@@ -946,13 +947,13 @@ void camellia_setup192(const unsigned ch
- unsigned char kk[32];
- u32 krll, krlr, krrl,krrr;
-
-- memcpy(kk, key, 24);
-- memcpy((unsigned char *)&krll, key+16,4);
-- memcpy((unsigned char *)&krlr, key+20,4);
-+ grub_memcpy(kk, key, 24);
-+ grub_memcpy((unsigned char *)&krll, key+16,4);
-+ grub_memcpy((unsigned char *)&krlr, key+20,4);
- krrl = ~krll;
- krrr = ~krlr;
-- memcpy(kk+24, (unsigned char *)&krrl, 4);
-- memcpy(kk+28, (unsigned char *)&krrr, 4);
-+ grub_memcpy(kk+24, (unsigned char *)&krrl, 4);
-+ grub_memcpy(kk+28, (unsigned char *)&krrr, 4);
- camellia_setup256(kk, subkey);
- return;
- }
diff --git a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_des_c b/package/grub/patches/patch-lib_libgcrypt-grub_cipher_des_c
deleted file mode 100644
index c2c93be5a..000000000
--- a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_des_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- grub-1.98.orig/lib/libgcrypt-grub/cipher/des.c 2010-03-06 21:52:26.000000000 +0100
-+++ grub-1.98/lib/libgcrypt-grub/cipher/des.c 2010-06-26 20:35:49.335279651 +0200
-@@ -119,7 +119,7 @@
- #include "cipher.h"
-
- #if defined(__GNUC__) && defined(__GNU_LIBRARY__)
--#define working_memcmp memcmp
-+#define working_memcmp grub_memcmp
- #else
- /*
- * According to the SunOS man page, memcmp returns indeterminate sign
diff --git a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_dsa_c b/package/grub/patches/patch-lib_libgcrypt-grub_cipher_dsa_c
deleted file mode 100644
index 91b467779..000000000
--- a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_dsa_c
+++ /dev/null
@@ -1,29 +0,0 @@
---- grub-1.98.orig/lib/libgcrypt-grub/cipher/dsa.c 2010-03-06 21:52:26.000000000 +0100
-+++ grub-1.98/lib/libgcrypt-grub/cipher/dsa.c 2010-06-26 20:41:13.511279436 +0200
-@@ -157,7 +157,7 @@ gen_k( gcry_mpi_t q )
- to get_random_bytes() and use this the here maybe it is
- easier to do this directly in random.c. */
- char *pp = gcry_random_bytes_secure( 4, GCRY_STRONG_RANDOM );
-- memcpy( rndbuf,pp, 4 );
-+ grub_memcpy( rndbuf,pp, 4 );
- gcry_free(pp);
- }
- _gcry_mpi_set_buffer( k, rndbuf, nbytes, 0 );
-@@ -337,7 +337,7 @@ generate (DSA_secret_key *sk, unsigned i
- else
- { /* Change only some of the higher bits (= 2 bytes)*/
- char *r = gcry_random_bytes_secure (2, random_level);
-- memcpy(rndbuf, r, 2 );
-+ grub_memcpy(rndbuf, r, 2 );
- gcry_free(r);
- }
-
-@@ -713,7 +713,7 @@ dsa_generate_ext (int algo, unsigned int
- gcry_sexp_release (l1);
- return GPG_ERR_INV_OBJ; /* No value or value too large. */
- }
-- memcpy (buf, s, n);
-+ grub_memcpy (buf, s, n);
- buf[n] = 0;
- qbits = (unsigned int)strtoul (buf, NULL, 0);
- gcry_sexp_release (l1);
diff --git a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_elgamal_c b/package/grub/patches/patch-lib_libgcrypt-grub_cipher_elgamal_c
deleted file mode 100644
index 5cd42146e..000000000
--- a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_elgamal_c
+++ /dev/null
@@ -1,20 +0,0 @@
---- grub-1.98.orig/lib/libgcrypt-grub/cipher/elgamal.c 2010-03-06 21:52:26.000000000 +0100
-+++ grub-1.98/lib/libgcrypt-grub/cipher/elgamal.c 2010-06-26 20:40:56.115156639 +0200
-@@ -212,7 +212,7 @@ gen_k( gcry_mpi_t p, int small_k )
- easier to do this directly in random.c Anyway, it is
- highly inlikely that we will ever reach this code. */
- char *pp = gcry_random_bytes_secure( 4, GCRY_STRONG_RANDOM );
-- memcpy( rndbuf, pp, 4 );
-+ grub_memcpy( rndbuf, pp, 4 );
- gcry_free(pp);
- }
- _gcry_mpi_set_buffer( k, rndbuf, nbytes, 0 );
-@@ -308,7 +308,7 @@ generate ( ELG_secret_key *sk, unsigned
- {
- char *r = gcry_random_bytes_secure( 2,
- GCRY_VERY_STRONG_RANDOM );
-- memcpy(rndbuf, r, 2 );
-+ grub_memcpy(rndbuf, r, 2 );
- gcry_free(r);
- }
- }
diff --git a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_md4_c b/package/grub/patches/patch-lib_libgcrypt-grub_cipher_md4_c
deleted file mode 100644
index 8bbe886a7..000000000
--- a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_md4_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- grub-1.98.orig/lib/libgcrypt-grub/cipher/md4.c 2010-03-06 21:52:26.000000000 +0100
-+++ grub-1.98/lib/libgcrypt-grub/cipher/md4.c 2010-06-26 20:24:28.691278909 +0200
-@@ -109,7 +109,7 @@ transform ( MD4_CONTEXT *ctx, const unsi
- }
- }
- #else
-- memcpy (in, data, 64);
-+ grub_memcpy (in, data, 64);
- #endif
-
- /* Round 1. */
diff --git a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_md5_c b/package/grub/patches/patch-lib_libgcrypt-grub_cipher_md5_c
deleted file mode 100644
index 53aa3e69f..000000000
--- a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_md5_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- grub-1.98.orig/lib/libgcrypt-grub/cipher/md5.c 2010-03-06 21:52:26.000000000 +0100
-+++ grub-1.98/lib/libgcrypt-grub/cipher/md5.c 2010-06-26 20:24:19.631157281 +0200
-@@ -100,7 +100,7 @@ transform ( MD5_CONTEXT *ctx, const unsi
- }
- }
- #else
-- memcpy( correct_words, data, 64 );
-+ grub_memcpy( correct_words, data, 64 );
- #endif
-
-
diff --git a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_primegen_c b/package/grub/patches/patch-lib_libgcrypt-grub_cipher_primegen_c
deleted file mode 100644
index c97d88c1d..000000000
--- a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_primegen_c
+++ /dev/null
@@ -1,38 +0,0 @@
---- grub-1.98.orig/lib/libgcrypt-grub/cipher/primegen.c 2010-03-06 21:52:26.000000000 +0100
-+++ grub-1.98/lib/libgcrypt-grub/cipher/primegen.c 2010-06-26 20:42:06.831276628 +0200
-@@ -1478,7 +1478,7 @@ _gcry_generate_fips186_2_prime (unsigned
- }
-
- /* Step 2: U = sha1(seed) ^ sha1((seed+1) mod 2^{qbits}) */
-- memcpy (seed_plus, seed, seedlen);
-+ grub_memcpy (seed_plus, seed, seedlen);
- for (i=seedlen-1; i >= 0; i--)
- {
- seed_plus[i]++;
-@@ -1596,7 +1596,7 @@ _gcry_generate_fips186_2_prime (unsigned
- *r_counter = counter;
- if (r_seed && r_seedlen)
- {
-- memcpy (seed_plus, seed, seedlen);
-+ grub_memcpy (seed_plus, seed, seedlen);
- *r_seed = seed_plus;
- seed_plus = NULL;
- *r_seedlen = seedlen;
-@@ -1751,7 +1751,7 @@ _gcry_generate_fips186_3_prime (unsigned
-
- /* Step 11. Note that we do no use an explicit offset but increment
- SEED_PLUS accordingly. */
-- memcpy (seed_plus, seed, seedlen);
-+ grub_memcpy (seed_plus, seed, seedlen);
- counter = 0;
-
- /* Generate P. */
-@@ -1838,7 +1838,7 @@ _gcry_generate_fips186_3_prime (unsigned
- *r_counter = counter;
- if (r_seed && r_seedlen)
- {
-- memcpy (seed_plus, seed, seedlen);
-+ grub_memcpy (seed_plus, seed, seedlen);
- *r_seed = seed_plus;
- seed_plus = NULL;
- *r_seedlen = seedlen;
diff --git a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_rijndael_c b/package/grub/patches/patch-lib_libgcrypt-grub_cipher_rijndael_c
deleted file mode 100644
index 056abefa3..000000000
--- a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_rijndael_c
+++ /dev/null
@@ -1,53 +0,0 @@
---- grub-1.98.orig/lib/libgcrypt-grub/cipher/rijndael.c 2010-03-06 21:52:26.000000000 +0100
-+++ grub-1.98/lib/libgcrypt-grub/cipher/rijndael.c 2010-06-26 20:23:29.463277513 +0200
-@@ -139,7 +139,7 @@ do_setkey (RIJNDAEL_context *ctx, const
- if ((_gcry_get_hw_features () & HWF_PADLOCK_AES))
- {
- ctx->use_padlock = 1;
-- memcpy (ctx->padlock_key, key, keylen);
-+ grub_memcpy (ctx->padlock_key, key, keylen);
- }
- #endif
- }
-@@ -411,9 +411,9 @@ do_encrypt (const RIJNDAEL_context *ctx,
- byte b[16];
- } b;
-
-- memcpy (a.a, ax, 16);
-+ grub_memcpy (a.a, ax, 16);
- do_encrypt_aligned (ctx, b.b, a.a);
-- memcpy (bx, b.b, 16);
-+ grub_memcpy (bx, b.b, 16);
- }
-
-
-@@ -440,7 +440,7 @@ do_padlock (const RIJNDAEL_context *ctx,
- if (decrypt_flag)
- cword[0] |= 0x00000200;
-
-- memcpy (a, ax, 16);
-+ grub_memcpy (a, ax, 16);
-
- asm volatile
- ("pushfl\n\t" /* Force key reload. */
-@@ -454,7 +454,7 @@ do_padlock (const RIJNDAEL_context *ctx,
- : "%ecx", "cc", "memory"
- );
-
-- memcpy (bx, b, 16);
-+ grub_memcpy (bx, b, 16);
-
- }
- #endif /*USE_PADLOCK*/
-@@ -609,9 +609,9 @@ do_decrypt (RIJNDAEL_context *ctx, byte
- ctx->decryption_prepared = 1;
- }
-
-- memcpy (a.a, ax, 16);
-+ grub_memcpy (a.a, ax, 16);
- do_decrypt_aligned (ctx, b.b, a.a);
-- memcpy (bx, b.b, 16);
-+ grub_memcpy (bx, b.b, 16);
- #undef rk
- }
-
diff --git a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_rmd160_c b/package/grub/patches/patch-lib_libgcrypt-grub_cipher_rmd160_c
deleted file mode 100644
index fb818bd51..000000000
--- a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_rmd160_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- grub-1.98.orig/lib/libgcrypt-grub/cipher/rmd160.c 2010-03-06 21:52:26.000000000 +0100
-+++ grub-1.98/lib/libgcrypt-grub/cipher/rmd160.c 2010-06-26 20:23:39.319276778 +0200
-@@ -185,7 +185,7 @@ transform ( RMD160_CONTEXT *hd, const un
- * executes on a 586-100 (39.73 bogomips) at about 1900kb/sec;
- * [measured with a 4MB data and "gpgm --print-md rmd160"] */
- u32 x[16];
-- memcpy( x, data, 64 );
-+ grub_memcpy( x, data, 64 );
- #endif
-
-
diff --git a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_serpent_c b/package/grub/patches/patch-lib_libgcrypt-grub_cipher_serpent_c
deleted file mode 100644
index 7c99e23ad..000000000
--- a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_serpent_c
+++ /dev/null
@@ -1,20 +0,0 @@
---- grub-1.98.orig/lib/libgcrypt-grub/cipher/serpent.c 2010-03-06 21:52:26.000000000 +0100
-+++ grub-1.98/lib/libgcrypt-grub/cipher/serpent.c 2010-06-26 20:29:51.523275940 +0200
-@@ -917,7 +917,7 @@ serpent_test (void)
- (const u32 *) test_data[i].text_plain,
- (u32 *) scratch);
-
-- if (memcmp (scratch, test_data[i].text_cipher, sizeof (serpent_block_t)))
-+ if (grub_memcmp (scratch, test_data[i].text_cipher, sizeof (serpent_block_t)))
- switch (test_data[i].key_length)
- {
- case 16:
-@@ -931,7 +931,7 @@ serpent_test (void)
- serpent_decrypt_internal (&context,
- (const u32 *) test_data[i].text_cipher,
- (u32 *) scratch);
-- if (memcmp (scratch, test_data[i].text_plain, sizeof (serpent_block_t)))
-+ if (grub_memcmp (scratch, test_data[i].text_plain, sizeof (serpent_block_t)))
- switch (test_data[i].key_length)
- {
- case 16:
diff --git a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_sha1_c b/package/grub/patches/patch-lib_libgcrypt-grub_cipher_sha1_c
deleted file mode 100644
index b04764bb8..000000000
--- a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_sha1_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- grub-1.98.orig/lib/libgcrypt-grub/cipher/sha1.c 2010-03-06 21:52:26.000000000 +0100
-+++ grub-1.98/lib/libgcrypt-grub/cipher/sha1.c 2010-06-26 20:23:50.135168960 +0200
-@@ -114,7 +114,7 @@ transform (SHA1_CONTEXT *hd, const unsig
- for ( ;nblocks; nblocks--)
- {
- #ifdef WORDS_BIGENDIAN
-- memcpy (x, data, 64);
-+ grub_memcpy (x, data, 64);
- data += 64;
- #else
- {
diff --git a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_sha256_c b/package/grub/patches/patch-lib_libgcrypt-grub_cipher_sha256_c
deleted file mode 100644
index f9676e392..000000000
--- a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_sha256_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- grub-1.98.orig/lib/libgcrypt-grub/cipher/sha256.c 2010-03-06 21:52:26.000000000 +0100
-+++ grub-1.98/lib/libgcrypt-grub/cipher/sha256.c 2010-06-26 20:24:00.135274844 +0200
-@@ -150,7 +150,7 @@ transform (SHA256_CONTEXT *hd, const uns
- h = hd->h7;
-
- #ifdef WORDS_BIGENDIAN
-- memcpy (x, data, 64);
-+ grub_memcpy (x, data, 64);
- #else
- {
- byte *p2;
diff --git a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_sha512_c b/package/grub/patches/patch-lib_libgcrypt-grub_cipher_sha512_c
deleted file mode 100644
index 070a15dff..000000000
--- a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_sha512_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- grub-1.98.orig/lib/libgcrypt-grub/cipher/sha512.c 2010-03-06 21:52:26.000000000 +0100
-+++ grub-1.98/lib/libgcrypt-grub/cipher/sha512.c 2010-06-26 20:24:09.235288423 +0200
-@@ -162,7 +162,7 @@ transform (SHA512_CONTEXT *hd, const uns
- h = hd->h7;
-
- #ifdef WORDS_BIGENDIAN
-- memcpy (w, data, 128);
-+ grub_memcpy (w, data, 128);
- #else
- {
- int i;
diff --git a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_tiger_c b/package/grub/patches/patch-lib_libgcrypt-grub_cipher_tiger_c
deleted file mode 100644
index a039004a2..000000000
--- a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_tiger_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- grub-1.98.orig/lib/libgcrypt-grub/cipher/tiger.c 2010-03-06 21:52:26.000000000 +0100
-+++ grub-1.98/lib/libgcrypt-grub/cipher/tiger.c 2010-06-26 20:22:45.507277255 +0200
-@@ -685,7 +685,7 @@ transform ( TIGER_CONTEXT *hd, const uns
- x[7] = MKWORD(data, 7);
- #undef MKWORD
- #else
-- memcpy( &x[0], data, 64 );
-+ grub_memcpy( &x[0], data, 64 );
- #endif
-
- /* save */
diff --git a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_twofish_c b/package/grub/patches/patch-lib_libgcrypt-grub_cipher_twofish_c
deleted file mode 100644
index 88e9e761c..000000000
--- a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_twofish_c
+++ /dev/null
@@ -1,20 +0,0 @@
---- grub-1.98.orig/lib/libgcrypt-grub/cipher/twofish.c 2010-03-06 21:52:26.000000000 +0100
-+++ grub-1.98/lib/libgcrypt-grub/cipher/twofish.c 2010-06-26 20:30:05.671278033 +0200
-@@ -932,7 +932,7 @@ main()
- twofish_encrypt (&ctx, buffer[1], buffer[1]);
- }
- }
-- encrypt_msg = memcmp (buffer, test_encrypt, sizeof (test_encrypt)) ?
-+ encrypt_msg = grub_memcmp (buffer, test_encrypt, sizeof (test_encrypt)) ?
- "encryption failure!\n" : "encryption OK!\n";
-
- /* Decryption test. */
-@@ -954,7 +954,7 @@ main()
- /* Stop the timer, and print results. */
- timer = clock () - timer;
- printf (encrypt_msg);
-- printf (memcmp (buffer, test_decrypt, sizeof (test_decrypt)) ?
-+ printf (grub_memcmp (buffer, test_decrypt, sizeof (test_decrypt)) ?
- "decryption failure!\n" : "decryption OK!\n");
- printf ("elapsed time: %.1f s.\n", (float) timer / CLOCKS_PER_SEC);
-
diff --git a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_whirlpool_c b/package/grub/patches/patch-lib_libgcrypt-grub_cipher_whirlpool_c
deleted file mode 100644
index a92518354..000000000
--- a/package/grub/patches/patch-lib_libgcrypt-grub_cipher_whirlpool_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- grub-1.98.orig/lib/libgcrypt-grub/cipher/whirlpool.c 2010-03-06 21:52:26.000000000 +0100
-+++ grub-1.98/lib/libgcrypt-grub/cipher/whirlpool.c 2010-06-26 20:17:35.043170089 +0200
-@@ -1381,7 +1381,7 @@ whirlpool_final (void *ctx)
- context->buffer[context->count++] = 0;
-
- /* Add length of message. */
-- memcpy (context->buffer + context->count, context->length, 32);
-+ grub_memcpy (context->buffer + context->count, context->length, 32);
- context->count += 32;
- whirlpool_add (context, NULL, 0);
-
diff --git a/package/grub/patches/patch-util_grub-install_in b/package/grub/patches/patch-util_grub-install_in
deleted file mode 100644
index 6cbc9fbc3..000000000
--- a/package/grub/patches/patch-util_grub-install_in
+++ /dev/null
@@ -1,11 +0,0 @@
---- grub-1.98.orig/util/grub-install.in 2010-03-06 21:51:37.000000000 +0100
-+++ grub-1.98/util/grub-install.in 2010-06-26 21:16:50.031158562 +0200
-@@ -306,7 +306,7 @@ config_opt=
-
- if [ "x${devabstraction_module}" = "x" ] ; then
- if [ x"${install_device}" != x ]; then
-- if echo "${install_device}" | grep -qx "(.*)" ; then
-+ if echo "${install_device}" | grep -q "(.*)" ; then
- install_drive="${install_device}"
- else
- install_drive="`$grub_probe --target=drive --device ${install_device}`"
diff --git a/package/grub/patches/patch-util_grub-mkconfig_lib_in b/package/grub/patches/patch-util_grub-mkconfig_lib_in
deleted file mode 100644
index a51e3ec53..000000000
--- a/package/grub/patches/patch-util_grub-mkconfig_lib_in
+++ /dev/null
@@ -1,11 +0,0 @@
---- grub-1.98.orig/util/grub-mkconfig_lib.in 2010-03-06 21:51:37.000000000 +0100
-+++ grub-1.98/util/grub-mkconfig_lib.in 2010-06-26 21:17:19.399157123 +0200
-@@ -154,7 +154,7 @@ version_test_numeric ()
- a=$b
- b=$c
- fi
-- if (echo $a ; echo $b) | sort -n | head -n 1 | grep -qx $b ; then
-+ if (echo $a ; echo $b) | sort -n | head -n 1 | grep -q $b ; then
- return 0
- else
- return 1
diff --git a/package/grub/patches/patch-util_grub_d_10_linux_in b/package/grub/patches/patch-util_grub_d_10_linux_in
deleted file mode 100644
index b84b3e3ca..000000000
--- a/package/grub/patches/patch-util_grub_d_10_linux_in
+++ /dev/null
@@ -1,20 +0,0 @@
---- grub-1.98.orig/util/grub.d/10_linux.in 2010-03-06 21:51:37.000000000 +0100
-+++ grub-1.98/util/grub.d/10_linux.in 2010-06-26 21:18:10.803156350 +0200
-@@ -66,8 +66,8 @@ linux_entry ()
- # Use ELILO's generic "efifb" when it's known to be available.
- # FIXME: We need an interface to select vesafb in case efifb can't be used.
- if [ "x$GRUB_GFXPAYLOAD_LINUX" = x ]; then
-- if grep -qx "CONFIG_FB_EFI=y" /boot/config-${version} 2> /dev/null \
-- && grep -qx "CONFIG_VT_HW_CONSOLE_BINDING=y" /boot/config-${version} 2> /dev/null; then
-+ if grep -q "CONFIG_FB_EFI=y" /boot/config-${version} 2> /dev/null \
-+ && grep -q "CONFIG_VT_HW_CONSOLE_BINDING=y" /boot/config-${version} 2> /dev/null; then
- cat << EOF
- set gfxpayload=keep
- EOF
-@@ -135,5 +135,5 @@ while [ "x$list" != "x" ] ; do
- "single ${GRUB_CMDLINE_LINUX}"
- fi
-
-- list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
-+ list=`echo $list | tr ' ' '\n' | grep -v $linux | tr '\n' ' '`
- done
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/libpthread/Makefile b/package/libpthread/Makefile
index 9d7806bc5..50d8172d1 100644
--- a/package/libpthread/Makefile
+++ b/package/libpthread/Makefile
@@ -10,7 +10,7 @@ ifeq ($(ADK_TARGET_LIB_MUSL),y)
include ${TOPDIR}/toolchain/musl/Makefile.inc
endif
ifeq ($(ADK_TARGET_LIB_UCLIBC),y)
-include ${TOPDIR}/toolchain/uClibc/Makefile.inc
+include ${TOPDIR}/toolchain/uclibc/Makefile.inc
endif
PKG_NAME:= libpthread
diff --git a/package/librt/Makefile b/package/librt/Makefile
index cf646672f..a9bd0f313 100644
--- a/package/librt/Makefile
+++ b/package/librt/Makefile
@@ -7,7 +7,7 @@ ifeq ($(ADK_TARGET_LIB_GLIBC),y)
include ${TOPDIR}/toolchain/glibc/Makefile.inc
endif
ifeq ($(ADK_TARGET_LIB_UCLIBC),y)
-include ${TOPDIR}/toolchain/uClibc/Makefile.inc
+include ${TOPDIR}/toolchain/uclibc/Makefile.inc
endif
PKG_NAME:= librt
diff --git a/package/libssp/Makefile b/package/libssp/Makefile
index def4443e8..02d755b4b 100644
--- a/package/libssp/Makefile
+++ b/package/libssp/Makefile
@@ -7,11 +7,11 @@ ifeq ($(ADK_TARGET_LIB_GLIBC),y)
include ${TOPDIR}/toolchain/glibc/Makefile.inc
endif
ifeq ($(ADK_TARGET_LIB_UCLIBC),y)
-include ${TOPDIR}/toolchain/uClibc/Makefile.inc
+include ${TOPDIR}/toolchain/uclibc/Makefile.inc
endif
PKG_NAME:= libssp
-PKG_DESCR:= Stack smashing protection library
+PKG_DESCR:= stack smashing protection library
PKG_SECTION:= libs
PKG_OPTS:= noremove
diff --git a/package/libstdcxx/Makefile b/package/libstdcxx/Makefile
index 84f0a7aec..ebfebcaf3 100644
--- a/package/libstdcxx/Makefile
+++ b/package/libstdcxx/Makefile
@@ -8,7 +8,7 @@ else
ifeq ($(ADK_TARGET_LIB_MUSL),y)
include ${TOPDIR}/toolchain/musl/Makefile.inc
else
-include ${TOPDIR}/toolchain/uClibc/Makefile.inc
+include ${TOPDIR}/toolchain/uclibc/Makefile.inc
endif
endif
diff --git a/package/libthread_db/Makefile b/package/libthread_db/Makefile
index 773c4c8f2..dde7d45a8 100644
--- a/package/libthread_db/Makefile
+++ b/package/libthread_db/Makefile
@@ -10,7 +10,7 @@ ifeq ($(ADK_TARGET_LIB_MUSL),y)
include ${TOPDIR}/toolchain/musl/Makefile.inc
endif
ifeq ($(ADK_TARGET_LIB_UCLIBC),y)
-include ${TOPDIR}/toolchain/uClibc/Makefile.inc
+include ${TOPDIR}/toolchain/uclibc/Makefile.inc
endif
PKG_NAME:= libthread-db
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/qemu/Makefile b/package/qemu/Makefile
index a43560a74..b4c20b14e 100644
--- a/package/qemu/Makefile
+++ b/package/qemu/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= qemu
PKG_VERSION:= 1.7.1
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= 9541063d999cf9659ed7fdce71314f31
PKG_DESCR:= cpu and system emulator
PKG_SECTION:= misc
@@ -26,6 +26,9 @@ include $(TOPDIR)/mk/package.mk
$(eval $(call HOST_template,QEMU,qemu,$(PKG_VERSION)-${PKG_RELEASE}))
$(eval $(call PKG_template,QEMU,qemu,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+ifeq ($(ADK_TARGET_LIB_MUSL),y)
+TARGET_CFLAGS+= -DF_EXLCK=4 -DF_SHLCK=8 -D__SIGRTMIN=32 -D__SIGRTMAX=\(NSIG-1\)
+endif
CONFIG_STYLE:= minimal
CONFIGURE_ARGS+= --host-cc=$(CC_FOR_BUILD) \
--cross-prefix=$(GNU_TARGET_NAME)- \
diff --git a/package/qemu/patches/patch-linux-user_syscall_c b/package/qemu/patches/patch-linux-user_syscall_c
index aa243b148..11188ca90 100644
--- a/package/qemu/patches/patch-linux-user_syscall_c
+++ b/package/qemu/patches/patch-linux-user_syscall_c
@@ -1,5 +1,5 @@
--- qemu-1.7.1.orig/linux-user/syscall.c 2014-03-25 15:01:10.000000000 +0100
-+++ qemu-1.7.1/linux-user/syscall.c 2014-04-02 16:56:13.483513278 +0200
++++ qemu-1.7.1/linux-user/syscall.c 2014-04-04 16:51:08.292546548 +0200
@@ -63,6 +63,7 @@ int __clone2(int (*fn)(void *), void *ch
//#include <sys/user.h>
#include <netinet/ip.h>
@@ -24,3 +24,12 @@
#include <linux/kd.h>
#include <linux/mtio.h>
#include <linux/fs.h>
+@@ -400,7 +409,7 @@ static int sys_inotify_init1(int flags)
+ #endif
+ #define __NR_sys_ppoll __NR_ppoll
+ _syscall5(int, sys_ppoll, struct pollfd *, fds, nfds_t, nfds,
+- struct timespec *, timeout, const __sigset_t *, sigmask,
++ struct timespec *, timeout, const sigset_t *, sigmask,
+ size_t, sigsetsize)
+ #endif
+
diff --git a/package/rdate/Makefile b/package/rdate/Makefile
index a37cbdfbc..30848af15 100644
--- a/package/rdate/Makefile
+++ b/package/rdate/Makefile
@@ -7,7 +7,7 @@ PKG_NAME:= rdate
PKG_VERSION:= 20070817
PKG_RELEASE:= 4
PKG_MD5SUM:= 9a6489d7de4311678a3fab001bb503df
-PKG_DESCR:= A small rdate and NTP client
+PKG_DESCR:= small rdate and NTP client
PKG_SECTION:= ntp
PKG_SITES:= ${MASTER_SITE_MIRBSD:distfiles/=dist/mir/rdate/}
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/tinyproxy/Makefile b/package/tinyproxy/Makefile
index 1de352fc3..624e9ef3f 100644
--- a/package/tinyproxy/Makefile
+++ b/package/tinyproxy/Makefile
@@ -4,31 +4,21 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= tinyproxy
-PKG_VERSION:= 1.6.5
+PKG_VERSION:= 1.8.3
PKG_RELEASE:= 2
-PKG_MD5SUM:= 2b2862ba33d2939e4572688d442ba415
-PKG_DESCR:= Tinyproxy is a lightweight HTTP and HTTPS proxy.
+PKG_MD5SUM:= eca927f7f6a9ce8394b2b256361978a7
+PKG_DESCR:= lightweight HTTP and HTTPS proxy
+PKG_BUILDDEP:= autotool
PKG_SECTION:= proxy
PKG_URL:= https://www.banu.com/tinyproxy/
-PKG_SITES:= https://www.banu.com/pub/tinyproxy/1.6/
+PKG_SITES:= https://www.banu.com/pub/tinyproxy/1.8/
include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,TINYPROXY,tinyproxy,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-CONFIGURE_ENV+= ac_cv_header_libintl_h=no \
- ac_cv_lib_nsl_gethostbyaddr=no \
- ac_cv_lib_nsl_gethostname=no
-
-ifeq (${ADK_COMPILE_TINYPROXY_WITH_TRANSPARENT_PROXY},y)
-CONFIGURE_ARGS+= --enable-transparent-proxy
-endif
-ifneq (${ADK_COMPILE_TINYPROXY_WITH_UPSTREAM},y)
-CONFIGURE_ARGS+= --disable-upstream
-endif
-ifneq (${ADK_COMPILE_TINYPROXY_WITH_FILTER},y)
-CONFIGURE_ARGS+= --disable-filter
-endif
+AUTOTOOL_STYLE:= autoreconf
+CONFIGURE_ARGS+= --disable-regexcheck
tinyproxy-install:
${INSTALL_DIR} ${IDIR_TINYPROXY}/usr/sbin \
@@ -44,7 +34,5 @@ tinyproxy-install:
${IDIR_TINYPROXY}/usr/share/tinyproxy/
${INSTALL_DATA} ${WRKINST}/usr/share/tinyproxy/stats.html \
${IDIR_TINYPROXY}/usr/share/tinyproxy/
- ${INSTALL_DATA} ${WRKINST}/usr/share/tinyproxy/HTML_VARIABLES \
- ${IDIR_TINYPROXY}/usr/share/tinyproxy/
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/tinyproxy/patches/patch-Makefile_am b/package/tinyproxy/patches/patch-Makefile_am
new file mode 100644
index 000000000..443ae2e78
--- /dev/null
+++ b/package/tinyproxy/patches/patch-Makefile_am
@@ -0,0 +1,10 @@
+--- tinyproxy-1.8.3.orig/Makefile.am 2011-08-16 14:14:34.000000000 +0200
++++ tinyproxy-1.8.3/Makefile.am 2014-04-07 08:43:20.000000000 +0200
+@@ -2,7 +2,6 @@ SUBDIRS = \
+ src \
+ data \
+ etc \
+- docs \
+ m4macros \
+ tests
+
diff --git a/package/tinyproxy/patches/patch-configure b/package/tinyproxy/patches/patch-configure
deleted file mode 100644
index d332d18ae..000000000
--- a/package/tinyproxy/patches/patch-configure
+++ /dev/null
@@ -1,24 +0,0 @@
---- tinyproxy-1.6.5.orig/configure 2009-09-29 05:28:04.000000000 +0200
-+++ tinyproxy-1.6.5/configure 2009-11-15 21:05:10.000000000 +0100
-@@ -5162,9 +5162,9 @@ _ACEOF
- fi
-
- # Check whether --enable-static was given.
--if test "${enable_static+set}" = set; then
-- enableval=$enable_static; LDFLAGS="-static $LDFLAGS"
--fi
-+#if test "${enable_static+set}" = set; then
-+# enableval=$enable_static; LDFLAGS="-static $LDFLAGS"
-+#fi
-
-
-
-@@ -10015,7 +10015,7 @@ if test x"$debug_enabled" = x"yes" ; the
- LEX_FLAGS="--warn --debug"
- fi
- else
-- CFLAGS="-O2 -DNDEBUG $CFLAGS"
-+ CFLAGS="$CFLAGS"
- YFLAGS="-d"
- fi
-
diff --git a/package/tinyproxy/patches/patch-configure_ac b/package/tinyproxy/patches/patch-configure_ac
new file mode 100644
index 000000000..b3fd83dc9
--- /dev/null
+++ b/package/tinyproxy/patches/patch-configure_ac
@@ -0,0 +1,27 @@
+--- tinyproxy-1.8.3.orig/configure.ac 2011-08-16 14:14:58.000000000 +0200
++++ tinyproxy-1.8.3/configure.ac 2014-04-07 08:43:06.000000000 +0200
+@@ -282,24 +282,12 @@ AC_SUBST(CPPFLAGS)
+ AC_SUBST(LIBS)
+ AC_SUBST(ADDITIONAL_OBJECTS)
+
+-# Check for asciidoc
+-AC_PATH_PROG(A2X, a2x, no)
+-AM_CONDITIONAL(HAVE_A2X, test "x$A2X" != "xno")
+-if test x"$A2X" = x"no"; then
+- AC_MSG_ERROR([Test for asciidoc failed. See the file 'INSTALL' for help.])
+-fi
+-
+ AC_CONFIG_FILES([
+ Makefile
+ src/Makefile
+ data/Makefile
+ data/templates/Makefile
+ etc/Makefile
+-docs/Makefile
+-docs/man5/Makefile
+-docs/man5/tinyproxy.conf.txt
+-docs/man8/Makefile
+-docs/man8/tinyproxy.txt
+ m4macros/Makefile
+ tests/Makefile
+ tests/scripts/Makefile
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/create.sh b/scripts/create.sh
index 505549247..e3fb7ac45 100755
--- a/scripts/create.sh
+++ b/scripts/create.sh
@@ -55,7 +55,7 @@ Syntax: $me [-c cfgfssize] [+g] [-i imagesize] [-p panictime]
[-s serialspeed] [-t] [-T imagetype] [+U] target.ima source.tgz
Explanation/Defaults:
-c: minimum 0, maximum 5, default 1 (MiB)
- +g: disables installing GNU GRUB 2 (-g enables it, default)
+ -g: enable installing GNU GRUB 2
-i: total image, default 512 (MiB; max. approx. 2 TiB)
-p: default 10 (seconds; 0 disables; max. 300)
-s: default 115200 (bps, others: 9600 19200 38400 57600)
@@ -66,7 +66,7 @@ EOF
}
cfgfs=1
-usegrub=1
+usegrub=0
tgtmib=512
panicreboot=10
speed=115200
@@ -80,7 +80,6 @@ while getopts "c:ghi:p:s:tT:" ch; do
usage
fi ;;
(g) usegrub=1 ;;
- (+g) usegrub=0 ;;
(h) usage 0 ;;
(i) if (( (tgtmib = OPTARG) < 7 || tgtmib > 2097150 )); then
print -u2 "$me: -i $OPTARG out of bounds"
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/arm/Makefile b/target/arm/Makefile
index 82e502a8c..f781bdd27 100644
--- a/target/arm/Makefile
+++ b/target/arm/Makefile
@@ -65,7 +65,7 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM)$(ADK_TARGET_SYSTEM_QEMU_ARMHF),y)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
@echo "Use following command to create a QEMU Image:"
- @echo "./scripts/create.sh +g qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
+ @echo "./scripts/create.sh qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
@echo "Start qemu with following options:"
@echo 'qemu-system-arm -M $(MACH) -nographic $(NET) -kernel $(FW_DIR)/$(TARGET_KERNEL) -hda qemu-${CPU_ARCH}.img'
endif
diff --git a/target/config/Config.in b/target/config/Config.in
index 501039ed1..78d15a97e 100644
--- a/target/config/Config.in
+++ b/target/config/Config.in
@@ -202,7 +202,7 @@ config ADK_TARGET_KERNEL_MINICONFIG
default "qemu-sh" if ADK_TARGET_SYSTEM_QEMU_SH4EB
default "qemu-sparc" if ADK_TARGET_SYSTEM_QEMU_SPARC
default "qemu-sparc64" if ADK_TARGET_SYSTEM_QEMU_SPARC64
- default "qemu-i686" if ADK_TARGET_SYSTEM_QEMU_I686
+ default "qemu-x86" if ADK_TARGET_SYSTEM_QEMU_I686 || ADK_TARGET_SYSTEM_QEMU_I486
default "qemu-x86_64" if ADK_TARGET_SYSTEM_QEMU_X86_64 || ADK_TARGET_SYSTEM_QEMU_X86_64_32 || ADK_TARGET_SYSTEM_QEMU_X86_64_X32
default "aranym-m68k" if ADK_TARGET_SYSTEM_ARANYM_M68K
default "ibm-x40" if ADK_TARGET_SYSTEM_IBM_X40
@@ -210,11 +210,28 @@ config ADK_TARGET_KERNEL_MINICONFIG
default "raspberry-pi" if ADK_TARGET_SYSTEM_RASPBERRY_PI
default "sharp-zaurus" if ADK_TARGET_SYSTEM_SHARP_ZAURUS
default "lemote-yeelong" if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
+ default "generic-pc" if ADK_TARGET_SYSTEM_GENERIC_PC
config ADK_QEMU_ARGS
string
default "-nographic" if ADK_TARGET_QEMU_WITHOUT_GRAPHIC
+menu "Qemu configuration"
+depends on ADK_HARDWARE_QEMU
+
+choice
+prompt "Use a Bootloader"
+depends on ADK_TARGET_SYSTEM_QEMU_X86_64 || ADK_LINUX_X86
+
+config ADK_TARGET_QEMU_WITHOUT_BOOTLOADER
+ boolean "do not use bootloader"
+
+config ADK_TARGET_QEMU_WITH_BOOTLOADER
+ boolean "use bootloader"
+ select ADK_PACKAGE_GRUB if ADK_TARGET_SYSTEM_QEMU_X86_64 || ADK_LINUX_X86
+
+endchoice
+
choice
prompt "Qemu MICROBLAZE Emulation"
depends on ADK_TARGET_SYSTEM_QEMU_MICROBLAZE || ADK_TARGET_SYSTEM_QEMU_MICROBLAZEEL
@@ -265,7 +282,7 @@ config ADK_TARGET_QEMU_WITH_BLOCK
boolean "enabled"
select ADK_KERNEL_SCSI_SYM53C8XX_2 if ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB
select ADK_KERNEL_MTD_M25P80 if ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605 || ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800
- select ADK_KERNEL_ATA_PIIX if ADK_LINUX_MIPS || ADK_TARGET_SYSTEM_QEMU_I686 || ADK_TARGET_SYSTEM_QEMU_X86_64
+ select ADK_KERNEL_ATA_PIIX if ADK_LINUX_MIPS || ADK_LINUX_X86 || ADK_TARGET_SYSTEM_QEMU_X86_64
select ADK_KERNEL_PATA_MACIO if ADK_TARGET_SYSTEM_QEMU_PPC
select ADK_KERNEL_SCSI_IBMVSCSI if ADK_TARGET_SYSTEM_QEMU_PPC64
select ADK_KERNEL_SCSI_SUNESP if ADK_TARGET_SYSTEM_QEMU_SPARC
@@ -320,6 +337,7 @@ config ADK_TARGET_QEMU_WITH_VIRTIO
endchoice
+endmenu
choice
prompt "Use ARM thumb mode"
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/target/mips/Makefile b/target/mips/Makefile
index 436b570e3..bd3a763b6 100644
--- a/target/mips/Makefile
+++ b/target/mips/Makefile
@@ -101,7 +101,7 @@ ifneq ($(ADK_HARDWARE_QEMU),)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
@echo "Use following command to create a QEMU Image:"
- @echo "./scripts/create.sh +g qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
+ @echo "./scripts/create.sh qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
@echo "Start qemu with following options:"
@echo 'qemu-system-${CPU_ARCH} -nographic -M malta -device e1000,netdev=adk0 -netdev user,id=adk0 -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
endif
diff --git a/target/packages/pkg-available/test b/target/packages/pkg-available/test
index 5ffe80949..e9db8161b 100644
--- a/target/packages/pkg-available/test
+++ b/target/packages/pkg-available/test
@@ -5,6 +5,7 @@ config ADK_PKG_TEST
select ADK_PACKAGE_SOCAT
select ADK_PACKAGE_MAKE
select ADK_PACKAGE_FILE
+ select ADK_PACKAGE_RDATE
select ADK_KERNEL_BLK_DEV_INITRD
select ADK_KERNEL_COMP_XZ
select ADK_KERNEL_INITRAMFS_COMPRESSION_XZ
diff --git a/target/ppc/Makefile b/target/ppc/Makefile
index aae63f1c0..fa1cd1698 100644
--- a/target/ppc/Makefile
+++ b/target/ppc/Makefile
@@ -17,7 +17,7 @@ imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
ifeq ($(ADK_HARDWARE_QEMU),y)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
@echo "Use following command to create a QEMU Image:"
- @echo "./scripts/create.sh +g qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
+ @echo "./scripts/create.sh qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
@echo "Start qemu with following command line:"
@echo 'qemu-system-ppc -M mac99 -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
endif
diff --git a/target/ppc64/Makefile b/target/ppc64/Makefile
index 6ee949a09..5b9c1caa6 100644
--- a/target/ppc64/Makefile
+++ b/target/ppc64/Makefile
@@ -17,7 +17,7 @@ imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
ifeq ($(ADK_HARDWARE_QEMU),y)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
@echo "Use following command to create a QEMU Image:"
- @echo "./scripts/create.sh +g qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
+ @echo "./scripts/create.sh qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
@echo "Start qemu with following command line:"
@echo 'qemu-system-ppc64 -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
endif
diff --git a/target/sh/Makefile b/target/sh/Makefile
index 0d5706eb3..12f8d0ce4 100644
--- a/target/sh/Makefile
+++ b/target/sh/Makefile
@@ -17,7 +17,7 @@ ifneq ($(ADK_HARDWARE_QEMU),)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
@echo "Use following command to create a QEMU Image:"
- @echo "./scripts/create.sh +g qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
+ @echo "./scripts/create.sh qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
@echo "Start qemu with following options:"
@echo 'qemu-system-${CPU_ARCH} ${QEMU_ARGS} -M r2d -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
endif
diff --git a/target/sparc/Makefile b/target/sparc/Makefile
index 1e15ee7f0..356f8745b 100644
--- a/target/sparc/Makefile
+++ b/target/sparc/Makefile
@@ -16,7 +16,7 @@ imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
@echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
ifeq ($(ADK_TARGET_SYSTEM_QEMU_SPARC),y)
@echo "Use following command to create a QEMU Image:"
- @echo "./scripts/create.sh +g qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
+ @echo "./scripts/create.sh qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
@echo "Start qemu with following command line:"
@echo 'qemu-system-sparc -M SS-5 -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img -append "root=/dev/sda1"'
endif
diff --git a/target/sparc64/Makefile b/target/sparc64/Makefile
index 882189284..657d2ed4f 100644
--- a/target/sparc64/Makefile
+++ b/target/sparc64/Makefile
@@ -27,7 +27,7 @@ imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
@echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
ifeq ($(ADK_TARGET_SYSTEM_QEMU_SPARC64),y)
@echo "Use following command to create a QEMU Image:"
- @echo "./scripts/create.sh +g qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
+ @echo "./scripts/create.sh qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
@echo "Start qemu with following command line:"
@echo 'qemu-system-sparc64 $(QEMU_ARGS) -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
endif
diff --git a/target/x86/Makefile b/target/x86/Makefile
index 15d980d7c..e72087ea9 100644
--- a/target/x86/Makefile
+++ b/target/x86/Makefile
@@ -8,6 +8,11 @@ include $(TOPDIR)/mk/kernel-build.mk
include $(TOPDIR)/mk/image.mk
KERNEL:=$(LINUX_DIR)/arch/x86/boot/bzImage
+ifeq ($(ADK_TARGET_QEMU_WITH_BOOTLOADER),y)
+CREATE:=./scripts/create.sh -g
+else
+CREATE:=./scripts/create.sh
+endif
ifeq ($(ADK_TARGET_FS),genext2fs)
imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
@@ -31,7 +36,7 @@ imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
ifeq ($(ADK_HARDWARE_QEMU),y)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
@echo "Use following command to create a QEMU Image:"
- @echo "./scripts/create.sh qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
+ @echo "$(CREATE) qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
@echo "Start qemu with following command line:"
@echo 'qemu-system-i386 ${ADK_QEMU_ARGS} -net user -net nic,model=e1000 -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
endif
diff --git a/target/x86/kernel/generic-pc b/target/x86/kernel/generic-pc
new file mode 100644
index 000000000..f665a27c6
--- /dev/null
+++ b/target/x86/kernel/generic-pc
@@ -0,0 +1,19 @@
+CONFIG_X86=y
+CONFIG_X86_32=y
+CONFIG_PCI=y
+CONFIG_PCI_GOANY=y
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_NET_VENDOR_NATSEMI=y
+CONFIG_NET_VENDOR_8390=y
+CONFIG_NE2K_PCI=y
+CONFIG_PCNET32=y
+CONFIG_NET_VENDOR_REALTEK=y
+CONFIG_RTL8139CP=y
+CONFIG_8139TOO=y
+CONFIG_NET_VENDOR_INTEL=y
+CONFIG_E100=y
+CONFIG_E1000=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
diff --git a/target/x86/kernel/qemu-i686 b/target/x86/kernel/qemu-x86
index 7eb708745..7eb708745 100644
--- a/target/x86/kernel/qemu-i686
+++ b/target/x86/kernel/qemu-x86
diff --git a/target/x86/sys-available/generic-pc b/target/x86/sys-available/generic-pc
new file mode 100644
index 000000000..76d228936
--- /dev/null
+++ b/target/x86/sys-available/generic-pc
@@ -0,0 +1,9 @@
+config ADK_TARGET_SYSTEM_GENERIC_PC
+ bool "Generic PC (486)"
+ select ADK_x86
+ select ADK_generic_pc
+ select ADK_CPU_I486
+ select ADK_TARGET_KERNEL_BZIMAGE
+ help
+ Support for generic PC (i486).
+
diff --git a/target/x86/sys-available/qemu-i486 b/target/x86/sys-available/qemu-i486
new file mode 100644
index 000000000..dc0da52ca
--- /dev/null
+++ b/target/x86/sys-available/qemu-i486
@@ -0,0 +1,10 @@
+config ADK_TARGET_SYSTEM_QEMU_I486
+ bool "Qemu Emulator (i486)"
+ select ADK_x86
+ select ADK_qemu_i486
+ select ADK_CPU_I486
+ select ADK_HARDWARE_QEMU
+ select ADK_TARGET_KERNEL_BZIMAGE
+ help
+ Support for Qemu Emulator (i486).
+
diff --git a/target/x86/sys-available/qemu-i686 b/target/x86/sys-available/qemu-i686
index b047bc482..b2951a1e2 100644
--- a/target/x86/sys-available/qemu-i686
+++ b/target/x86/sys-available/qemu-i686
@@ -1,5 +1,5 @@
config ADK_TARGET_SYSTEM_QEMU_I686
- bool "Qemu Emulator"
+ bool "Qemu Emulator (i686)"
select ADK_x86
select ADK_qemu_i686
select ADK_CPU_I686
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/miscompile.sparc b/toolchain/gcc/patches/4.8.2/miscompile.sparc
new file mode 100644
index 000000000..4aef2e605
--- /dev/null
+++ b/toolchain/gcc/patches/4.8.2/miscompile.sparc
@@ -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