summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Config.in1
-rw-r--r--package/libstdcxx/Makefile3
-rw-r--r--package/mksh/Makefile2
-rw-r--r--scripts/scan-tools.sh13
-rw-r--r--target/arch.lst1
-rw-r--r--target/config/Config.in.cpu8
-rw-r--r--target/config/Config.in.cris5
-rw-r--r--target/config/Config.in.cris.choice16
-rw-r--r--target/config/Config.in.cris.default13
-rw-r--r--target/config/Config.in.libc.choice2
-rw-r--r--target/config/Config.in.libc.default2
-rw-r--r--target/config/Config.in.target2
-rw-r--r--target/config/Config.in.toolchain12
-rw-r--r--target/cris/Makefile9
-rw-r--r--target/cris/systems/toolchain-cris10
-rw-r--r--target/cris/uclibc.config251
-rw-r--r--target/linux/patches/3.16.2/cris-header.patch50
-rw-r--r--toolchain/gcc/Makefile.inc8
-rw-r--r--toolchain/gcc/patches/4.7.3/musl-cross.patch825
-rw-r--r--toolchain/gcc/patches/4.7.3/musl-m68k.patch11
-rw-r--r--toolchain/gcc/patches/4.7.3/musl-mips64.patch14
-rw-r--r--toolchain/gcc/patches/4.7.3/musl-ppc.patch155
-rw-r--r--toolchain/gcc/patches/4.7.3/musl-sh.patch11
-rw-r--r--toolchain/gcc/patches/4.7.3/musl-sparc.patch24
-rw-r--r--toolchain/gcc/patches/4.7.4/armhf.patch (renamed from toolchain/gcc/patches/4.7.3/armhf.patch)0
-rw-r--r--toolchain/gcc/patches/4.7.4/cflags.patch (renamed from toolchain/gcc/patches/4.7.3/cflags.patch)0
-rw-r--r--toolchain/gcc/patches/4.7.4/openbsd-lto.patch (renamed from toolchain/gcc/patches/4.7.3/openbsd-lto.patch)0
-rw-r--r--toolchain/gcc/patches/4.7.4/ppc-uclibc-cmath.patch (renamed from toolchain/gcc/patches/4.7.3/ppc-uclibc-cmath.patch)0
-rw-r--r--toolchain/kernel-headers/Makefile7
-rw-r--r--toolchain/uclibc/patches/0.9.34-git/0002-nptl-remove-duplicate-vfork-in-libpthread.patch793
30 files changed, 407 insertions, 1841 deletions
diff --git a/Config.in b/Config.in
index bed7e11f9..6f606c0c8 100644
--- a/Config.in
+++ b/Config.in
@@ -20,6 +20,7 @@ source "target/config/Config.in.system"
source "target/config/Config.in.endian"
source "target/config/Config.in.abi"
source "target/config/Config.in.arm"
+source "target/config/Config.in.cris"
source "target/config/Config.in.x86"
source "target/config/Config.in.qemu"
source "target/config/Config.in.qemuopts"
diff --git a/package/libstdcxx/Makefile b/package/libstdcxx/Makefile
index 360163d43..b95cfcba2 100644
--- a/package/libstdcxx/Makefile
+++ b/package/libstdcxx/Makefile
@@ -12,6 +12,9 @@ endif
ifeq ($(ADK_TARGET_LIB_UCLIBC),y)
include ${ADK_TOPDIR}/toolchain/uclibc/Makefile.inc
endif
+ifeq ($(ADK_TARGET_LIB_UCLIBC_NG),y)
+include ${ADK_TOPDIR}/toolchain/uclibc-ng/Makefile.inc
+endif
PKG_NAME:= libstdcxx
PKG_DESCR:= c++ support library
diff --git a/package/mksh/Makefile b/package/mksh/Makefile
index d0f440899..16b805eec 100644
--- a/package/mksh/Makefile
+++ b/package/mksh/Makefile
@@ -42,7 +42,7 @@ mksh-hostinstall:
do-build:
cd ${WRKBUILD} && CC='${TARGET_CC}' CFLAGS='${TARGET_CFLAGS}' \
CPPFLAGS='${TARGET_CPPFLAGS}' LDFLAGS='${TARGET_LDFLAGS}' \
- HAVE_CAN_FSTACKPROTECTORALL=0 \
+ HAVE_CAN_FSTACKPROTECTORALL=0 HAVE_CAN_FSTACKPROTECTORSTRONG=0 \
TARGET_OS=Linux ${BASH} ${WRKSRC}/Build.sh -Q -r -c lto
mksh-install:
diff --git a/scripts/scan-tools.sh b/scripts/scan-tools.sh
index 2569d859b..93cd1dd70 100644
--- a/scripts/scan-tools.sh
+++ b/scripts/scan-tools.sh
@@ -250,12 +250,6 @@ if ! which gxargs >/dev/null 2>&1; then
fi
fi
-if which grep >/dev/null 2>&1; then
- if ! grep --version 2>/dev/null|grep GNU >/dev/null;then
- host_build_grep=1
- fi
-fi
-
if ! which gfind >/dev/null 2>&1; then
if which find >/dev/null 2>&1; then
if ! find --version 2>/dev/null|grep GNU >/dev/null;then
@@ -264,6 +258,13 @@ if ! which gfind >/dev/null 2>&1; then
fi
fi
+host_build_grep=0
+if which grep >/dev/null 2>&1; then
+ if ! grep --version 2>/dev/null|grep GNU >/dev/null;then
+ host_build_grep=1
+ fi
+fi
+
host_build_gawk=0
if ! which gawk >/dev/null 2>&1; then
host_build_gawk=1
diff --git a/target/arch.lst b/target/arch.lst
index 083acb83e..703793bb0 100644
--- a/target/arch.lst
+++ b/target/arch.lst
@@ -4,6 +4,7 @@ arc
arm
avr32
bfin
+cris
m68k
microblaze
mips
diff --git a/target/config/Config.in.cpu b/target/config/Config.in.cpu
index b39b5a65c..c191d9f37 100644
--- a/target/config/Config.in.cpu
+++ b/target/config/Config.in.cpu
@@ -46,6 +46,12 @@ config ADK_CPU_ATHLON
config ADK_CPU_ARC
boolean
+config ADK_CPU_CRIS_V10
+ boolean
+
+config ADK_CPU_CRIS_V32
+ boolean
+
config ADK_CPU_SH4
boolean
@@ -131,6 +137,8 @@ config ADK_TARGET_CPU_ARCH
default "arceb" if ADK_CPU_ARC && ADK_big
default "avr32" if ADK_CPU_AVR32
default "bfin" if ADK_CPU_BFIN
+ default "cris" if ADK_CPU_CRIS_V10
+ default "crisv32" if ADK_CPU_CRIS_V32
default "i486" if ADK_CPU_I486
default "i586" if ADK_CPU_I586
default "i686" if ADK_CPU_I686
diff --git a/target/config/Config.in.cris b/target/config/Config.in.cris
new file mode 100644
index 000000000..3dc12a897
--- /dev/null
+++ b/target/config/Config.in.cris
@@ -0,0 +1,5 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+source target/config/Config.in.cris.choice
+source target/config/Config.in.cris.default
diff --git a/target/config/Config.in.cris.choice b/target/config/Config.in.cris.choice
new file mode 100644
index 000000000..55a6a8997
--- /dev/null
+++ b/target/config/Config.in.cris.choice
@@ -0,0 +1,16 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+choice ADK_TARGET_CRIS_CPU_ARCH
+prompt "CPU architecture"
+depends on ADK_TARGET_TOOLCHAIN && ADK_LINUX_CRIS
+
+config ADK_CPU_CRIS_V10
+ boolean "cris v10"
+ select ADK_crisv10
+
+config ADK_CPU_CRIS_V32
+ boolean "cris v32"
+ select ADK_crisv32
+
+endchoice
diff --git a/target/config/Config.in.cris.default b/target/config/Config.in.cris.default
new file mode 100644
index 000000000..a307897a0
--- /dev/null
+++ b/target/config/Config.in.cris.default
@@ -0,0 +1,13 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+config ADK_crisv10
+ boolean
+
+config ADK_crisv32
+ boolean
+
+config ADK_TARGET_CRIS_CPU
+ string
+ default "cris" if ADK_crisv10
+ default "crisv32" if ADK_crisv32
diff --git a/target/config/Config.in.libc.choice b/target/config/Config.in.libc.choice
index 0a9f13be6..01391f453 100644
--- a/target/config/Config.in.libc.choice
+++ b/target/config/Config.in.libc.choice
@@ -42,6 +42,7 @@ config ADK_TARGET_LIB_GLIBC
depends on !ADK_LINUX_ARC
depends on !ADK_LINUX_AVR32
depends on !ADK_LINUX_BFIN
+ depends on !ADK_LINUX_CRIS
depends on !ADK_LINUX_XTENSA
depends on !ADK_TARGET_UCLINUX
help
@@ -54,6 +55,7 @@ config ADK_TARGET_LIB_UCLIBC
depends on \
!ADK_LINUX_AARCH64 && \
!ADK_LINUX_ALPHA && \
+ !ADK_LINUX_CRIS && \
!ADK_LINUX_MICROBLAZE && \
!ADK_LINUX_SPARC64 && \
!ADK_LINUX_PPC64 && \
diff --git a/target/config/Config.in.libc.default b/target/config/Config.in.libc.default
index 04c6b4204..5f46ea41a 100644
--- a/target/config/Config.in.libc.default
+++ b/target/config/Config.in.libc.default
@@ -32,6 +32,8 @@ config ADK_LIBC_VERSION
config ADK_TARGET_WITH_NPTL
boolean
+ default n if ADK_TARGET_LIB_UCLIBC_NG && ADK_LINUX_CRIS
+ default n if ADK_TARGET_LIB_UCLIBC && ADK_LINUX_CRIS
default n if ADK_TARGET_LIB_UCLIBC_NG && ADK_LINUX_M68K
default n if ADK_TARGET_LIB_UCLIBC && ADK_LINUX_M68K
default y
diff --git a/target/config/Config.in.target b/target/config/Config.in.target
index e312200f8..0415e0ce5 100644
--- a/target/config/Config.in.target
+++ b/target/config/Config.in.target
@@ -3,6 +3,8 @@
config ADK_TARGET_CFLAGS
string
+ default "-march=v32" if ADK_CPU_CRIS_V32
+ default "-march=v10" if ADK_CPU_CRIS_V10
default "-mcpu=5208" if ADK_CPU_CF_5208
default "-mcpu=v7.10.d" if ADK_CPU_MICROBLAZE
default "-m4 -ml" if ADK_CPU_SH4 && ADK_little
diff --git a/target/config/Config.in.toolchain b/target/config/Config.in.toolchain
index 23b348ecc..0fcdc442b 100644
--- a/target/config/Config.in.toolchain
+++ b/target/config/Config.in.toolchain
@@ -23,6 +23,11 @@ config ADK_TOOLCHAIN_GCC_4_5_4
boolean
depends on ADK_LINUX_BFIN
+config ADK_TOOLCHAIN_GCC_4_7_4
+ prompt "4.7.4"
+ boolean
+ depends on ADK_LINUX_CRIS
+
config ADK_TOOLCHAIN_GCC_4_8_0_ARC
prompt "4.8.0-arc"
boolean
@@ -35,6 +40,7 @@ config ADK_TOOLCHAIN_GCC_4_8_3
depends on !ADK_LINUX_AARCH64
depends on !ADK_LINUX_ARC
depends on !ADK_LINUX_AVR32
+ depends on !ADK_LINUX_CRIS
config ADK_TOOLCHAIN_GCC_4_9_1
prompt "4.9.1"
@@ -42,6 +48,7 @@ config ADK_TOOLCHAIN_GCC_4_9_1
depends on !ADK_LINUX_BFIN
depends on !ADK_LINUX_ARC
depends on !ADK_LINUX_AVR32
+ depends on !ADK_LINUX_CRIS
config ADK_TOOLCHAIN_GCC_GIT
prompt "git"
@@ -50,6 +57,7 @@ config ADK_TOOLCHAIN_GCC_GIT
depends on !ADK_LINUX_BFIN
depends on !ADK_LINUX_ARC
depends on !ADK_LINUX_AVR32
+ depends on !ADK_LINUX_CRIS
endchoice
@@ -65,7 +73,7 @@ config ADK_TOOLCHAIN_BINUTILS_2_20_1
config ADK_TOOLCHAIN_BINUTILS_2_22
prompt "2.22"
boolean
- depends on ADK_LINUX_BFIN
+ depends on ADK_LINUX_BFIN || ADK_LINUX_CRIS
config ADK_TOOLCHAIN_BINUTILS_2_23_ARC
prompt "2.23-arc"
@@ -78,6 +86,7 @@ config ADK_TOOLCHAIN_BINUTILS_2_24
depends on !ADK_LINUX_BFIN
depends on !ADK_LINUX_ARC
depends on !ADK_LINUX_AVR32
+ depends on !ADK_LINUX_CRIS
config ADK_TOOLCHAIN_BINUTILS_GIT
prompt "git"
@@ -86,6 +95,7 @@ config ADK_TOOLCHAIN_BINUTILS_GIT
depends on !ADK_LINUX_BFIN
depends on !ADK_LINUX_ARC
depends on !ADK_LINUX_AVR32
+ depends on !ADK_LINUX_CRIS
endchoice
diff --git a/target/cris/Makefile b/target/cris/Makefile
new file mode 100644
index 000000000..ebc17340e
--- /dev/null
+++ b/target/cris/Makefile
@@ -0,0 +1,9 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+include $(ADK_TOPDIR)/mk/kernel.mk
+include $(ADK_TOPDIR)/mk/modules.mk
+include $(ADK_TOPDIR)/mk/kernel-build.mk
+include $(ADK_TOPDIR)/mk/image.mk
+
diff --git a/target/cris/systems/toolchain-cris b/target/cris/systems/toolchain-cris
new file mode 100644
index 000000000..765ba90df
--- /dev/null
+++ b/target/cris/systems/toolchain-cris
@@ -0,0 +1,10 @@
+config ADK_TARGET_SYSTEM_TOOLCHAIN_CRIS
+ bool "Toolchain only"
+ select ADK_cris
+ select ADK_toolchain_cris
+ select ADK_CPU_CRIS_V32
+ select ADK_TARGET_TOOLCHAIN
+ select ADK_TARGET_PACKAGE_TXZ
+ help
+ CRIS toolchain.
+
diff --git a/target/cris/uclibc.config b/target/cris/uclibc.config
new file mode 100644
index 000000000..0b9aa4689
--- /dev/null
+++ b/target/cris/uclibc.config
@@ -0,0 +1,251 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# uClibc 0.9.34-git C Library Configuration
+#
+# TARGET_alpha is not set
+# TARGET_arc is not set
+# TARGET_arm is not set
+# TARGET_avr32 is not set
+# TARGET_bfin is not set
+# TARGET_c6x is not set
+TARGET_cris=y
+# TARGET_e1 is not set
+# TARGET_frv is not set
+# TARGET_h8300 is not set
+# TARGET_hppa is not set
+# TARGET_i386 is not set
+# TARGET_i960 is not set
+# TARGET_ia64 is not set
+# TARGET_m68k is not set
+# TARGET_metag is not set
+# TARGET_microblaze is not set
+# TARGET_mips is not set
+# TARGET_nios is not set
+# TARGET_nios2 is not set
+# TARGET_powerpc is not set
+# TARGET_sh is not set
+# TARGET_sh64 is not set
+# TARGET_sparc is not set
+# TARGET_v850 is not set
+# TARGET_vax is not set
+# TARGET_x86_64 is not set
+# TARGET_xtensa is not set
+
+#
+# Target Architecture Features and Options
+#
+TARGET_ARCH="cris"
+FORCE_OPTIONS_FOR_ARCH=y
+# CONFIG_AVR32_AP7 is not set
+CONFIG_CRIS=y
+# CONFIG_CRISV32 is not set
+TARGET_SUBARCH=""
+
+#
+# Using ELF file format
+#
+ARCH_HAS_DEPRECATED_SYSCALLS=y
+ARCH_LITTLE_ENDIAN=y
+
+#
+# Using Little Endian
+#
+ARCH_HAS_MMU=y
+ARCH_USE_MMU=y
+UCLIBC_HAS_FLOATS=y
+UCLIBC_HAS_FPU=y
+DO_C99_MATH=y
+# DO_XSI_MATH is not set
+UCLIBC_HAS_FENV=y
+KERNEL_HEADERS=""
+HAVE_DOT_CONFIG=y
+
+#
+# General Library Settings
+#
+DOPIC=y
+HAVE_SHARED=y
+FORCE_SHAREABLE_TEXT_SEGMENTS=y
+LDSO_LDD_SUPPORT=y
+LDSO_CACHE_SUPPORT=y
+# LDSO_PRELOAD_ENV_SUPPORT is not set
+# LDSO_PRELOAD_FILE_SUPPORT is not set
+LDSO_BASE_FILENAME="ld.so"
+# LDSO_STANDALONE_SUPPORT is not set
+# LDSO_PRELINK_SUPPORT is not set
+# UCLIBC_STATIC_LDCONFIG is not set
+LDSO_RUNPATH=y
+LDSO_SAFE_RUNPATH=y
+LDSO_SEARCH_INTERP_PATH=y
+LDSO_LD_LIBRARY_PATH=y
+# LDSO_NO_CLEANUP is not set
+UCLIBC_CTOR_DTOR=y
+# LDSO_GNU_HASH_SUPPORT is not set
+# HAS_NO_THREADS is not set
+LINUXTHREADS_OLD=y
+# LINUXTHREADS_NEW is not set
+# UCLIBC_HAS_THREADS_NATIVE is not set
+UCLIBC_HAS_THREADS=y
+# PTHREADS_DEBUG_SUPPORT is not set
+UCLIBC_HAS_SYSLOG=y
+UCLIBC_HAS_LFS=y
+# MALLOC is not set
+# MALLOC_SIMPLE is not set
+MALLOC_STANDARD=y
+MALLOC_GLIBC_COMPAT=y
+UCLIBC_HAS_OBSTACK=y
+UCLIBC_DYNAMIC_ATEXIT=y
+COMPAT_ATEXIT=y
+UCLIBC_SUSV2_LEGACY=y
+UCLIBC_SUSV3_LEGACY=y
+# UCLIBC_SUSV3_LEGACY_MACROS is not set
+UCLIBC_SUSV4_LEGACY=y
+# UCLIBC_STRICT_HEADERS is not set
+# UCLIBC_HAS_STUBS is not set
+UCLIBC_HAS_SHADOW=y
+UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
+UCLIBC_HAS___PROGNAME=y
+UCLIBC_HAS_PTY=y
+ASSUME_DEVPTS=y
+UNIX98PTY_ONLY=y
+UCLIBC_HAS_GETPT=y
+UCLIBC_HAS_LIBUTIL=y
+UCLIBC_HAS_TM_EXTENSIONS=y
+UCLIBC_HAS_TZ_CACHING=y
+UCLIBC_HAS_TZ_FILE=y
+UCLIBC_HAS_TZ_FILE_READ_MANY=y
+UCLIBC_TZ_FILE_PATH="/etc/TZ"
+UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+
+#
+# Advanced Library Settings
+#
+UCLIBC_PWD_BUFFER_SIZE=256
+UCLIBC_GRP_BUFFER_SIZE=256
+
+#
+# Support various families of functions
+#
+UCLIBC_LINUX_MODULE_26=y
+# UCLIBC_LINUX_MODULE_24 is not set
+UCLIBC_LINUX_SPECIFIC=y
+UCLIBC_HAS_GNU_ERROR=y
+UCLIBC_BSD_SPECIFIC=y
+UCLIBC_HAS_BSD_ERR=y
+UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
+# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
+# UCLIBC_NTP_LEGACY is not set
+UCLIBC_SV4_DEPRECATED=y
+UCLIBC_HAS_REALTIME=y
+UCLIBC_HAS_ADVANCED_REALTIME=y
+UCLIBC_HAS_EPOLL=y
+UCLIBC_HAS_XATTR=y
+# UCLIBC_HAS_PROFILING is not set
+UCLIBC_HAS_CRYPT_IMPL=y
+# UCLIBC_HAS_SHA256_CRYPT_IMPL is not set
+# UCLIBC_HAS_SHA512_CRYPT_IMPL is not set
+UCLIBC_HAS_CRYPT=y
+UCLIBC_HAS_NETWORK_SUPPORT=y
+UCLIBC_HAS_SOCKET=y
+UCLIBC_HAS_IPV4=y
+UCLIBC_HAS_IPV6=y
+# UCLIBC_HAS_RPC is not set
+UCLIBC_USE_NETLINK=y
+UCLIBC_SUPPORT_AI_ADDRCONFIG=y
+UCLIBC_HAS_BSD_RES_CLOSE=y
+UCLIBC_HAS_COMPAT_RES_STATE=y
+# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
+UCLIBC_HAS_RESOLVER_SUPPORT=y
+UCLIBC_HAS_LIBRESOLV_STUB=y
+UCLIBC_HAS_LIBNSL_STUB=y
+
+#
+# String and Stdio Support
+#
+UCLIBC_HAS_STRING_GENERIC_OPT=y
+UCLIBC_HAS_STRING_ARCH_OPT=y
+UCLIBC_HAS_CTYPE_TABLES=y
+UCLIBC_HAS_CTYPE_SIGNED=y
+# UCLIBC_HAS_CTYPE_UNSAFE is not set
+UCLIBC_HAS_CTYPE_CHECKED=y
+# UCLIBC_HAS_CTYPE_ENFORCED is not set
+UCLIBC_HAS_WCHAR=y
+# UCLIBC_HAS_LOCALE is not set
+UCLIBC_HAS_HEXADECIMAL_FLOATS=y
+UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
+UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
+# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
+# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
+UCLIBC_HAS_STDIO_BUFSIZ_4096=y
+# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
+UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
+# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
+# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
+UCLIBC_HAS_STDIO_GETC_MACRO=y
+UCLIBC_HAS_STDIO_PUTC_MACRO=y
+UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
+# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
+UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
+# UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE is not set
+UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
+UCLIBC_HAS_PRINTF_M_SPEC=y
+UCLIBC_HAS_ERRNO_MESSAGES=y
+# UCLIBC_HAS_SYS_ERRLIST is not set
+UCLIBC_HAS_SIGNUM_MESSAGES=y
+# UCLIBC_HAS_SYS_SIGLIST is not set
+UCLIBC_HAS_GNU_GETOPT=y
+UCLIBC_HAS_GNU_GETSUBOPT=y
+
+#
+# Big and Tall
+#
+UCLIBC_HAS_REGEX=y
+# UCLIBC_HAS_REGEX_OLD is not set
+UCLIBC_HAS_FNMATCH=y
+# UCLIBC_HAS_FNMATCH_OLD is not set
+UCLIBC_HAS_WORDEXP=y
+UCLIBC_HAS_NFTW=y
+UCLIBC_HAS_FTW=y
+UCLIBC_HAS_FTS=y
+UCLIBC_HAS_GLOB=y
+UCLIBC_HAS_GNU_GLOB=y
+UCLIBC_HAS_UTMPX=y
+
+#
+# Library Installation Options
+#
+RUNTIME_PREFIX="/"
+DEVEL_PREFIX="/usr/"
+MULTILIB_DIR="lib"
+HARDWIRED_ABSPATH=y
+
+#
+# Security options
+#
+UCLIBC_HAS_ARC4RANDOM=y
+# ARC4RANDOM_USES_NODEV is not set
+# UCLIBC_HAS_SSP is not set
+UCLIBC_BUILD_RELRO=y
+UCLIBC_BUILD_NOW=y
+UCLIBC_BUILD_NOEXECSTACK=y
+
+#
+# Development/debugging options
+#
+CROSS_COMPILER_PREFIX=""
+UCLIBC_EXTRA_CFLAGS=""
+# DODEBUG is not set
+# DODEBUG_PT is not set
+# DOSTRIP is not set
+# DOASSERTS is not set
+# SUPPORT_LD_DEBUG is not set
+# SUPPORT_LD_DEBUG_EARLY is not set
+# UCLIBC_MALLOC_DEBUGGING is not set
+# UCLIBC_HAS_BACKTRACE is not set
+WARNINGS="-Wall"
+# EXTRA_WARNINGS is not set
+# DOMULTI is not set
+# UCLIBC_MJN3_ONLY is not set
diff --git a/target/linux/patches/3.16.2/cris-header.patch b/target/linux/patches/3.16.2/cris-header.patch
new file mode 100644
index 000000000..3db07e530
--- /dev/null
+++ b/target/linux/patches/3.16.2/cris-header.patch
@@ -0,0 +1,50 @@
+diff -Nur linux-3.16.2.orig/arch/cris/include/arch-v10/arch/Kbuild linux-3.16.2/arch/cris/include/arch-v10/arch/Kbuild
+--- linux-3.16.2.orig/arch/cris/include/arch-v10/arch/Kbuild 2014-09-06 01:37:11.000000000 +0200
++++ linux-3.16.2/arch/cris/include/arch-v10/arch/Kbuild 2014-09-26 19:24:50.000000000 +0200
+@@ -1 +1,2 @@
+ # CRISv10 arch
++header-y += ptrace.h
+diff -Nur linux-3.16.2.orig/arch/cris/include/arch-v32/arch/Kbuild linux-3.16.2/arch/cris/include/arch-v32/arch/Kbuild
+--- linux-3.16.2.orig/arch/cris/include/arch-v32/arch/Kbuild 2014-09-06 01:37:11.000000000 +0200
++++ linux-3.16.2/arch/cris/include/arch-v32/arch/Kbuild 2014-09-26 19:24:31.000000000 +0200
+@@ -1 +1,2 @@
+ # CRISv32 arch
++header-y += ptrace.h
+diff -Nur linux-3.16.2.orig/arch/cris/include/asm/Kbuild linux-3.16.2/arch/cris/include/asm/Kbuild
+--- linux-3.16.2.orig/arch/cris/include/asm/Kbuild 2014-09-06 01:37:11.000000000 +0200
++++ linux-3.16.2/arch/cris/include/asm/Kbuild 2014-09-26 19:24:31.000000000 +0200
+@@ -1,8 +1,3 @@
+-
+-header-y += arch-v10/
+-header-y += arch-v32/
+-
+-
+ generic-y += barrier.h
+ generic-y += clkdev.h
+ generic-y += cputime.h
+diff -Nur linux-3.16.2.orig/arch/cris/include/uapi/asm/Kbuild linux-3.16.2/arch/cris/include/uapi/asm/Kbuild
+--- linux-3.16.2.orig/arch/cris/include/uapi/asm/Kbuild 2014-09-06 01:37:11.000000000 +0200
++++ linux-3.16.2/arch/cris/include/uapi/asm/Kbuild 2014-09-26 19:24:31.000000000 +0200
+@@ -1,8 +1,8 @@
+ # UAPI Header export list
+ include include/uapi/asm-generic/Kbuild.asm
+
+-header-y += arch-v10/
+-header-y += arch-v32/
++header-y += ../arch-v10/arch/
++header-y += ../arch-v32/arch/
+ header-y += auxvec.h
+ header-y += bitsperlong.h
+ header-y += byteorder.h
+diff -Nur linux-3.16.2.orig/scripts/headers.sh linux-3.16.2/scripts/headers.sh
+--- linux-3.16.2.orig/scripts/headers.sh 2014-09-06 01:37:11.000000000 +0200
++++ linux-3.16.2/scripts/headers.sh 2014-09-26 19:24:31.000000000 +0200
+@@ -19,8 +19,6 @@
+ case ${arch} in
+ um) # no userspace export
+ ;;
+- cris) # headers export are known broken
+- ;;
+ *)
+ if [ -d ${srctree}/arch/${arch} ]; then
+ do_command $1 ${arch}
diff --git a/toolchain/gcc/Makefile.inc b/toolchain/gcc/Makefile.inc
index 86d03b58a..2a616adbd 100644
--- a/toolchain/gcc/Makefile.inc
+++ b/toolchain/gcc/Makefile.inc
@@ -27,6 +27,14 @@ PKG_SITES:= http://www.openadk.org/distfiles/
PKG_RELEASE:= 1
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}-arc.tar.xz
endif
+ifeq ($(ADK_TOOLCHAIN_GCC_4_7_4),y)
+PKG_VERSION:= 4.7.4
+PKG_MD5SUM:= e2c60f5ef918be2db08df96c7d97d0c4
+PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
+PKG_RELEASE:= 1
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
+LIBSTDCXXVER:= 17
+endif
ifeq ($(ADK_TOOLCHAIN_GCC_4_5_4),y)
PKG_VERSION:= 4.5.4
PKG_MD5SUM:= e2c60f5ef918be2db08df96c7d97d0c4
diff --git a/toolchain/gcc/patches/4.7.3/musl-cross.patch b/toolchain/gcc/patches/4.7.3/musl-cross.patch
deleted file mode 100644
index 453ba9aec..000000000
--- a/toolchain/gcc/patches/4.7.3/musl-cross.patch
+++ /dev/null
@@ -1,825 +0,0 @@
-diff -Nur gcc-4.7.3.orig/config.sub gcc-4.7.3/config.sub
---- gcc-4.7.3.orig/config.sub 2012-08-06 16:34:27.000000000 +0200
-+++ gcc-4.7.3/config.sub 2013-09-16 15:39:42.000000000 +0200
-@@ -4,7 +4,7 @@
- # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
- # 2011 Free Software Foundation, Inc.
-
--timestamp='2011-10-29'
-+timestamp='2011-03-23'
-
- # This file is (in principle) common to ALL GNU software.
- # The presence of a machine in this file suggests that SOME GNU software
-@@ -125,6 +125,7 @@
- maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
- case $maybe_os in
- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-+ linux-musl* | \
- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | \
- kopensolaris*-gnu* | \
-@@ -251,17 +252,13 @@
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-- | be32 | be64 \
- | bfin \
- | c4x | clipper \
- | d10v | d30v | dlx | dsp16xx \
-- | epiphany \
- | fido | fr30 | frv \
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-- | hexagon \
- | i370 | i860 | i960 | ia64 \
- | ip2k | iq2000 \
-- | le32 | le64 \
- | lm32 \
- | m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep | metag \
-@@ -295,7 +292,7 @@
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle \
- | pyramid \
-- | rl78 | rx \
-+ | rx \
- | score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
-@@ -304,7 +301,7 @@
- | spu \
- | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
- | ubicom32 \
-- | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
-+ | v850 | v850e \
- | we32k \
- | x86 | xc16x | xstormy16 | xtensa \
- | z8k | z80)
-@@ -361,7 +358,6 @@
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* | avr32-* \
-- | be32-* | be64-* \
- | bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* \
- | clipper-* | craynv-* | cydra-* \
-@@ -370,10 +366,8 @@
- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
- | h8300-* | h8500-* \
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-- | hexagon-* \
- | i*86-* | i860-* | i960-* | ia64-* \
- | ip2k-* | iq2000-* \
-- | le32-* | le64-* \
- | lm32-* \
- | m32c-* | m32r-* | m32rle-* \
- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-@@ -407,7 +401,7 @@
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
- | pyramid-* \
-- | rl78-* | romp-* | rs6000-* | rx-* \
-+ | romp-* | rs6000-* | rx-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
-@@ -415,11 +409,10 @@
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
- | tahoe-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-- | tile*-* \
-+ | tile-* | tilegx-* \
- | tron-* \
- | ubicom32-* \
-- | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
-- | vax-* \
-+ | v850-* | v850e-* | vax-* \
- | we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* \
- | xstormy16-* | xtensa*-* \
-@@ -820,10 +813,6 @@
- basic_machine=i370-ibm
- os=-mvs
- ;;
-- nacl)
-- basic_machine=le32-unknown
-- os=-nacl
-- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
-@@ -1132,8 +1121,13 @@
- basic_machine=t90-cray
- os=-unicos
- ;;
-+ # This must be matched before tile*.
-+ tilegx*)
-+ basic_machine=tilegx-unknown
-+ os=-linux-gnu
-+ ;;
- tile*)
-- basic_machine=$basic_machine-unknown
-+ basic_machine=tile-unknown
- os=-linux-gnu
- ;;
- tx39)
-@@ -1346,6 +1340,7 @@
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-android* \
- | -linux-newlib* | -linux-uclibc* \
-+ | -linux-musl* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-diff -Nur gcc-4.7.3.orig/fixincludes/mkfixinc.sh gcc-4.7.3/fixincludes/mkfixinc.sh
---- gcc-4.7.3.orig/fixincludes/mkfixinc.sh 2011-09-22 16:00:17.000000000 +0200
-+++ gcc-4.7.3/fixincludes/mkfixinc.sh 2013-09-16 15:39:42.000000000 +0200
-@@ -20,7 +20,8 @@
- powerpc-*-eabi* | \
- powerpc-*-rtems* | \
- powerpcle-*-eabisim* | \
-- powerpcle-*-eabi* )
-+ powerpcle-*-eabi* | \
-+ *-musl* )
- # IF there is no include fixing,
- # THEN create a no-op fixer and exit
- (echo "#! /bin/sh" ; echo "exit 0" ) > ${target}
-diff -Nur gcc-4.7.3.orig/gcc/config/arm/linux-eabi.h gcc-4.7.3/gcc/config/arm/linux-eabi.h
---- gcc-4.7.3.orig/gcc/config/arm/linux-eabi.h 2011-11-02 16:03:19.000000000 +0100
-+++ gcc-4.7.3/gcc/config/arm/linux-eabi.h 2013-09-16 15:39:42.000000000 +0200
-@@ -64,6 +64,23 @@
- #undef GLIBC_DYNAMIC_LINKER
- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
-
-+/* For ARM musl currently supports two dynamic linkers:
-+ - ld-musl-arm.so.1 - for the EABI-derived soft-float ABI
-+ - ld-musl-armhf.so.1 - for the EABI-derived hard-float ABI.
-+ musl does not support the legacy OABI (i.e. broken) mode.
-+ All the dynamic linkers live in /lib.
-+ We default to soft-float, but this can be overridden by changing both
-+ MUSL_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */
-+#undef MUSL_DYNAMIC_LINKER
-+#define MUSL_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-musl-arm.so.1"
-+#define MUSL_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-musl-armhf.so.1"
-+#define MUSL_DYNAMIC_LINKER_DEFAULT MUSL_DYNAMIC_LINKER_SOFT_FLOAT
-+
-+#define MUSL_DYNAMIC_LINKER \
-+ "%{mfloat-abi=hard:" MUSL_DYNAMIC_LINKER_HARD_FLOAT "} \
-+ %{mfloat-abi=soft*:" MUSL_DYNAMIC_LINKER_SOFT_FLOAT "} \
-+ %{!mfloat-abi=*:" MUSL_DYNAMIC_LINKER_DEFAULT "}"
-+
- /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
- use the GNU/Linux version, not the generic BPABI version. */
- #undef LINK_SPEC
-diff -Nur gcc-4.7.3.orig/gcc/config/i386/linux64.h gcc-4.7.3/gcc/config/i386/linux64.h
---- gcc-4.7.3.orig/gcc/config/i386/linux64.h 2011-07-07 17:38:34.000000000 +0200
-+++ gcc-4.7.3/gcc/config/i386/linux64.h 2013-09-16 15:39:42.000000000 +0200
-@@ -31,3 +31,7 @@
- #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
- #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
- #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
-+
-+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
-+#define MUSL_DYNAMIC_LINKER64 "