aboutsummaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2013-06-30 21:29:05 +0200
committerGravatar Peter Korsgaard <jacmet@sunsite.dk>2013-07-04 00:13:23 +0200
commita5e92d92e7ee413157aae7cecf1f354e718731e1 (patch)
treec033861dd9e050c885fca487d2f3305c0defaf4d /toolchain
parent00e9b1e4f78633d5667b187332f36972a94b9f8b (diff)
downloadbuildroot-a5e92d92e7ee413157aae7cecf1f354e718731e1.tar.gz
buildroot-a5e92d92e7ee413157aae7cecf1f354e718731e1.tar.bz2
uclibc: convert to the package infrastructure
[Peter: update manual to match] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/toolchain-buildroot.mk4
-rw-r--r--toolchain/toolchain-buildroot/Config.in2
-rw-r--r--toolchain/toolchain-crosstool-ng.mk1
-rw-r--r--toolchain/toolchain-crosstool-ng/crosstool-ng.mk2
-rw-r--r--toolchain/toolchain-external.mk1
-rw-r--r--toolchain/uClibc/Config.in97
-rw-r--r--toolchain/uClibc/uClibc-0.9.32.1-Fix-__libc_epoll_pwait-compile-failure-on-x86.patch43
-rw-r--r--toolchain/uClibc/uClibc-0.9.32.1-Fix-e500-__fe_nomask_env-use-of-__set_errno.patch34
-rw-r--r--toolchain/uClibc/uClibc-0.9.32.1-linuxthreads-errno-fix.patch68
-rw-r--r--toolchain/uClibc/uClibc-0.9.32.1-sparc-errno-fix.patch11
-rw-r--r--toolchain/uClibc/uClibc-0.9.32.1-unshare.patch82
-rw-r--r--toolchain/uClibc/uClibc-0.9.32.config268
-rw-r--r--toolchain/uClibc/uClibc-0.9.33.2-OpenWRT-140-avr32_atomic_fix.patch16
-rw-r--r--toolchain/uClibc/uClibc-0.9.33.2-bits-time.h-sync-with-glibc-2.16.patch36
-rw-r--r--toolchain/uClibc/uClibc-0.9.33.2-define-MSG_CMSG_CLOEXEC.patch28
-rw-r--r--toolchain/uClibc/uClibc-0.9.33.2-dup3.patch56
-rw-r--r--toolchain/uClibc/uClibc-0.9.33.config278
-rw-r--r--toolchain/uClibc/uClibc-snapshot.config281
-rw-r--r--toolchain/uClibc/uclibc.mk610
19 files changed, 2 insertions, 1916 deletions
diff --git a/toolchain/toolchain-buildroot.mk b/toolchain/toolchain-buildroot.mk
index b2eb9deb22..e7241bfcf4 100644
--- a/toolchain/toolchain-buildroot.mk
+++ b/toolchain/toolchain-buildroot.mk
@@ -1,7 +1,3 @@
-# Include files required for the internal toolchain backend
-
-include toolchain/uClibc/uclibc.mk
-
# Triggerring the build of the host-gcc-final will automaticaly do the
# build of binutils, uClibc, kernel headers and all the intermediate
# gcc steps.
diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in
index 4ad0603a2c..416695b1a7 100644
--- a/toolchain/toolchain-buildroot/Config.in
+++ b/toolchain/toolchain-buildroot/Config.in
@@ -2,7 +2,7 @@
if BR2_TOOLCHAIN_BUILDROOT
source "package/linux-headers/Config.in.host"
-source "toolchain/uClibc/Config.in"
+source "package/uclibc/Config.in"
source "package/binutils/Config.in.host"
source "package/gcc/Config.in.host"
endif
diff --git a/toolchain/toolchain-crosstool-ng.mk b/toolchain/toolchain-crosstool-ng.mk
index 6ef73bb98d..9e666a0429 100644
--- a/toolchain/toolchain-crosstool-ng.mk
+++ b/toolchain/toolchain-crosstool-ng.mk
@@ -3,4 +3,3 @@
# Explicit ordering:
include toolchain/helpers.mk
include toolchain/toolchain-crosstool-ng/crosstool-ng.mk
-include toolchain/uClibc/uclibc.mk
diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
index 59f18c793d..79ad7e14e9 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
@@ -10,7 +10,7 @@
CTNG_DIR := $(BUILD_DIR)/build-toolchain
-CTNG_UCLIBC_CONFIG_FILE := $(TOPDIR)/toolchain/uClibc/uClibc-0.9.33.config
+CTNG_UCLIBC_CONFIG_FILE := $(TOPDIR)/package/uclibc/uClibc-0.9.33.config
CTNG_CONFIG_FILE:=$(call qstrip,$(BR2_TOOLCHAIN_CTNG_CONFIG))
# Hack! ct-ng is in fact a Makefile script. As such, it accepts all
diff --git a/toolchain/toolchain-external.mk b/toolchain/toolchain-external.mk
index 1198a57d9e..2f43db7c99 100644
--- a/toolchain/toolchain-external.mk
+++ b/toolchain/toolchain-external.mk
@@ -2,4 +2,3 @@
include toolchain/helpers.mk
include toolchain/toolchain-external/ext-tool.mk
-include toolchain/uClibc/uclibc.mk
diff --git a/toolchain/uClibc/Config.in b/toolchain/uClibc/Config.in
deleted file mode 100644
index ab1f600c61..0000000000
--- a/toolchain/uClibc/Config.in
+++ /dev/null
@@ -1,97 +0,0 @@
-# Choose uClibc options
-#
-
-comment "uClibc Options"
-
-choice
- prompt "uClibc C library Version"
- default BR2_UCLIBC_VERSION_0_9_33
- help
- Select the version of uClibc you wish to use.
-
- config BR2_UCLIBC_VERSION_0_9_32
- bool "uClibc 0.9.32.x"
- depends on !(BR2_arc || BR2_avr32 || BR2_sh || BR2_xtensa)
-
- config BR2_UCLIBC_VERSION_0_9_33
- bool "uClibc 0.9.33.x"
- depends on !(BR2_arc || BR2_xtensa)
-
- config BR2_UCLIBC_VERSION_0_9_33_ARC
- bool "uClibc 0.9.33.x-arc"
- depends on BR2_arc
-
- config BR2_UCLIBC_VERSION_SNAPSHOT
- bool "daily snapshot"
-
-endchoice
-
-config BR2_USE_UCLIBC_SNAPSHOT
- string "Date (yyyymmdd) of snapshot or 'snapshot' for latest"
- default "snapshot"
- depends on BR2_UCLIBC_VERSION_SNAPSHOT
- help
- Use latest snapshot or one from a specific date?
-
-config BR2_UCLIBC_VERSION_STRING
- string
- default 0.9.32.1 if BR2_UCLIBC_VERSION_0_9_32
- default 0.9.33.2 if BR2_UCLIBC_VERSION_0_9_33
- default 0.9.33-arc if BR2_UCLIBC_VERSION_0_9_33_ARC
- default $BR2_USE_UCLIBC_SNAPSHOT if BR2_UCLIBC_VERSION_SNAPSHOT
-
-config BR2_UCLIBC_CONFIG
- string "uClibc configuration file to use?"
- default "toolchain/uClibc/uClibc-0.9.32.config" if BR2_UCLIBC_VERSION_0_9_32
- default "toolchain/uClibc/uClibc-0.9.33.config" if BR2_UCLIBC_VERSION_0_9_33
- default "toolchain/uClibc/uClibc-snapshot.config" if BR2_UCLIBC_VERSION_0_9_33_ARC
- default "toolchain/uClibc/uClibc-snapshot.config" if BR2_UCLIBC_VERSION_SNAPSHOT
- help
- Some people may wish to use their own modified uClibc configuration
- file and will specify their config file location with this option.
- See also docs/README in this package.
- If unsure, use the default.
-
-config BR2_UCLIBC_INSTALL_TEST_SUITE
- bool "Compile and install uClibc tests"
- select BR2_PACKAGE_MAKE
- help
- Enabling this option will compile and install the uClibc test suite.
- This is useful if you want to check if the uClibc library is working
- for your architecture and/or help developing uClibc.
-
- The test suite will be installed into /root/uClibc directory. To run
- the test suite enter the /root/uClibc/test directory and type
- "make UCLIBC_ONLY=1 CC=/bin/true check".
-
- See the /root/uClibc/test/README for additional information.
-
- This is not needed at all for normal builds, so you can safely say no
- if you do not plan to dig into your C library.
-
-# This is only useful for uClibc <= 0.9.32. It can be removed once
-# Buildroot will support only uClibc >= 0.9.33 on ARM.
-config BR2_UCLIBC_ARM_TYPE
- string
- depends on BR2_arm || BR2_armeb
- default GENERIC_ARM if BR2_fa526
- default ARM7TDMI if BR2_arm7tdmi
- default ARM720T if BR2_arm720t
- default ARM920T if BR2_arm920t
- default ARM922T if BR2_arm922t
- default ARM926T if BR2_arm926t
- default ARM10T if BR2_arm10t
- default ARM1136JF_S if BR2_arm1136jf_s
- default ARM1176JZ_S if BR2_arm1176jz_s
- default ARM1176JZF_S if BR2_arm1176jzf_s
- default ARM_SA1100 if BR2_strongarm
- default ARM_XSCALE if BR2_xscale
- default ARM_IWMMXT if BR2_iwmmxt
- default ARM_CORTEXA8 if BR2_cortex_a8
- default ARM_CORTEXA9 if BR2_cortex_a9
-
-config BR2_UCLIBC_SPARC_TYPE
- string
- depends on BR2_sparc
- default V7 if BR2_sparc_v7 || BR2_sparc_cypress || BR2_sparc_sparclite || BR2_sparc_f930 || BR2_sparc_f934 || BR2_sparc_sparclite86x || BR2_sparc_sparclet || BR2_sparc_tsc701 || BR2_sparc_sparchfleon || BR2_sparc_sparcsfleon
- default V8 if BR2_sparc_v8 || BR2_sparc_supersparc || BR2_sparc_hypersparc || BR2_sparc_sparchfleonv8 || BR2_sparc_sparcsfleonv8
diff --git a/toolchain/uClibc/uClibc-0.9.32.1-Fix-__libc_epoll_pwait-compile-failure-on-x86.patch b/toolchain/uClibc/uClibc-0.9.32.1-Fix-__libc_epoll_pwait-compile-failure-on-x86.patch
deleted file mode 100644
index 8cda4f902c..0000000000
--- a/toolchain/uClibc/uClibc-0.9.32.1-Fix-__libc_epoll_pwait-compile-failure-on-x86.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 8245f3b4638fdff2011c2657af1bb211def704bc Mon Sep 17 00:00:00 2001
-From: Phil Blundell <pb@pbcl.net>
-Date: Sat, 11 Jun 2011 01:10:46 -0400
-Subject: [PATCH] Fix __libc_epoll_pwait compile failure on x86
-
-This prevents "memory input 7 is not directly addressable" errors.
-
-| libc/sysdeps/linux/common/epoll.c: In function '__libc_epoll_pwait':
-| libc/sysdeps/linux/common/epoll.c:71:80: error: memory input 7 is not directly addressable
-| libc/sysdeps/linux/common/epoll.c:75:86: error: memory input 7 is not directly addressable
-| make: *** [libc/sysdeps/linux/common/epoll.o] Error 1
-| make: *** Waiting for unfinished jobs....
-
-Signed-off-by: Phil Blundell <pb@pbcl.net>
-Signed-off-by: Jason Woodward <jason.woodward@timesys.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libc/sysdeps/linux/common/epoll.c | 5 +++--
- 1 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/libc/sysdeps/linux/common/epoll.c b/libc/sysdeps/linux/common/epoll.c
-index 85b0cfd..ab3e73b 100644
---- a/libc/sysdeps/linux/common/epoll.c
-+++ b/libc/sysdeps/linux/common/epoll.c
-@@ -67,12 +67,13 @@ extern __typeof(epoll_pwait) __libc_epoll_pwait;
- int __libc_epoll_pwait(int epfd, struct epoll_event *events, int maxevents,
- int timeout, const sigset_t *set)
- {
-+ int nsig = _NSIG / 8;
- if (SINGLE_THREAD_P)
-- return INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, _NSIG / 8);
-+ return INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, nsig);
- # ifdef __UCLIBC_HAS_THREADS_NATIVE__
- else {
- int oldtype = LIBC_CANCEL_ASYNC ();
-- int result = INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, _NSIG / 8);
-+ int result = INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, nsig);
- LIBC_CANCEL_RESET (oldtype);
- return result;
- }
---
-1.7.5.4
-
diff --git a/toolchain/uClibc/uClibc-0.9.32.1-Fix-e500-__fe_nomask_env-use-of-__set_errno.patch b/toolchain/uClibc/uClibc-0.9.32.1-Fix-e500-__fe_nomask_env-use-of-__set_errno.patch
deleted file mode 100644
index 1908925a33..0000000000
--- a/toolchain/uClibc/uClibc-0.9.32.1-Fix-e500-__fe_nomask_env-use-of-__set_errno.patch
+++ /dev/null
@@ -1,34 +0,0 @@
->From 49f58308779cb0b798f5e7bc902bbc515c1ec394 Mon Sep 17 00:00:00 2001
-From: Jason Woodward <jason.woodward@timesys.com>
-Date: Sat, 11 Jun 2011 22:00:59 -0400
-Subject: [PATCH] Fix e500 __fe_nomask_env use of __set_errno w/o CFLAGS-libm
-
-Since the new _LIBC guard in 96c9a8f7d00cdf6bb7968a2390b9d87da8a45e2d we need
-to use CFLAGS-libm (-DNOT_IN_libc -DIS_IN_libm) or we end up with linker
-errors like:
-
- lib/libm.a(fe_nomask.os): In function `__fe_nomask_env':
- fe_nomask.c:(.text+0x26): undefined reference to `__libc_errno'
- collect2: ld returned 1 exit status
-
-Signed-off-by: Jason Woodward <jason.woodward@timesys.com>
----
- libm/powerpc/e500/fpu/Makefile.arch | 2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/libm/powerpc/e500/fpu/Makefile.arch b/libm/powerpc/e500/fpu/Makefile.arch
-index 904561e..a64843f 100644
---- a/libm/powerpc/e500/fpu/Makefile.arch
-+++ b/libm/powerpc/e500/fpu/Makefile.arch
-@@ -11,6 +11,8 @@ libm_ARCH_SRC:=$(wildcard $(libm_ARCH_fpu_DIR)/*.c)
- libm_ARCH_OBJ:=$(patsubst $(libm_ARCH_fpu_DIR)/%.c,$(libm_ARCH_fpu_OUT)/%.o,$(libm_ARCH_SRC))
- endif
-
-+CFLAGS-fe_nomask.c := $(CFLAGS-libm)
-+
- libm_ARCH_OBJS:=$(libm_ARCH_OBJ)
-
- ifeq ($(DOPIC),y)
---
-1.7.0.4
-
diff --git a/toolchain/uClibc/uClibc-0.9.32.1-linuxthreads-errno-fix.patch b/toolchain/uClibc/uClibc-0.9.32.1-linuxthreads-errno-fix.patch
deleted file mode 100644
index c4d0d00df9..0000000000
--- a/toolchain/uClibc/uClibc-0.9.32.1-linuxthreads-errno-fix.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From af8b2d71ce37b9d4d24ddbc755cdea68de02949a Mon Sep 17 00:00:00 2001
-From: Peter Korsgaard <jacmet@sunsite.dk>
-Date: Mon, 5 Jul 2010 14:08:17 +0200
-Subject: [PATCH] don't make __errno_location / __h_errno_location hidden
-
-Closes #2089 (https://bugs.busybox.net/show_bug.cgi?id=2089)
-
-__errno_location / __h_errno_location access has to go through the PLT
-like malloc/free, so the linuxthread variants gets used instead when
-compiling with -pthread.
-
-Based on http://github.com/mat-c/uClibc/commit/328d392c54aa5dc2b8e7f398a419087de497de2b
-
-Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
----
- include/netdb.h | 1 -
- libc/misc/internals/__errno_location.c | 3 ---
- libc/misc/internals/__h_errno_location.c | 1 -
- libc/sysdeps/linux/common/bits/errno.h | 1 -
- 6 files changed, 0 insertions(+), 11 deletions(-)
-
-diff --git a/include/netdb.h b/include/netdb.h
-index 9d3807d..ac411ab 100644
---- a/include/netdb.h
-+++ b/include/netdb.h
-@@ -59,7 +59,6 @@ __BEGIN_DECLS
-
- /* Function to get address of global `h_errno' variable. */
- extern int *__h_errno_location (void) __THROW __attribute__ ((__const__));
--libc_hidden_proto(__h_errno_location)
-
- /* Macros for accessing h_errno from inside libc. */
- #ifdef _LIBC
-diff --git a/libc/misc/internals/__errno_location.c b/libc/misc/internals/__errno_location.c
-index 487a9c2..0620860 100644
---- a/libc/misc/internals/__errno_location.c
-+++ b/libc/misc/internals/__errno_location.c
-@@ -15,6 +15,3 @@ int * weak_const_function __errno_location (void)
- {
- return &errno;
- }
--#ifdef IS_IN_libc /* not really need, only to keep in sync w/ libc_hidden_proto */
--libc_hidden_weak(__errno_location)
--#endif
-diff --git a/libc/misc/internals/__h_errno_location.c b/libc/misc/internals/__h_errno_location.c
-index 213d398..235df4e 100644
---- a/libc/misc/internals/__h_errno_location.c
-+++ b/libc/misc/internals/__h_errno_location.c
-@@ -10,4 +10,3 @@ int * weak_const_function __h_errno_location (void)
- {
- return &h_errno;
- }
--libc_hidden_weak(__h_errno_location)
-diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c
-index 6e520fa..f4a9ebb 100644
---- a/libc/sysdeps/linux/common/bits/errno.h
-+++ b/libc/sysdeps/linux/common/bits/errno.h
-@@ -43,7 +43,6 @@
- # ifndef __ASSEMBLER__
- /* Function to get address of global `errno' variable. */
- extern int *__errno_location (void) __THROW __attribute__ ((__const__));
--libc_hidden_proto(__errno_location)
-
- # ifdef __UCLIBC_HAS_THREADS__
- /* When using threads, errno is a per-thread value. */
---
-1.7.1
-
diff --git a/toolchain/uClibc/uClibc-0.9.32.1-sparc-errno-fix.patch b/toolchain/uClibc/uClibc-0.9.32.1-sparc-errno-fix.patch
deleted file mode 100644
index 44d06cb62f..0000000000
--- a/toolchain/uClibc/uClibc-0.9.32.1-sparc-errno-fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- uClibc-0.9.32.ori/libc/sysdeps/linux/sparc/pipe.S 2011-06-08 21:35:20.000000000 +0200
-+++ uClibc-0.9.32/libc/sysdeps/linux/sparc/pipe.S 2011-11-11 15:57:25.000000000 +0100
-@@ -52,7 +52,7 @@
- restore %g0,%g0,%o0
-
- .Lerror:
-- call HIDDEN_JUMPTARGET(__errno_location)
-+ call __errno_location
- or %g0,EINVAL,%i0
- st %i0,[%o0]
- ret
diff --git a/toolchain/uClibc/uClibc-0.9.32.1-unshare.patch b/toolchain/uClibc/uClibc-0.9.32.1-unshare.patch
deleted file mode 100644
index 5820e15bbe..0000000000
--- a/toolchain/uClibc/uClibc-0.9.32.1-unshare.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-Backport of unshare() syscall.
-From uClibc git 19dd090a0f68765db87990ef8eda9bf77bb29581
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
----
-diff -Nura uClibc-0.9.32.orig/libc/sysdeps/linux/common/bits/sched.h uClibc-0.9.32/libc/sysdeps/linux/common/bits/sched.h
---- uClibc-0.9.32.orig/libc/sysdeps/linux/common/bits/sched.h 2011-12-02 23:54:30.571841170 -0300
-+++ uClibc-0.9.32/libc/sysdeps/linux/common/bits/sched.h 2011-12-02 23:57:45.874205079 -0300
-@@ -58,7 +58,13 @@
- force CLONE_PTRACE on this clone. */
- # define CLONE_CHILD_SETTID 0x01000000 /* Store TID in userlevel buffer in
- the child. */
--# define CLONE_STOPPED 0x02000000 /* Start in stopped state. */
-+# define CLONE_STOPPED 0x02000000 /* Start in stopped state. */
-+# define CLONE_NEWUTS 0x04000000 /* New utsname group. */
-+# define CLONE_NEWIPC 0x08000000 /* New ipcs. */
-+# define CLONE_NEWUSER 0x10000000 /* New user namespace. */
-+# define CLONE_NEWPID 0x20000000 /* New pid namespace. */
-+# define CLONE_NEWNET 0x40000000 /* New network namespace. */
-+# define CLONE_IO 0x80000000 /* Clone I/O context. */
- #endif
-
- /* The official definition. */
-@@ -74,11 +80,9 @@
- extern int clone (int (*__fn) (void *__arg), void *__child_stack,
- int __flags, void *__arg, ...) __THROW;
-
--#if 0
- /* Unshare the specified resources. */
- extern int unshare (int __flags) __THROW;
- #endif
--#endif
-
- __END_DECLS
-
-diff -Nura uClibc-0.9.32.orig/libc/sysdeps/linux/common/Makefile.in uClibc-0.9.32/libc/sysdeps/linux/common/Makefile.in
---- uClibc-0.9.32.orig/libc/sysdeps/linux/common/Makefile.in 2011-12-02 23:54:30.577841215 -0300
-+++ uClibc-0.9.32/libc/sysdeps/linux/common/Makefile.in 2011-12-02 23:56:08.801527166 -0300
-@@ -24,7 +24,8 @@
- remap_file_pages.c sched_getaffinity.c sched_setaffinity.c \
- sendfile64.c sendfile.c setfsgid.c setfsuid.c setresuid.c \
- splice.c vmsplice.c tee.c signalfd.c swapoff.c swapon.c \
-- sync_file_range.c sysctl.c sysinfo.c timerfd.c uselib.c vhangup.c
-+ sync_file_range.c sysctl.c sysinfo.c timerfd.c unshare.c uselib.c \
-+ vhangup.c
- # NPTL needs these internally: madvise.c
- CSRC-$(findstring y,$(UCLIBC_LINUX_SPECIFIC)$(UCLIBC_HAS_THREADS_NATIVE)) += madvise.c
- ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
-diff -Nura uClibc-0.9.32.orig/libc/sysdeps/linux/common/stubs.c uClibc-0.9.32/libc/sysdeps/linux/common/stubs.c
---- uClibc-0.9.32.orig/libc/sysdeps/linux/common/stubs.c 2011-12-02 23:54:30.577841215 -0300
-+++ uClibc-0.9.32/libc/sysdeps/linux/common/stubs.c 2011-12-02 23:58:18.803435042 -0300
-@@ -278,6 +278,10 @@
- make_stub(umount2)
- #endif
-
-+#if !defined __NR_unshare && defined __UCLIBC_LINUX_SPECIFIC__
-+make_stub(unshare)
-+#endif
-+
- #ifndef __NR_utimensat
- make_stub(futimens)
- make_stub(utimensat)
-diff -Nura uClibc-0.9.32.orig/libc/sysdeps/linux/common/unshare.c uClibc-0.9.32/libc/sysdeps/linux/common/unshare.c
---- uClibc-0.9.32.orig/libc/sysdeps/linux/common/unshare.c 1969-12-31 21:00:00.000000000 -0300
-+++ uClibc-0.9.32/libc/sysdeps/linux/common/unshare.c 2011-12-02 23:58:42.693601880 -0300
-@@ -0,0 +1,15 @@
-+/* vi: set sw=4 ts=4: */
-+/*
-+ * unshare() for uClibc
-+ *
-+ * Copyright (C) 2011 Henning Heinold <heinold@inf.fu-berlin.de>
-+ *
-+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
-+ */
-+
-+#include <sys/syscall.h>
-+#include <sched.h>
-+
-+#if defined __NR_unshare
-+_syscall1(int, unshare, int, flags)
-+#endif
diff --git a/toolchain/uClibc/uClibc-0.9.32.config b/toolchain/uClibc/uClibc-0.9.32.config
deleted file mode 100644
index 68efac9079..0000000000
--- a/toolchain/uClibc/uClibc-0.9.32.config
+++ /dev/null
@@ -1,268 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Version: 0.9.32-git
-# Fri Jul 9 22:31:59 2010
-#
-# TARGET_alpha is not set
-# TARGET_arm is not set
-# TARGET_avr32 is not set
-# TARGET_bfin is not set
-# TARGET_cris is not set
-# 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_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_c6x is not set
-
-# CONFIG_GENERIC_ARM is not set
-# CONFIG_ARM610 is not set
-# CONFIG_ARM710 is not set
-# CONFIG_ARM7TDMI is not set
-# CONFIG_ARM720T is not set
-# CONFIG_ARM920T is not set
-# CONFIG_ARM922T is not set
-# CONFIG_ARM926T is not set
-# CONFIG_ARM10T is not set
-# CONFIG_ARM1136JF_S is not set
-# CONFIG_ARM1176JZ_S is not set
-# CONFIG_ARM1176JZF_S is not set
-# CONFIG_ARM_CORTEX_M3 is not set
-# CONFIG_ARM_CORTEX_M1 is not set
-# CONFIG_ARM_SA110 is not set
-# CONFIG_ARM_SA1100 is not set
-# CONFIG_ARM_XSCALE is not set
-# CONFIG_ARM_IWMMXT is not set
-
-USE_BX=y
-
-TARGET_SUBARCH=""
-#
-# Target Architecture Features and Options
-#
-TARGET_ARCH="none"
-FORCE_OPTIONS_FOR_ARCH=y
-#
-# Using ELF file format
-#
-# ARCH_LITTLE_ENDIAN is not set
-# ARCH_BIG_ENDIAN is not set
-# ARCH_WANTS_LITTLE_ENDIAN is not set
-# ARCH_WANTS_BIG_ENDIAN is not set
-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 is not set
-UCLIBC_HAS_LONG_DOUBLE_MATH=y
-KERNEL_HEADERS="/usr/src/linux/include"
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-# HAVE_NO_PIC is not set
-DOPIC=y
-# ARCH_HAS_NO_SHARED is not set
-# ARCH_HAS_NO_LDSO is not set
-HAVE_SHARED=y
-# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
-LDSO_LDD_SUPPORT=y
-# LDSO_CACHE_SUPPORT is not set
-LDSO_PRELOAD_ENV_SUPPORT=y
-# LDSO_PRELOAD_FILE_SUPPORT is not set
-# UCLIBC_STATIC_LDCONFIG is not set
-LDSO_RUNPATH=y
-LDSO_SEARCH_INTERP_PATH=y
-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_DYNAMIC_ATEXIT=y
-# COMPAT_ATEXIT is not set
-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_24=y
-UCLIBC_LINUX_SPECIFIC=y
-UCLIBC_HAS_GNU_ERROR=y
-UCLIBC_BSD_SPECIFIC=y
-UCLIBC_HAS_BSD_ERR=y
-# UCLIBC_HAS_OBSOLETE_BSD_SIGNAL is not set
-# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
-# UCLIBC_NTP_LEGACY is not set
-# UCLIBC_SV4_DEPRECATED is not set
-UCLIBC_HAS_REALTIME=y
-UCLIBC_HAS_ADVANCED_REALTIME=y
-UCLIBC_HAS_EPOLL=y
-UCLIBC_HAS_XATTR=y
-UCLIBC_HAS_PROFILING=y
-UCLIBC_HAS_CRYPT_IMPL=y
-UCLIBC_HAS_CRYPT=y
-UCLIBC_HAS_NETWORK_SUPPORT=y
-UCLIBC_HAS_SOCKET=y
-UCLIBC_HAS_IPV4=y
-# UCLIBC_HAS_IPV6 is not set
-# UCLIBC_HAS_RPC is not set
-# UCLIBC_HAS_FULL_RPC is not set
-# UCLIBC_HAS_REENTRANT_RPC is not set
-UCLIBC_USE_NETLINK=y
-UCLIBC_SUPPORT_AI_ADDRCONFIG=y
-# UCLIBC_HAS_BSD_RES_CLOSE is not set
-UCLIBC_HAS_COMPAT_RES_STATE=y
-# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
-UCLIBC_HAS_LIBRESOLV_STUB=y
-UCLIBC_HAS_LIBNSL_STUB=y
-
-#
-# String and Stdio Support
-#
-# UCLIBC_HAS_STRING_GENERIC_OPT is not set
-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 is not set
-# UCLIBC_HAS_LOCALE is not set
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-# UCLIBC_HAS_GLIBC_DIGIT_GROUPING is not set
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-# USE_OLD_VFPRINTF is not set
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
-# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
-# 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 is not set
-# UCLIBC_HAS_STDIO_PUTC_MACRO is not set
-UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
-# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
-UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
-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 is not set
-
-#
-# 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 is not set
-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_BUILD_PIE is not set
-# UCLIBC_HAS_ARC4RANDOM is not set
-# HAVE_NO_SSP is not set
-UCLIBC_HAS_SSP=y
-# UCLIBC_HAS_SSP_COMPAT is not set
-# SSP_QUICK_CANARY is not set
-PROPOLICE_BLOCK_ABRT=y
-# PROPOLICE_BLOCK_SEGV is not set
-# UCLIBC_BUILD_SSP is not set
-UCLIBC_BUILD_RELRO=y
-UCLIBC_BUILD_NOW=y
-UCLIBC_BUILD_NOEXECSTACK=y
-
-#
-# uClibc development/debugging options
-#
-CROSS_COMPILER_PREFIX=""
-UCLIBC_EXTRA_CFLAGS=""
-# DODEBUG is not set
-# DODEBUG_PT is not set
-DOSTRIP=y
-# 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/toolchain/uClibc/uClibc-0.9.33.2-OpenWRT-140-avr32_atomic_fix.patch b/toolchain/uClibc/uClibc-0.9.33.2-OpenWRT-140-avr32_atomic_fix.patch
deleted file mode 100644
index e28b6d25d9..0000000000
--- a/toolchain/uClibc/uClibc-0.9.33.2-OpenWRT-140-avr32_atomic_fix.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Patch from OpenWRT for avr32.
-
-https://dev.openwrt.org/browser/trunk/toolchain/uClibc/patches-0.9.32/140-avr32_atomic_fix.patch
-
-Signed-off-by: Simon Dawson <spdawson@gmail.com>
-
---- a/libc/sysdeps/linux/avr32/bits/atomic.h
-+++ b/libc/sysdeps/linux/avr32/bits/atomic.h
-@@ -28,6 +28,7 @@ typedef uintmax_t uatomic_max_t;
-
- #define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \
- ({ \
-+ __uint32_t __result; \
- __typeof__(*(mem)) __prev; \
- __asm__ __volatile__( \
- "/* __arch_compare_and_exchange_val_32_acq */\n" \
diff --git a/toolchain/uClibc/uClibc-0.9.33.2-bits-time.h-sync-with-glibc-2.16.patch b/toolchain/uClibc/uClibc-0.9.33.2-bits-time.h-sync-with-glibc-2.16.patch
deleted file mode 100644
index 2ad00328d2..0000000000
--- a/toolchain/uClibc/uClibc-0.9.33.2-bits-time.h-sync-with-glibc-2.16.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 3d1b82c7d9dce11c733fe23a85df7f975c7e2486 Mon Sep 17 00:00:00 2001
-From: Peter Korsgaard <jacmet@sunsite.dk>
-Date: Tue, 3 Jul 2012 15:54:57 +0200
-Subject: [PATCH] bits/time.h: sync with glibc 2.16
-
-CLOCK_MONOTONIC_RAW is available since 2.6.28
-(2d42244ae71d: clocksource: introduce CLOCK_MONOTONIC_RAW), and
-CLOCK_*_COARSE since 2.6.32 (da15cfdae033: time: Introduce
-CLOCK_REALTIME_COARSE).
-
-Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
----
- libc/sysdeps/linux/common/bits/time.h | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/libc/sysdeps/linux/common/bits/time.h b/libc/sysdeps/linux/common/bits/time.h
-index 7ed54bf..c871223 100644
---- a/libc/sysdeps/linux/common/bits/time.h
-+++ b/libc/sysdeps/linux/common/bits/time.h
-@@ -54,6 +54,12 @@
- # define CLOCK_PROCESS_CPUTIME_ID 2
- /* Thread-specific CPU-time clock. */
- # define CLOCK_THREAD_CPUTIME_ID 3
-+/* Monotonic system-wide clock, not adjusted for frequency scaling. */
-+# define CLOCK_MONOTONIC_RAW 4
-+/* Identifier for system-wide realtime clock, updated only on ticks. */
-+# define CLOCK_REALTIME_COARSE 5
-+/* Monotonic system-wide clock, updated only on ticks. */
-+# define CLOCK_MONOTONIC_COARSE 6
-
- /* Flag to indicate time is absolute. */
- # define TIMER_ABSTIME 1
---
-1.7.10.4
-
diff --git a/toolchain/uClibc/uClibc-0.9.33.2-define-MSG_CMSG_CLOEXEC.patch b/toolchain/uClibc/uClibc-0.9.33.2-define-MSG_CMSG_CLOEXEC.patch
deleted file mode 100644
index c699b6b11f..0000000000
--- a/toolchain/uClibc/uClibc-0.9.33.2-define-MSG_CMSG_CLOEXEC.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Add definition of MSG_WAITFORONE and MSG_CMSG_CLOEXEC
-
-From yocto:
-http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/uclibc/uclibc-0.9.33/define-MSG_CMSG_CLOEXEC.patch
-
-Upstream-Status: Pending
-
-Index: git/libc/sysdeps/linux/common/bits/socket.h
-===================================================================
---- git.orig/libc/sysdeps/linux/common/bits/socket.h 2012-01-26 23:23:21.537456132 -0800
-+++ git/libc/sysdeps/linux/common/bits/socket.h 2012-01-26 23:25:10.125461388 -0800
-@@ -235,8 +235,15 @@
- #define MSG_ERRQUEUE MSG_ERRQUEUE
- MSG_NOSIGNAL = 0x4000, /* Do not generate SIGPIPE. */
- #define MSG_NOSIGNAL MSG_NOSIGNAL
-- MSG_MORE = 0x8000 /* Sender will send more. */
-+ MSG_MORE = 0x8000, /* Sender will send more. */
- #define MSG_MORE MSG_MORE
-+ MSG_WAITFORONE = 0x10000, /* Wait for at least one packet to return.*/
-+#define MSG_WAITFORONE MSG_WAITFORONE
-+
-+ MSG_CMSG_CLOEXEC = 0x40000000 /* Set close_on_exit for file
-+ descriptor received through
-+ SCM_RIGHTS. */
-+#define MSG_CMSG_CLOEXEC MSG_CMSG_CLOEXEC
- };
-
-
diff --git a/toolchain/uClibc/uClibc-0.9.33.2-dup3.patch b/toolchain/uClibc/uClibc-0.9.33.2-dup3.patch
deleted file mode 100644
index 87fe2a679f..0000000000
--- a/toolchain/uClibc/uClibc-0.9.33.2-dup3.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From: Jonas Bonn <jonas@southpole.se>
-Subject: [RFC PATCH 16/38] Add dup3 syscall
-Date: Tue, 6 Sep 2011 10:30:40 +0200
-
-Signed-off-by: Jonas Bonn <jonas@southpole.se>
----
- include/unistd.h | 4 ++++
- libc/sysdeps/linux/common/dup3.c | 15 +++++++++++++++
- 2 files changed, 19 insertions(+), 0 deletions(-)
- create mode 100644 libc/sysdeps/linux/common/dup3.c
-
-diff --git a/include/unistd.h b/include/unistd.h
-index 9568790..7c2fa4a 100644
---- a/include/unistd.h
-+++ b/include/unistd.h
-@@ -513,6 +513,10 @@ extern int dup (int __fd) __THROW __wur;
- extern int dup2 (int __fd, int __fd2) __THROW;
- libc_hidden_proto(dup2)
-
-+/* Duplicate FD to FD2, closing FD2 and making it open on the same file. */
-+extern int dup3 (int __fd, int __fd2, int __flags) __THROW;
-+libc_hidden_proto(dup3)
-+
- /* NULL-terminated array of "NAME=VALUE" environment variables. */
- extern char **__environ;
- #ifdef __USE_GNU
-diff --git a/libc/sysdeps/linux/common/dup3.c b/libc/sysdeps/linux/common/dup3.c
-new file mode 100644
-index 0000000..5fdab2e
---- /dev/null
-+++ b/libc/sysdeps/linux/common/dup3.c
-@@ -0,0 +1,17 @@
-+/* vi: set sw=4 ts=4: */
-+/*
-+ * dup3() for uClibc
-+ *
-+ * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
-+ *
-+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
-+ */
-+
-+#include <sys/syscall.h>
-+#include <unistd.h>
-+
-+
-+#ifdef __NR_dup3
-+_syscall3(int, dup3, int, oldfd, int, newfd, int, flags)
-+libc_hidden_def(dup3)
-+#endif
---
-1.7.5.4
-
-_______________________________________________
-uClibc mailing list
-uClibc@uclibc.org
-http://lists.busybox.net/mailman/listinfo/uclibc
diff --git a/toolchain/uClibc/uClibc-0.9.33.config b/toolchain/uClibc/uClibc-0.9.33.config
deleted file mode 100644
index eb39df6eda..0000000000
--- a/toolchain/uClibc/uClibc-0.9.33.config
+++ /dev/null
@@ -1,278 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Version: 0.9.32-git
-# Fri Jul 9 22:31:59 2010
-#
-# TARGET_alpha is not set
-# TARGET_arm is not set
-# TARGET_avr32 is not set
-# TARGET_bfin is not set
-# TARGET_cris is not set
-# 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_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_c6x is not set
-
-# CONFIG_GENERIC_ARM is not set
-# CONFIG_ARM610 is not set
-# CONFIG_ARM710 is not set
-# CONFIG_ARM7TDMI is not set
-# CONFIG_ARM720T is not set
-# CONFIG_ARM920T is not set
-# CONFIG_ARM922T is not set
-# CONFIG_ARM926T is not set
-# CONFIG_ARM10T is not set
-# CONFIG_ARM1136JF_S is not set
-# CONFIG_ARM1176JZ_S is not set
-# CONFIG_ARM1176JZF_S is not set
-# CONFIG_ARM_CORTEX_M3 is not set
-# CONFIG_ARM_CORTEX_M1 is not set
-# CONFIG_ARM_SA110 is not set
-# CONFIG_ARM_SA1100 is not set
-# CONFIG_ARM_XSCALE is not set
-# CONFIG_ARM_IWMMXT is not set
-
-# COMPILE_IN_THUMB_MODE is not set
-USE_BX=y
-
-TARGET_SUBARCH=""
-#
-# Target Architecture Features and Options
-#
-TARGET_ARCH="none"
-FORCE_OPTIONS_FOR_ARCH=y
-#
-# Using ELF file format
-#
-# ARCH_LITTLE_ENDIAN is not set
-# ARCH_BIG_ENDIAN is not set
-# ARCH_WANTS_LITTLE_ENDIAN is not set
-# ARCH_WANTS_BIG_ENDIAN is not set
-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 is not set
-UCLIBC_HAS_LONG_DOUBLE_MATH=y
-KERNEL_HEADERS="/usr/src/linux/include"
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-# HAVE_NO_PIC is not set
-DOPIC=y
-# ARCH_HAS_NO_SHARED is not set
-# ARCH_HAS_NO_LDSO is not set
-HAVE_SHARED=y
-# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
-LDSO_LDD_SUPPORT=y
-# LDSO_CACHE_SUPPORT is not set
-LDSO_PRELOAD_ENV_SUPPORT=y
-# LDSO_PRELOAD_FILE_SUPPORT is not set
-# LDSO_STANDALONE_SUPPORT is not set
-# LDSO_PRELINK_SUPPORT is not set
-# UCLIBC_STATIC_LDCONFIG is not set
-LDSO_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_DYNAMIC_ATEXIT=y
-# COMPAT_ATEXIT is not set
-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 is not set
-# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
-# UCLIBC_NTP_LEGACY is not set
-# UCLIBC_SV4_DEPRECATED is not set
-UCLIBC_HAS_REALTIME=y
-UCLIBC_HAS_ADVANCED_REALTIME=y
-UCLIBC_HAS_EPOLL=y
-UCLIBC_HAS_XATTR=y
-UCLIBC_HAS_PROFILING=y
-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 is not set
-# UCLIBC_HAS_RPC is not set
-# UCLIBC_HAS_FULL_RPC is not set
-# UCLIBC_HAS_REENTRANT_RPC is not set
-UCLIBC_USE_NETLINK=y
-UCLIBC_SUPPORT_AI_ADDRCONFIG=y
-# UCLIBC_HAS_BSD_RES_CLOSE is not set
-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 is not set
-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 is not set
-# UCLIBC_HAS_LOCALE is not set
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-# UCLIBC_HAS_GLIBC_DIGIT_GROUPING is not set
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-# USE_OLD_VFPRINTF is not set
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
-# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
-# 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 is not set
-# UCLIBC_HAS_STDIO_PUTC_MACRO is not set
-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 is not set
-
-#
-# 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 is not set
-UCLIBC_HAS_NFTW=y
-UCLIBC_HAS_FTW=y
-# UCLIBC_HAS_FTS is not set
-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_BUILD_PIE is not set
-# UCLIBC_HAS_ARC4RANDOM is not set
-# HAVE_NO_SSP is not set
-UCLIBC_HAS_SSP=y
-# UCLIBC_HAS_SSP_COMPAT is not set
-# SSP_QUICK_CANARY is not set
-PROPOLICE_BLOCK_ABRT=y
-# PROPOLICE_BLOCK_SEGV is not set
-# UCLIBC_BUILD_SSP is not set
-UCLIBC_BUILD_RELRO=y
-UCLIBC_BUILD_NOW=y
-UCLIBC_BUILD_NOEXECSTACK=y
-
-#
-# uClibc development/debugging options
-#
-CROSS_COMPILER_PREFIX=""
-UCLIBC_EXTRA_CFLAGS=""
-# DODEBUG is not set
-# DODEBUG_PT is not set
-DOSTRIP=y
-# 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/toolchain/uClibc/uClibc-snapshot.config b/toolchain/uClibc/uClibc-snapshot.config
deleted file mode 100644
index cb6258d83d..0000000000
--- a/toolchain/uClibc/uClibc-snapshot.config
+++ /dev/null
@@ -1,281 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Version: 0.9.32-git
-# Fri Jul 9 22:31:59 2010
-#
-# 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_cris is not set
-# 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_c6x is not set
-
-# CONFIG_GENERIC_ARM is not set
-# CONFIG_ARM610 is not set
-# CONFIG_ARM710 is not set
-# CONFIG_ARM7TDMI is not set
-# CONFIG_ARM720T is not set
-# CONFIG_ARM920T is not set
-# CONFIG_ARM922T is not set
-# CONFIG_ARM926T is not set
-# CONFIG_ARM10T is not set
-# CONFIG_ARM1136JF_S is not set
-# CONFIG_ARM1176JZ_S is not set
-# CONFIG_ARM1176JZF_S is not set
-# CONFIG_ARM_CORTEX_M3 is not set
-# CONFIG_ARM_CORTEX_M1 is not set
-# CONFIG_ARM_SA110 is not set
-# CONFIG_ARM_SA1100 is not set
-# CONFIG_ARM_XSCALE is not set
-# CONFIG_ARM_IWMMXT is not set
-
-# COMPILE_IN_THUMB_MODE is not set
-USE_BX=y
-
-TARGET_SUBARCH=""
-#
-# Target Architecture Features and Options
-#
-TARGET_ARCH="none"
-FORCE_OPTIONS_FOR_ARCH=y
-#
-# Using ELF file format
-#
-# ARCH_LITTLE_ENDIAN is not set
-# ARCH_BIG_ENDIAN is not set
-# ARCH_WANTS_LITTLE_ENDIAN is not set
-# ARCH_WANTS_BIG_ENDIAN is not set
-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 is not set
-UCLIBC_HAS_LONG_DOUBLE_MATH=y
-KERNEL_HEADERS="/usr/src/linux/include"
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-# HAVE_NO_PIC is not set
-DOPIC=y
-# ARCH_HAS_NO_SHARED is not set
-# ARCH_HAS_NO_LDSO is not set
-HAVE_SHARED=y
-# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
-LDSO_LDD_SUPPORT=y
-# LDSO_CACHE_SUPPORT is not set
-LDSO_PRELOAD_ENV_SUPPORT=y
-# LDSO_PRELOAD_FILE_SUPPORT is not set
-# 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_DYNAMIC_ATEXIT=y
-# COMPAT_ATEXIT is not set
-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 is not set
-# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set
-# UCLIBC_NTP_LEGACY is not set
-# UCLIBC_SV4_DEPRECATED is not set
-UCLIBC_HAS_REALTIME=y
-UCLIBC_HAS_ADVANCED_REALTIME=y
-UCLIBC_HAS_EPOLL=y
-UCLIBC_HAS_XATTR=y
-UCLIBC_HAS_PROFILING=y
-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 is not set
-# UCLIBC_HAS_RPC is not set
-# UCLIBC_HAS_FULL_RPC is not set
-# UCLIBC_HAS_REENTRANT_RPC is not set
-UCLIBC_USE_NETLINK=y
-UCLIBC_SUPPORT_AI_ADDRCONFIG=y
-# UCLIBC_HAS_BSD_RES_CLOSE is not set
-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 is not set
-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 is not set
-# UCLIBC_HAS_LOCALE is not set
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-# UCLIBC_HAS_GLIBC_DIGIT_GROUPING is not set
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-# USE_OLD_VFPRINTF is not set
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
-# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
-# 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 is not set
-# UCLIBC_HAS_STDIO_PUTC_MACRO is not set
-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 is not set
-
-#
-# 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 is not set
-UCLIBC_HAS_NFTW=y
-UCLIBC_HAS_FTW=y
-# UCLIBC_HAS_FTS is not set
-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_BUILD_PIE is not set
-# UCLIBC_HAS_ARC4RANDOM is not set
-# HAVE_NO_SSP is not set
-UCLIBC_HAS_SSP=y
-# UCLIBC_HAS_SSP_COMPAT is not set
-# SSP_QUICK_CANARY is not set
-PROPOLICE_BLOCK_ABRT=y
-# PROPOLICE_BLOCK_SEGV is not set
-# UCLIBC_BUILD_SSP is not set
-UCLIBC_BUILD_RELRO=y
-UCLIBC_BUILD_NOW=y
-UCLIBC_BUILD_NOEXECSTACK=y
-
-#
-# uClibc development/debugging options
-#
-CROSS_COMPILER_PREFIX=""
-UCLIBC_EXTRA_CFLAGS=""
-# DODEBUG is not set
-# DODEBUG_PT is not set
-DOSTRIP=y
-# 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/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk
deleted file mode 100644
index 06f5b2300d..0000000000
--- a/toolchain/uClibc/uclibc.mk
+++ /dev/null
@@ -1,610 +0,0 @@
-################################################################################
-#
-# uClibc (the C library)
-#
-################################################################################
-
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
-
-# specifying UCLIBC_CONFIG_FILE on the command-line overrides the .config
-# setting.
-ifndef UCLIBC_CONFIG_FILE
-UCLIBC_CONFIG_FILE=$(call qstrip,$(BR2_UCLIBC_CONFIG))
-endif
-
-UCLIBC_VERSION:=$(call qstrip,$(BR2_UCLIBC_VERSION_STRING))
-
-ifeq ($(BR2_UCLIBC_VERSION_SNAPSHOT),y)
-UCLIBC_SITE:=http://www.uclibc.org/downloads/snapshots
-UCLIBC_DIR:=$(TOOLCHAIN_DIR)/uClibc
-else ifeq ($(findstring arc,$(UCLIBC_VERSION)),arc)
-UCLIBC_SITE:=$(BR2_ARC_SITE)
-UCLIBC_DIR:=$(TOOLCHAIN_DIR)/uClibc-$(UCLIBC_VERSION)
-else
-UCLIBC_SITE:=http://www.uclibc.org/downloads
-UCLIBC_DIR:=$(TOOLCHAIN_DIR)/uClibc-$(UCLIBC_VERSION)
-endif
-
-UCLIBC_PATCH_DIR:=toolchain/uClibc/
-UCLIBC_SOURCE:=uClibc-$(UCLIBC_VERSION).tar.bz2
-
-UCLIBC_CAT:=$(BZCAT)
-
-UCLIBC_TARGET_ARCH:=$(shell $(SHELL) -c "echo $(ARCH) | sed \
- -e 's/-.*//' \
- -e 's/i.86/i386/' \
- -e 's/sparc.*/sparc/' \
- -e 's/arc.*/arc/g' \
- -e 's/arm.*/arm/g' \
- -e 's/m68k.*/m68k/' \
- -e 's/ppc/powerpc/g' \
- -e 's/v850.*/v850/g' \
- -e 's/sh[234].*/sh/' \
- -e 's/mips.*/mips/' \
- -e 's/cris.*/cris/' \
- -e 's/xtensa.*/xtensa/' \
-")
-
-UCLIBC_TARGET_ENDIAN:=$(call qstrip,$(BR2_ENDIAN))
-
-ifeq ($(UCLIBC_TARGET_ENDIAN),LITTLE)
-UCLIBC_NOT_TARGET_ENDIAN:=BIG
-else
-UCLIBC_NOT_TARGET_ENDIAN:=LITTLE
-endif
-
-UCLIBC_ARM_TYPE:=CONFIG_$(call qstrip,$(BR2_UCLIBC_ARM_TYPE))
-UCLIBC_SPARC_TYPE:=CONFIG_SPARC_$(call qstrip,$(BR2_UCLIBC_SPARC_TYPE))
-
-ifeq ($(GENERATE_LOCALE),)
-# We need at least one locale
-UCLIBC_LOCALES = en_US
-else
-# Strip out the encoding part of locale names, if any
-UCLIBC_LOCALES = $(foreach locale,$(GENERATE_LOCALE),\
- $(firstword $(subst .,$(space),$(locale))))
-endif
-
-$(DL_DIR)/$(UCLIBC_SOURCE):
- $(Q)$(call MESSAGE,"Downloading uClibc")
- $(call DOWNLOAD,$(UCLIBC_SITE:/=)/$(UCLIBC_SOURCE))
-
-uclibc-unpacked: $(UCLIBC_DIR)/.unpacked
-$(UCLIBC_DIR)/.unpacked: $(DL_DIR)/$(UCLIBC_SOURCE)
- $(Q)$(call MESSAGE,"Extracting uClibc")
- mkdir -p $(TOOLCHAIN_DIR)
- rm -rf $(UCLIBC_DIR)
- $(UCLIBC_CAT) $(DL_DIR)/$(UCLIBC_SOURCE) | tar -C $(TOOLCHAIN_DIR) $(TAR_OPTIONS) -
- touch $@
-
-uclibc-patched: $(UCLIBC_DIR)/.patched
-$(UCLIBC_DIR)/.patched: $(UCLIBC_DIR)/.unpacked
- $(Q)$(call MESSAGE,"Patching uClibc")
-ifneq ($(BR2_UCLIBC_VERSION_SNAPSHOT),y)
- support/scripts/apply-patches.sh $(UCLIBC_DIR) $(UCLIBC_PATCH_DIR) \
- uClibc-$(UCLIBC_VERSION)-\*.patch \
- uClibc-$(UCLIBC_VERSION)-\*.patch.$(ARCH)
-else
- support/scripts/apply-patches.sh $(UCLIBC_DIR) $(UCLIBC_PATCH_DIR) \
- uClibc.\*.patch uClibc.\*.patch.$(ARCH)
-endif
- touch $@
-
-
-# Some targets may wish to provide their own UCLIBC_CONFIG_FILE...
-$(UCLIBC_DIR)/.oldconfig: $(UCLIBC_DIR)/.patched $(UCLIBC_CONFIG_FILE)
- $(Q)$(call MESSAGE,"Pre-configuring uClibc")
- cp -f $(UCLIBC_CONFIG_FILE) $(UCLIBC_DIR)/.oldconfig
- $(SED) 's,^CROSS_COMPILER_PREFIX=.*,CROSS_COMPILER_PREFIX="$(TARGET_CROSS)",g' \
- -e 's,# TARGET_$(UCLIBC_TARGET_ARCH) is not set,TARGET_$(UCLIBC_TARGET_ARCH)=y,g' \
- -e 's,^TARGET_ARCH=".*",TARGET_ARCH=\"$(UCLIBC_TARGET_ARCH)\",g' \
- -e 's,^KERNEL_HEADERS=.*,KERNEL_HEADERS=\"$(STAGING_DIR)/usr/include\",g' \
- -e 's,^RUNTIME_PREFIX=.*,RUNTIME_PREFIX=\"/\",g' \
- -e 's,^DEVEL_PREFIX=.*,DEVEL_PREFIX=\"/usr/\",g' \
- -e 's,^SHARED_LIB_LOADER_PREFIX=.*,SHARED_LIB_LOADER_PREFIX=\"/lib\",g' \
- $(UCLIBC_DIR)/.oldconfig
-ifeq ($(UCLIBC_TARGET_ARCH),arm)
- (/bin/echo "# CONFIG_GENERIC_ARM is not set"; \
- /bin/echo "# CONFIG_ARM610 is not set"; \
- /bin/echo "# CONFIG_ARM710 is not set"; \
- /bin/echo "# CONFIG_ARM7TDMI is not set"; \
- /bin/echo "# CONFIG_ARM720T is not set"; \
- /bin/echo "# CONFIG_ARM920T is not set"; \
- /bin/echo "# CONFIG_ARM922T is not set"; \
- /bin/echo "# CONFIG_ARM926T is not set"; \
- /bin/echo "# CONFIG_ARM10T is not set"; \
- /bin/echo "# CONFIG_ARM1136JF_S is not set"; \
- /bin/echo "# CONFIG_ARM1176JZ_S is not set"; \
- /bin/echo "# CONFIG_ARM1176JZF_S is not set"; \
- /bin/echo "# CONFIG_ARM_SA110 is not set"; \
- /bin/echo "# CONFIG_ARM_SA1100 is not set"; \
- /bin/echo "# CONFIG_ARM_XSCALE is not set"; \
- /bin/echo "# CONFIG_ARM_IWMMXT is not set"; \
- ) >> $(UCLIBC_DIR)/.oldconfig
- $(SED) 's/^\(CONFIG_[^_]*[_]*ARM[^=]*\)=.*/# \1 is not set/g' \
- $(UCLIBC_DIR)/.oldconfig
- $(SED) 's/^.*$(UCLIBC_ARM_TYPE).*/$(UCLIBC_ARM_TYPE)=y/g' $(UCLIBC_DIR)/.oldconfig
- $(SED) '/CONFIG_ARM_.ABI/d' $(UCLIBC_DIR)/.oldconfig
-ifeq ($(BR2_ARM_EABI),y)
- /bin/echo "# CONFIG_ARM_OABI is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "CONFIG_ARM_EABI=y" >> $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_ARM_OABI),y)
- /bin/echo "CONFIG_ARM_OABI=y" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_ARM_EABI is not set" >> $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_fa526)$(BR2_strongarm),y)
- $(SED) 's,USE_BX=y,# USE_BX is not set,' $(UCLIBC_DIR)/.oldconfig
-endif
-endif
-ifeq ($(UCLIBC_TARGET_ARCH),mips)
- $(SED) '/CONFIG_MIPS_[NO].._ABI/d' $(UCLIBC_DIR)/.oldconfig
- $(SED) '/CONFIG_MIPS_ISA_.*/d' $(UCLIBC_DIR)/.oldconfig
- (/bin/echo "# CONFIG_MIPS_O32_ABI is not set"; \
- /bin/echo "# CONFIG_MIPS_N32_ABI is not set"; \
- /bin/echo "# CONFIG_MIPS_N64_ABI is not set"; \
- /bin/echo "# CONFIG_MIPS_ISA_1 is not set"; \
- /bin/echo "# CONFIG_MIPS_ISA_2 is not set"; \
- /bin/echo "# CONFIG_MIPS_ISA_3 is not set"; \
- /bin/echo "# CONFIG_MIPS_ISA_4 is not set"; \
- /bin/echo "# CONFIG_MIPS_ISA_MIPS32 is not set"; \
- /bin/echo "# CONFIG_MIPS_ISA_MIPS32R2 is not set"; \
- /bin/echo "# CONFIG_MIPS_ISA_MIPS64 is not set"; \
- ) >> $(UCLIBC_DIR)/.oldconfig
-ifeq ($(BR2_MIPS_OABI32),y)
- $(SED) 's/.*\(CONFIG_MIPS_O32_ABI\).*/\1=y/' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_MIPS_NABI32),y)
- $(SED) 's/.*\(CONFIG_MIPS_N32_ABI\).*/\1=y/' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_MIPS_NABI64),y)
- $(SED) 's/.*\(CONFIG_MIPS_N64_ABI\).*/\1=y/' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_mips_1),y)
- $(SED) 's/.*\(CONFIG_MIPS_ISA_1\).*/\1=y/' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_mips_2),y)
- $(SED) 's/.*\(CONFIG_MIPS_ISA_2\).*/\1=y/' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_mips_3),y)
- $(SED) 's/.*\(CONFIG_MIPS_ISA_3\).*/\1=y/' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_mips_4),y)
- $(SED) 's/.*\(CONFIG_MIPS_ISA_4\).*/\1=y/' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_mips_32),y)
- $(SED) 's/.*\(CONFIG_MIPS_ISA_MIPS32\)[^R].*/\1=y/' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_mips_32r2),y)
- $(SED) 's/.*\(CONFIG_MIPS_ISA_MIPS32R2\).*/\1=y/' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_mips_64),y)
- $(SED) 's/.*\(CONFIG_MIPS_ISA_MIPS64\).*/\1=y/' $(UCLIBC_DIR)/.oldconfig
-endif
-endif
-ifeq ($(UCLIBC_TARGET_ARCH),sh)
- /bin/echo "# CONFIG_SH2A is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_SH2 is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_SH3 is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_SH4 is not set" >> $(UCLIBC_DIR)/.oldconfig
-ifeq ($(BR2_sh2a),y)
- $(SED) 's,# CONFIG_SH2A is not set,CONFIG_SH2A=y,g' $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# UCLIBC_FORMAT_FDPIC_ELF is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# UCLIBC_FORMAT_FLAT is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# UCLIBC_FORMAT_FLAT_SEP_DATA is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# UCLIBC_FORMAT_SHARED_FLAT is not set" >> $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_sh2),y)
- $(SED) 's,# CONFIG_SH2 is not set,CONFIG_SH2=y,g' $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# UCLIBC_FORMAT_FDPIC_ELF is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# UCLIBC_FORMAT_FLAT is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# UCLIBC_FORMAT_FLAT_SEP_DATA is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# UCLIBC_FORMAT_SHARED_FLAT is not set" >> $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_sh3eb),y)
- $(SED) 's,# CONFIG_SH3 is not set,CONFIG_SH3=y,g' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_sh3),y)
- $(SED) 's,# CONFIG_SH3 is not set,CONFIG_SH3=y,g' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_sh4eb),y)
- $(SED) 's,# CONFIG_SH4 is not set,CONFIG_SH4=y,g' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_sh4),y)
- $(SED) 's,# CONFIG_SH4 is not set,CONFIG_SH4=y,g' $(UCLIBC_DIR)/.oldconfig
-endif
-endif
-ifeq ($(UCLIBC_TARGET_ARCH),sparc)
- $(SED) 's/^\(CONFIG_[^_]*[_]*SPARC[^=]*\)=.*/# \1 is not set/g' \
- $(UCLIBC_DIR)/.oldconfig
- for i in V7 V8 V9 V9B; do echo "# CONFIG_SPARC_$$i is not set"; done \
- >> $(UCLIBC_DIR)/.oldconfig
- $(SED) 's/^.*$(UCLIBC_SPARC_TYPE)[^B].*/$(UCLIBC_SPARC_TYPE)=y/g' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(UCLIBC_TARGET_ARCH),powerpc)
-ifeq ($(BR2_powerpc_8540)$(BR2_powerpc_8548)$(BR2_powerpc_e500mc),y)
- /bin/echo "# CONFIG_CLASSIC is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "CONFIG_E500=y" >> $(UCLIBC_DIR)/.oldconfig
-else
- /bin/echo "CONFIG_CLASSIC=y" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_E500 is not set" >> $(UCLIBC_DIR)/.oldconfig
-endif
-endif
-ifeq ($(UCLIBC_TARGET_ARCH),avr32)
- /bin/echo "LINKRELAX=y" >> $(UCLIBC_DIR)/.oldconfig
-endif
-ifneq ($(UCLIBC_TARGET_ENDIAN),)
- # The above doesn't work for me, so redo
- $(SED) 's/.*\(ARCH_$(UCLIBC_NOT_TARGET_ENDIAN)_ENDIAN\).*/# \1 is not set/g' \
- -e 's/.*\(ARCH_WANTS_$(UCLIBC_NOT_TARGET_ENDIAN)_ENDIAN\).*/# \1 is not set/g' \
- -e 's/.*\(ARCH_$(UCLIBC_TARGET_ENDIAN)_ENDIAN\).*/\1=y/g' \
- -e 's/.*\(ARCH_WANTS_$(UCLIBC_TARGET_ENDIAN)_ENDIAN\).*/\1=y/g' \
- $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT_LARGEFILE),y)
- $(SED) 's,.*UCLIBC_HAS_LFS.*,UCLIBC_HAS_LFS=y,g' $(UCLIBC_DIR)/.oldconfig
-else
- $(SED) 's,.*UCLIBC_HAS_LFS.*,UCLIBC_HAS_LFS=n,g' $(UCLIBC_DIR)/.oldconfig
- $(SED) '/.*UCLIBC_HAS_FOPEN_LARGEFILE_MODE.*/d' $(UCLIBC_DIR)/.oldconfig
- echo "# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set" >> $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT_INET_IPV6),y)
- $(SED) 's,^.*UCLIBC_HAS_IPV6.*,UCLIBC_HAS_IPV6=y,g' $(UCLIBC_DIR)/.oldconfig
-else
- $(SED) 's,^.*UCLIBC_HAS_IPV6.*,UCLIBC_HAS_IPV6=n,g' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT_INET_RPC),y)
- $(SED) 's,^.*UCLIBC_HAS_RPC.*,UCLIBC_HAS_RPC=y,g' \
- -e 's,^.*UCLIBC_HAS_FULL_RPC.*,UCLIBC_HAS_FULL_RPC=y,g' \
- -e 's,^.*UCLIBC_HAS_REENTRANT_RPC.*,UCLIBC_HAS_REENTRANT_RPC=y,g' \
- $(UCLIBC_DIR)/.oldconfig
-else
- $(SED) 's,^.*UCLIBC_HAS_RPC.*,UCLIBC_HAS_RPC=n,g' \
- -e 's,^.*UCLIBC_HAS_FULL_RPC.*,UCLIBC_HAS_FULL_RPC=n,g' \
- -e 's,^.*UCLIBC_HAS_REENTRANT_RPC.*,UCLIBC_HAS_REENTRANT_RPC=n,g' \
- $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_SOFT_FLOAT),y)
- $(SED) 's,.*UCLIBC_HAS_FPU.*,UCLIBC_HAS_FPU=n,g' \
- -e 's,^[^_]*HAS_FPU.*,HAS_FPU=n,g' \
- -e 's,.*UCLIBC_HAS_FLOATS.*,UCLIBC_HAS_FLOATS=y,g' \
- -e 's,.*DO_C99_MATH.*,DO_C99_MATH=y,g' \
- $(UCLIBC_DIR)/.oldconfig
- #$(SED) 's,.*UCLIBC_HAS_FPU.*,UCLIBC_HAS_FPU=n\nHAS_FPU=n\nUCLIBC_HAS_FLOATS=y\nUCLIBC_HAS_SOFT_FLOAT=y,g' $(UCLIBC_DIR)/.oldconfig
-else
- $(SED) '/UCLIBC_HAS_FLOATS/d' \
- -e 's,.*UCLIBC_HAS_FPU.*,UCLIBC_HAS_FPU=y\nHAS_FPU=y\nUCLIBC_HAS_FLOATS=y\n,g' \
- $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT_USE_SSP),y)
- $(SED) 's,^.*UCLIBC_HAS_SSP[^_].*,UCLIBC_HAS_SSP=y,g' $(UCLIBC_DIR)/.oldconfig
-else
- $(SED) 's,^.*UCLIBC_HAS_SSP[^_].*,UCLIBC_HAS_SSP=n,g' $(UCLIBC_DIR)/.oldconfig
-endif
- $(SED) '/UCLIBC_HAS_THREADS/d' $(UCLIBC_DIR)/.oldconfig
- $(SED) '/LINUXTHREADS/d' $(UCLIBC_DIR)/.oldconfig
- $(SED) '/LINUXTHREADS_OLD/d' $(UCLIBC_DIR)/.oldconfig
- $(SED) '/PTHREADS_DEBUG_SUPPORT/d' $(UCLIBC_DIR)/.oldconfig
- $(SED) '/UCLIBC_HAS_THREADS_NATIVE/d' $(UCLIBC_DIR)/.oldconfig
- $(SED) '/DODEBUG /d' $(UCLIBC_DIR)/.oldconfig
- $(SED) '/DOSTRIP/d' $(UCLIBC_DIR)/.oldconfig
-ifeq ($(BR2_STRIP_none),y)
- echo "# DOSTRIP is not set" >> $(UCLIBC_DIR)/.oldconfig
-else
- echo "DOSTRIP=y" >> $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_ENABLE_DEBUG),y)
- echo "DODEBUG=y" >> $(UCLIBC_DIR)/.oldconfig
-else
- echo "# DODEBUG is not set" >> $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_PTHREADS_NONE),y)
- echo "# UCLIBC_HAS_THREADS is not set" >> $(UCLIBC_DIR)/.oldconfig
-else
- echo "UCLIBC_HAS_THREADS=y" >> $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_PTHREADS),y)
- echo "LINUXTHREADS=y" >> $(UCLIBC_DIR)/.oldconfig
- echo "LINUXTHREADS_NEW=y" >> $(UCLIBC_DIR)/.oldconfig
-else
- echo "# LINUXTHREADS is not set" >> $(UCLIBC_DIR)/.oldconfig
- echo "# LINUXTHREADS_NEW is not set" >> $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_PTHREADS_OLD),y)
- echo "LINUXTHREADS_OLD=y" >> $(UCLIBC_DIR)/.oldconfig
-else
- echo "# LINUXTHREADS_OLD is not set" >> $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_PTHREADS_NATIVE),y)
- echo "UCLIBC_HAS_THREADS_NATIVE=y" >> $(UCLIBC_DIR)/.oldconfig
-else
- echo "# UCLIBC_HAS_THREADS_NATIVE is not set" >> $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_PTHREAD_DEBUG),y)
- echo "PTHREADS_DEBUG_SUPPORT=y" >> $(UCLIBC_DIR)/.oldconfig
-else
- echo "# PTHREADS_DEBUG_SUPPORT is not set" >> $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT_LOCALE),y)
- $(SED) 's,^.*UCLIBC_HAS_LOCALE.*,UCLIBC_HAS_LOCALE=y\n# UCLIBC_BUILD_ALL_LOCALE is not set\nUCLIBC_BUILD_MINIMAL_LOCALE=y\nUCLIBC_BUILD_MINIMAL_LOCALES="$(UCLIBC_LOCALES)"\nUCLIBC_PREGENERATED_LOCALE_DATA=n\nUCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA=n\nUCLIBC_HAS_XLOCALE=y\nUCLIBC_HAS_GLIBC_DIGIT_GROUPING=n\n,g' $(UCLIBC_DIR)/.oldconfig
-else
- $(SED) 's,^.*UCLIBC_HAS_LOCALE.*,UCLIBC_HAS_LOCALE=n,g' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT_WCHAR),y)
- $(SED) 's,^.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y,g' $(UCLIBC_DIR)/.oldconfig
-else
- $(SED) 's,^.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=n,g' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ("$(KERNEL_ARCH)","i386")
- /bin/echo "# CONFIG_GENERIC_386 is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_386 is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_486 is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_586 is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_586MMX is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_686 is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_PENTIUMII is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_PENTIUMIII is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_PENTIUM4 is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_K6 is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_K7 is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_ELAN is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_CRUSOE is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_WINCHIPC6 is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_WINCHIP2 is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_CYRIXIII is not set" >> $(UCLIBC_DIR)/.oldconfig
- /bin/echo "# CONFIG_NEHEMIAH is not set" >> $(UCLIBC_DIR)/.oldconfig
-ifeq ($(BR2_x86_i386),y)
- $(SED) 's,# CONFIG_386 is not set,CONFIG_386=y,g' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_x86_i486),y)
- $(SED) 's,# CONFIG_486 is not set,CONFIG_486=y,g' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_x86_i586),y)
- $(SED) 's,# CONFIG_586 is not set,CONFIG_586=y,g' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_x86_pentium_mmx),y)
- $(SED) 's,# CONFIG_586MMX is not set,CONFIG_586MMX=y,g' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_x86_i686),y)
- $(SED) 's,# CONFIG_686 is not set,CONFIG_686=y,g' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_x86_pentiumpro),y)
- $(SED) 's,# CONFIG_686 is not set,CONFIG_686=y,g' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_x86_pentium2),y)
- $(SED) 's,# CONFIG_PENTIUMII is not set,CONFIG_PENTIUMII=y,g' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_x86_pentium3),y)
- $(SED) 's,# CONFIG_PENTIUMIII is not set,CONFIG_PENTIUMIII=y,g' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_x86_pentium4),y)
- $(SED) 's,# CONFIG_PENTIUM4 is not set,CONFIG_PENTIUM4=y,g' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_x86_pentium_m),y)
- $(SED) 's,# CONFIG_PENTIUM4 is not set,CONFIG_PENTIUM4=y,g' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_x86_nocona),y)
- $(SED) 's,# CONFIG_PENTIUM4 is not set,CONFIG_PENTIUM4=y,g' $(UCLIBC_DIR)/.oldconfig
-endif
-ifeq ($(BR2_x86_core2),y)
- $(SED) 's,# CONFIG_PENTIUM4 is not set,CONFIG_PENTIUM4=y,g' $(UCLIBC_DIR)/.oldconfig
-endif
-endif
-
-$(UCLIBC_DIR)/.config: $(UCLIBC_DIR)/.oldconfig
- $(Q)$(call MESSAGE,"Configuring uClibc")
- cp -f $(UCLIBC_DIR)/.oldconfig $(UCLIBC_DIR)/.config
- mkdir -p $(STAGING_DIR)/usr/include
- mkdir -p $(STAGING_DIR)/usr/lib
- mkdir -p $(STAGING_DIR)/lib
- $(MAKE1) -C $(UCLIBC_DIR) \
- ARCH="$(UCLIBC_TARGET_ARCH)" \
- PREFIX=$(STAGING_DIR) \
- DEVEL_PREFIX=/usr/ \
- RUNTIME_PREFIX=$(STAGING_DIR) \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- UCLIBC_EXTRA_CFLAGS="$(TARGET_ABI)" \
- HOSTCC="$(HOSTCC)" \
- oldconfig
- touch $@
-
-ifeq ($(BR2_CCACHE),y)
-# we'll need ccache for the host built before make oldconfig
-# if configured, otherwise uclibc-menuconfig will fail.
-# Use order-only dependency as host-ccache is a virtual target
-$(UCLIBC_DIR)/.config: | host-ccache
-endif
-
-# For ARC, libgcc is always included, even when -nostdlib is given. This
-# is related to some small pieces of code that are not always generated
-# by the compiler; a call to libgcc is used in those cases instead.
-#
-# During the initial stages of building the toolchain, this is a problem,
-# as libgcc does not exist yet. The ARC compiler supports -really-nostdlib
-# to override the default behavior.
-ifeq ($(BR2_arc),y)
-REALLY_NOSTDLIB=-really-nostdlib
-endif
-
-$(UCLIBC_DIR)/.configured: $(UCLIBC_DIR)/.config
- $(Q)$(call MESSAGE,"Installing uClibc headers")
- $(MAKE1) -C $(UCLIBC_DIR) \
- ARCH="$(UCLIBC_TARGET_ARCH)" \
- PREFIX=$(STAGING_DIR) \
- DEVEL_PREFIX=/usr/ \
- RUNTIME_PREFIX=$(STAGING_DIR) \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- UCLIBC_EXTRA_CFLAGS="$(TARGET_ABI)" \
- HOSTCC="$(HOSTCC)" headers \
- lib/crt1.o lib/crti.o lib/crtn.o \
- install_headers
- $(TARGET_CROSS)gcc -nostdlib $(REALLY_NOSTDLIB) -nostartfiles -shared -x c /dev/null -o $(STAGING_DIR)/usr/lib/libc.so
- $(TARGET_CROSS)gcc -nostdlib $(REALLY_NOSTDLIB) -nostartfiles -shared -x c /dev/null -o $(STAGING_DIR)/usr/lib/libm.so
- cp -pLR $(UCLIBC_DIR)/lib/crt[1in].o $(STAGING_DIR)/usr/lib/
- touch $@
-
-$(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured $(HOST_GCC_INTERMEDIATE_TARGET_INSTALL_HOST)
- $(Q)$(call MESSAGE,"Building uClibc")
- $(MAKE1) -C $(UCLIBC_DIR) \
- ARCH="$(UCLIBC_TARGET_ARCH)" \
- PREFIX= \
- DEVEL_PREFIX=/ \
- RUNTIME_PREFIX=/ \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- UCLIBC_EXTRA_CFLAGS="$(TARGET_ABI)" \
- HOSTCC="$(HOSTCC)" \
- all
- touch -c $@
-
-uclibc-menuconfig: dirs $(UCLIBC_DIR)/.config
- $(MAKE1) -C $(UCLIBC_DIR) \
- ARCH="$(UCLIBC_TARGET_ARCH)" \
- PREFIX=$(STAGING_DIR) \
- DEVEL_PREFIX=/usr/ \
- RUNTIME_PREFIX=$(STAGING_DIR) \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- UCLIBC_EXTRA_CFLAGS="$(TARGET_ABI)" \
- HOSTCC="$(HOSTCC)" \
- menuconfig && \
- touch -c $(UCLIBC_DIR)/.config
-
-
-$(STAGING_DIR)/usr/lib/libc.a: $(UCLIBC_DIR)/lib/libc.a
- $(Q)$(call MESSAGE,"Installing uClibc to staging dir")
- $(MAKE1) -C $(UCLIBC_DIR) \
- ARCH="$(UCLIBC_TARGET_ARCH)" \
- PREFIX=$(STAGING_DIR) \
- DEVEL_PREFIX=/usr/ \
- RUNTIME_PREFIX=/ \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- UCLIBC_EXTRA_CFLAGS="$(TARGET_ABI)" \
- install_runtime install_dev
- # Build the host utils. Need to add an install target...
- $(MAKE1) -C $(UCLIBC_DIR)/utils \
- PREFIX=$(HOST_DIR) \
- HOSTCC="$(HOSTCC)" \
- hostutils
- if [ -f $(UCLIBC_DIR)/utils/ldd.host ]; then \
- install -D $(UCLIBC_DIR)/utils/ldd.host $(HOST_DIR)/usr/bin/ldd; \
- ln -sf ldd $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-ldd; \
- fi
- if [ -f $(UCLIBC_DIR)/utils/ldconfig.host ]; then \
- install -D $(UCLIBC_DIR)/utils/ldconfig.host $(HOST_DIR)/usr/bin/ldconfig; \
- ln -sf ldconfig $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-ldconfig; \
- fi
- touch -c $@
-
-ifneq ($(TARGET_DIR),)
-$(TARGET_DIR)/lib/libc.so.0: $(STAGING_DIR)/usr/lib/libc.a
- $(Q)$(call MESSAGE,"Installing uClibc runtime to target dir")
- $(MAKE1) -C $(UCLIBC_DIR) \
- ARCH="$(UCLIBC_TARGET_ARCH)" \
- PREFIX=$(TARGET_DIR) \
- DEVEL_PREFIX=/usr/ \
- RUNTIME_PREFIX=/ \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- UCLIBC_EXTRA_CFLAGS="$(TARGET_ABI)" \
- install_runtime
- touch -c $@
-
-$(TARGET_DIR)/usr/bin/ldd: $(cross_compiler)
- $(Q)$(call MESSAGE,"Installing uClibc utils to target dir")
- $(MAKE1) -C $(UCLIBC_DIR) CC=$(TARGET_CROSS)gcc \
- CPP=$(TARGET_CROSS)cpp LD=$(TARGET_CROSS)ld \
- ARCH="$(UCLIBC_TARGET_ARCH)" \
- PREFIX=$(TARGET_DIR) utils install_utils
- touch -c $@
-
-ifneq ($(BR2_PREFER_STATIC_LIB),y)
-UCLIBC_TARGETS=$(TARGET_DIR)/lib/libc.so.0
-endif
-
-ifeq ($(BR2_UCLIBC_INSTALL_TEST_SUITE),y)
-UCLIBC_TARGETS+=uclibc-test
-endif
-endif
-
-uclibc: host-gcc-intermediate $(STAGING_DIR)/usr/lib/libc.a $(UCLIBC_TARGETS)
-
-uclibc-source: $(DL_DIR)/$(UCLIBC_SOURCE)
-
-uclibc-unpacked: $(UCLIBC_DIR)/.unpacked
-
-uclibc-config: $(UCLIBC_DIR)/.config
-
-uclibc-oldconfig: $(UCLIBC_DIR)/.oldconfig
-
-uclibc-update-config: uclibc-config
- cp -f $(UCLIBC_DIR)/.config $(UCLIBC_CONFIG_FILE)
-
-uclibc-configured: host-gcc-initial linux-headers $(UCLIBC_DIR)/.configured
-
-uclibc-configured-source: uclibc-source
-
-uclibc-clean: uclibc-test-clean
- -$(MAKE1) -C $(UCLIBC_DIR) ARCH="$(UCLIBC_TARGET_ARCH)" clean
- rm -f $(UCLIBC_DIR)/.config
-
-uclibc-dirclean: uclibc-test-dirclean
- rm -rf $(UCLIBC_DIR)
-
-uclibc-target-utils: $(TARGET_DIR)/usr/bin/ldd
-
-uclibc-target-utils-source: $(DL_DIR)/$(UCLIBC_SOURCE)
-
-$(UCLIBC_DIR)/test/unistd/errno:
- $(Q)$(call MESSAGE,"Building uClibc test suite")
- $(MAKE) -C $(UCLIBC_DIR)/test \
- ARCH_CFLAGS=-I$(STAGING_DIR)/usr/include \
- UCLIBC_ONLY=1 TEST_INSTALLED_UCLIBC=1 compile
-
-$(TARGET_DIR)/root/uClibc/test/unistd/errno: $(UCLIBC_DIR)/test/unistd/errno
- $(Q)$(call MESSAGE,"Installing uClibc test suite to target dir")
- mkdir -p $(TARGET_DIR)/root/uClibc
- cp -rdpf $(UCLIBC_DIR)/test $(TARGET_DIR)/root/uClibc
- $(INSTALL) $(UCLIBC_DIR)/Rules.mak $(TARGET_DIR)/root/uClibc
- $(INSTALL) $(UCLIBC_DIR)/.config $(TARGET_DIR)/root/uClibc
-
-uclibc-test: $(STAGING_DIR)/usr/lib/libc.a $(TARGET_DIR)/root/uClibc/test/unistd/errno
-
-uclibc-test-source: uclibc-source
-
-uclibc-test-clean:
- -$(MAKE) -C $(UCLIBC_DIR)/test clean
- rm -rf $(TARGET_DIR)/root/uClibc
-
-uclibc-test-dirclean:
- rm -rf $(TARGET_DIR)/root/uClibc
-
-################################################################################
-#
-# uClibc for the target just needs its header files
-# and whatnot installed.
-#
-################################################################################
-
-$(TARGET_DIR)/usr/lib/libc.a: $(STAGING_DIR)/usr/lib/libc.a
- $(Q)$(call MESSAGE,"Installing uClibc development files to target dir")
- $(MAKE1) -C $(UCLIBC_DIR) \
- ARCH="$(UCLIBC_TARGET_ARCH)" \
- PREFIX=$(TARGET_DIR) \
- DEVEL_PREFIX=/usr/ \
- RUNTIME_PREFIX=/ \
- install_dev
- # Install the kernel headers to the target dir if necessary
- if [ ! -f $(TARGET_DIR)/usr/include/linux/version.h ]; then \
- cp -pLR $(LINUX_HEADERS_DIR)/include/* \
- $(TARGET_DIR)/usr/include/; \
- fi
- touch -c $@
-
-uclibc_target: cross_compiler uclibc $(TARGET_DIR)/usr/lib/libc.a $(TARGET_DIR)/usr/bin/ldd
-
-uclibc_target-clean: uclibc-test-clean
- rm -rf $(TARGET_DIR)/usr/include \
- $(TARGET_DIR)/usr/lib/libc.a $(TARGET_DIR)/usr/bin/ldd
-
-uclibc_target-dirclean: uclibc-test-dirclean
- rm -rf $(TARGET_DIR)/usr/include
-
-endif