aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/uclibc/0001-Add-dn_skipname-from-OpenBSD.patch115
-rw-r--r--main/uclibc/0001-avr32-add-varargs-handling-of-prctl-syscall.patch74
-rw-r--r--main/uclibc/0001-ldd-segfault-fix.patch49
-rw-r--r--main/uclibc/0002-Make-use-of-macros-from-sys-asm.h-in-crt1.S.patch87
-rw-r--r--main/uclibc/0003-rpc-fix-typo-in-version-mismatch-msg.patch26
-rw-r--r--main/uclibc/0004-fix-make-install_-host-utils.patch158
-rw-r--r--main/uclibc/0005-host-utils-depend-on-headers.patch35
-rw-r--r--main/uclibc/0006-fstatat-fix-up-behavior-on-32-64-bit-hosts.patch113
-rw-r--r--main/uclibc/0007-Unbreak-build-for-sparc-on-some-config-s.patch42
-rw-r--r--main/uclibc/0008-malloc-fix-race-condition-and-other-bugs-in-the-no-m.patch89
-rw-r--r--main/uclibc/0009-libm-enable-log2f-and-exp2f.patch70
-rw-r--r--main/uclibc/APKBUILD88
-rw-r--r--main/uclibc/pthread-new-aliasing-fix.diff147
-rw-r--r--main/uclibc/uclibc-0.9.30.1-pthread_getattr_np.patch137
-rw-r--r--main/uclibc/uclibc-0.9.30.1-resolv.patch13
-rw-r--r--main/uclibc/uclibc-fork-hidden.diff115
-rw-r--r--main/uclibc/uclibc-fork-hook.diff36
-rw-r--r--main/uclibc/uclibc-i386-floating-stacks.diff23
-rw-r--r--main/uclibc/uclibc-linuxthreads-init-stdio.patch21
-rw-r--r--main/uclibc/uclibc-resolv-cname-fix.diff16
-rw-r--r--main/uclibc/uclibcconfig.x86246
21 files changed, 0 insertions, 1700 deletions
diff --git a/main/uclibc/0001-Add-dn_skipname-from-OpenBSD.patch b/main/uclibc/0001-Add-dn_skipname-from-OpenBSD.patch
deleted file mode 100644
index 6dd7b17cbb..0000000000
--- a/main/uclibc/0001-Add-dn_skipname-from-OpenBSD.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From ab443685d9f923afcdfb9fbb071a293b53aa3c40 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <natanael.copa@gmail.com>
-Date: Sun, 13 Sep 2009 09:53:09 +0000
-Subject: [PATCH] Add dn_skipname() from OpenBSD
-
-dn_skipname() is needed by a few applications like yate, wine, kde and
-probably more.
----
- libresolv/resolv.c | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 files changed, 85 insertions(+), 0 deletions(-)
-
-diff --git a/libresolv/resolv.c b/libresolv/resolv.c
-index 38b10ff..c55046d 100644
---- a/libresolv/resolv.c
-+++ b/libresolv/resolv.c
-@@ -7,7 +7,9 @@
- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- */
-
-+#include <sys/types.h>
- #include <features.h>
-+#include <resolv.h>
-
- void __stub1(void);
- void __stub1(void)
-@@ -16,3 +18,86 @@ void __stub1(void)
- }
- link_warning (__stub1, "the `libresolv' library is a stub. Do you really need it?")
-
-+/* taken from OpenBSD source */
-+/*
-+ * ++Copyright++ 1985, 1993
-+ * -
-+ * Copyright (c) 1985, 1993
-+ * The Regents of the University of California. All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the above copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ * notice, this list of conditions and the following disclaimer in the
-+ * documentation and/or other materials provided with the distribution.
-+ * 3. Neither the name of the University nor the names of its contributors
-+ * may be used to endorse or promote products derived from this software
-+ * without specific prior written permission.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-+ * SUCH DAMAGE.
-+ * -
-+ * Portions Copyright (c) 1993 by Digital Equipment Corporation.
-+ *
-+ * Permission to use, copy, modify, and distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies, and that
-+ * the name of Digital Equipment Corporation not be used in advertising or
-+ * publicity pertaining to distribution of the document or software without
-+ * specific, written prior permission.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
-+ * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
-+ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
-+ * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
-+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
-+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
-+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-+ * SOFTWARE.
-+ * -
-+ * --Copyright--
-+ */
-+
-+/*
-+ * Skip over a compressed domain name. Return the size or -1.
-+ */
-+int
-+__dn_skipname(const u_char *comp_dn, const u_char *eom)
-+{
-+ const u_char *cp;
-+ int n;
-+
-+ cp = comp_dn;
-+ while (cp < eom && (n = *cp++)) {
-+ /*
-+ * check for indirection
-+ */
-+ switch (n & INDIR_MASK) {
-+ case 0: /* normal case, n == len */
-+ cp += n;
-+ continue;
-+ case INDIR_MASK: /* indirection */
-+ cp++;
-+ break;
-+ default: /* illegal type */
-+ return (-1);
-+ }
-+ break;
-+ }
-+ if (cp > eom)
-+ return (-1);
-+ return (cp - comp_dn);
-+}
-+
---
-1.6.4.2
-
diff --git a/main/uclibc/0001-avr32-add-varargs-handling-of-prctl-syscall.patch b/main/uclibc/0001-avr32-add-varargs-handling-of-prctl-syscall.patch
deleted file mode 100644
index 79676958c7..0000000000
--- a/main/uclibc/0001-avr32-add-varargs-handling-of-prctl-syscall.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 85bc04d5436ca6c8a30a1ad28862260a04b8b3d5 Mon Sep 17 00:00:00 2001
-From: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
-Date: Wed, 16 Dec 2009 13:16:08 +0100
-Subject: [PATCH 1/9] avr32: add varargs handling of prctl syscall
-
-prctl is defined to use varargs in the header file, hence it needs varargs
-specific handling in the source. This patch properly handles the variodic
-argument before the syscall is passed to the kernel for the AVR32 architecture.
-
-Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
----
- libc/sysdeps/linux/avr32/Makefile.arch | 2 +-
- libc/sysdeps/linux/avr32/prctl.c | 36 ++++++++++++++++++++++++++++++++
- 2 files changed, 37 insertions(+), 1 deletions(-)
- create mode 100644 libc/sysdeps/linux/avr32/prctl.c
-
-diff --git a/libc/sysdeps/linux/avr32/Makefile.arch b/libc/sysdeps/linux/avr32/Makefile.arch
-index bc5f625..98b85a7 100644
---- a/libc/sysdeps/linux/avr32/Makefile.arch
-+++ b/libc/sysdeps/linux/avr32/Makefile.arch
-@@ -5,7 +5,7 @@
- # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- #
-
--CSRC := brk.c clone.c mmap.c sigaction.c
-+CSRC := brk.c clone.c mmap.c prctl.c sigaction.c
-
- SSRC := __longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S \
- sigrestorer.S syscall.S vfork.S
-diff --git a/libc/sysdeps/linux/avr32/prctl.c b/libc/sysdeps/linux/avr32/prctl.c
-new file mode 100644
-index 0000000..4e146e3
---- /dev/null
-+++ b/libc/sysdeps/linux/avr32/prctl.c
-@@ -0,0 +1,36 @@
-+/*
-+ * prctl syscall for AVR32 Linux.
-+ *
-+ * Copyright (C) 2010 Atmel Corporation
-+ *
-+ * This file is subject to the terms and conditions of the GNU Lesser General
-+ * Public License. See the file "COPYING.LIB" in the main directory of this
-+ * archive for more details.
-+ */
-+#include <sys/syscall.h>
-+#include <sys/prctl.h>
-+#include <stdarg.h>
-+
-+#ifdef __NR_prctl
-+#define __NR___syscall_prctl __NR_prctl
-+static inline _syscall5(int, __syscall_prctl, int, option, long, arg2,
-+ long, arg3, long, arg4, long, arg5);
-+
-+int prctl(int __option, ...)
-+{
-+ long arg2;
-+ long arg3;
-+ long arg4;
-+ long arg5;
-+ va_list ap;
-+
-+ va_start(ap, __option);
-+ arg2 = va_arg(ap, long);
-+ arg3 = va_arg(ap, long);
-+ arg4 = va_arg(ap, long);
-+ arg5 = va_arg(ap, long);
-+ va_end(ap);
-+
-+ return INLINE_SYSCALL(prctl, 5, __option, arg2, arg3, arg4, arg5);
-+}
-+#endif
---
-1.6.6.1
-
diff --git a/main/uclibc/0001-ldd-segfault-fix.patch b/main/uclibc/0001-ldd-segfault-fix.patch
deleted file mode 100644
index 4384fa548c..0000000000
--- a/main/uclibc/0001-ldd-segfault-fix.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From f29b6882327573ec4e694c1c852307c957d544b9 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Tue, 5 May 2009 14:10:42 +0000
-Subject: [PATCH] ldd segfault fix
-
-Fixes ldd segfault on this testcase:
-
-extern void _dl_getenv(void);
-void foo(void)
-{
- printf("foo: %x\n", &_dl_getenv);
-}
-
-linked as -shared
----
- utils/ldd.c | 8 +++++---
- 1 files changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/utils/ldd.c b/utils/ldd.c
-index 1f1dc25..2cd173c 100644
---- a/utils/ldd.c
-+++ b/utils/ldd.c
-@@ -576,18 +576,20 @@ static struct library *find_elf_interpreter(ElfW(Ehdr) *ehdr)
- }
- newlib->name = NULL;
- newlib->path = NULL;
-- return NULL;
-+ break;
- }
- }
-- if (newlib == NULL)
-+ if (newlib == NULL) {
- newlib = malloc(sizeof(struct library));
-+ if (newlib)
-+ newlib->next = NULL;
-+ }
- if (!newlib)
- return NULL;
- newlib->name = malloc(strlen(s) + 1);
- strcpy(newlib->name, s);
- newlib->path = strdup(newlib->name);
- newlib->resolved = 1;
-- newlib->next = NULL;
-
- #if 0
- /*printf("find_elf_interpreter is adding '%s' to '%s'\n", newlib->name, newlib->path); */
---
-1.6.2.3
-
diff --git a/main/uclibc/0002-Make-use-of-macros-from-sys-asm.h-in-crt1.S.patch b/main/uclibc/0002-Make-use-of-macros-from-sys-asm.h-in-crt1.S.patch
deleted file mode 100644
index 9f04a3ae6e..0000000000
--- a/main/uclibc/0002-Make-use-of-macros-from-sys-asm.h-in-crt1.S.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 2911103dd4a03bbd3aad11eddfce524a5c9ba9b3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 22 Jan 2010 13:00:20 +0100
-Subject: [PATCH 2/9] Make use of macros from sys/asm.h in crt1.S
-
-Needed for mips nptl to boot once again.
-(cherry picked from commit 9c343fd4030dcd7a52616f365893177dded50346)
-
-Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
----
- libc/sysdeps/linux/mips/crt1.S | 46 +++++++++++----------------------------
- 1 files changed, 13 insertions(+), 33 deletions(-)
-
-diff --git a/libc/sysdeps/linux/mips/crt1.S b/libc/sysdeps/linux/mips/crt1.S
-index e851d52..6a80412 100644
---- a/libc/sysdeps/linux/mips/crt1.S
-+++ b/libc/sysdeps/linux/mips/crt1.S
-@@ -85,29 +85,10 @@
-
- __start:
- #ifdef __PIC__
--#if _MIPS_SIM == _MIPS_SIM_ABI32
-- .frame sp, 24, sp
-- .set noreorder
-- move $0, $31 /* Save old ra. */
-- bal 10f /* Find addr of cpload. */
-- nop
--10:
-- .cpload $31
-- move $31, $0
-- .set reorder
-- .cprestore 16
--#else
-- move $0, $31; /* Save old ra. */
-- .set noreorder
-- bal 10f /* Find addr of .cpsetup. */
-- nop
--10:
-- .set reorder
-- .cpsetup $31, $25, 10b
-- move $31, $0
--#endif
-+ SETUP_GPX($0)
-+ SETUP_GPX64($25,$0)
- #else
-- la $28, _gp /* Setup GP correctly if we're non-PIC. */
-+ PTR_LA $28, _gp /* Setup GP correctly if we're non-PIC. */
- move $31, $0
- #endif
-
-@@ -118,18 +99,18 @@ __start:
- /* Allocate space on the stack for seven arguments and
- * make sure the stack is aligned to double words (8 bytes) */
-
-+ and $29, -2 * SZREG
-+
- #if _MIPS_SIM == _MIPS_SIM_ABI32
-- and $29, -2 * 4
-- subu $29, 32
-- la $7, _init /* init */
-- la $8, _fini
-- sw $8, 16($29) /* fini */
-- sw $2, 20($29) /* rtld_fini */
-- sw $29, 24($29) /* stack_end */
--#else
-- and $29, -2 * PTRSIZE
-+ PTR_SUBIU $29, 32
-+#endif
- PTR_LA $7, _init /* init */
-- PTR_LA $8, _fini /* fini */
-+ PTR_LA $8, _fini
-+#if _MIPS_SIM == _MIPS_SIM_ABI32
-+ PTR_S $8, 16($29) /* fini */
-+ PTR_S $2, 20($29) /* rtld_fini */
-+ PTR_S $29, 24($29) /* stack_end */
-+#else
- move $9, $2 /* rtld_fini */
- move $10, $29 /* stack_end */
- #endif
-@@ -148,4 +129,3 @@ __data_start:
- .weak data_start
- data_start = __data_start
-
--
---
-1.6.6.1
-
diff --git a/main/uclibc/0003-rpc-fix-typo-in-version-mismatch-msg.patch b/main/uclibc/0003-rpc-fix-typo-in-version-mismatch-msg.patch
deleted file mode 100644
index cb0826c63e..0000000000
--- a/main/uclibc/0003-rpc-fix-typo-in-version-mismatch-msg.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 83a09cd5c9ed9afd87a7d1d17319c2fd2203ad0f Mon Sep 17 00:00:00 2001
-From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
-Date: Thu, 21 Jan 2010 10:36:13 +0100
-Subject: [PATCH 3/9] rpc: fix typo in version mismatch msg
-
-Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
----
- libc/inet/rpc/rpc_prot.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/libc/inet/rpc/rpc_prot.c b/libc/inet/rpc/rpc_prot.c
-index 74658e6..229f988 100644
---- a/libc/inet/rpc/rpc_prot.c
-+++ b/libc/inet/rpc/rpc_prot.c
-@@ -229,7 +229,7 @@ rejected (enum reject_stat rjct_stat,
- {
- switch (rjct_stat)
- {
-- case RPC_VERSMISMATCH:
-+ case RPC_MISMATCH:
- error->re_status = RPC_VERSMISMATCH;
- return;
- case AUTH_ERROR:
---
-1.6.6.1
-
diff --git a/main/uclibc/0004-fix-make-install_-host-utils.patch b/main/uclibc/0004-fix-make-install_-host-utils.patch
deleted file mode 100644
index f5a5a95872..0000000000
--- a/main/uclibc/0004-fix-make-install_-host-utils.patch
+++ /dev/null
@@ -1,158 +0,0 @@
-From d75ad2e129b3f22296cead3db53c784527deab60 Mon Sep 17 00:00:00 2001
-From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
-Date: Fri, 18 Sep 2009 16:07:31 +0200
-Subject: [PATCH 4/9] fix make {,install_}{,host}utils
-
-Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
----
- extra/locale/programs/locale.c | 3 +-
- libc/misc/wchar/wchar.c | 88 +++++++++++++++++++++-------------------
- 2 files changed, 47 insertions(+), 44 deletions(-)
-
-diff --git a/extra/locale/programs/locale.c b/extra/locale/programs/locale.c
-index 462a579..dfd2029 100644
---- a/extra/locale/programs/locale.c
-+++ b/extra/locale/programs/locale.c
-@@ -10,10 +10,9 @@
- *
- */
-
--
-+#include <string.h>
- #include <stdio.h>
- #include <stdlib.h>
--#include <string.h>
- #include <langinfo.h>
- #include <unistd.h>
- #ifdef __UCLIBC_HAS_GETOPT_LONG__
-diff --git a/libc/misc/wchar/wchar.c b/libc/misc/wchar/wchar.c
-index 290e680..3ce884d 100644
---- a/libc/misc/wchar/wchar.c
-+++ b/libc/misc/wchar/wchar.c
-@@ -171,7 +171,6 @@ extern size_t _wchar_utf8sntowcs(wchar_t *__restrict pwc, size_t wn,
-
- extern size_t _wchar_wcsntoutf8s(char *__restrict s, size_t n,
- const wchar_t **__restrict src, size_t wn) attribute_hidden;
--
- #endif /* _LIBC */
- /**********************************************************************/
- #ifdef L_btowc
-@@ -1201,45 +1200,6 @@ typedef struct {
- int skip_invalid_input; /* To support iconv -c option. */
- } _UC_iconv_t;
-
--
--
--#ifdef L_iconv
--
--#include <iconv.h>
--#include <string.h>
--#include <endian.h>
--#include <byteswap.h>
--
--#if (__BYTE_ORDER != __BIG_ENDIAN) && (__BYTE_ORDER != __LITTLE_ENDIAN)
--#error unsupported endianness for iconv
--#endif
--
--#ifndef __CTYPE_HAS_8_BIT_LOCALES
--#error currently iconv requires 8 bit locales
--#endif
--#ifndef __CTYPE_HAS_UTF_8_LOCALES
--#error currently iconv requires UTF-8 locales
--#endif
--
--
--enum {
-- IC_WCHAR_T = 0xe0,
-- IC_MULTIBYTE = 0xe0,
--#if __BYTE_ORDER == __BIG_ENDIAN
-- IC_UCS_4 = 0xec,
-- IC_UTF_32 = 0xe4,
-- IC_UCS_2 = 0xe2,
-- IC_UTF_16 = 0xea,
--#else
-- IC_UCS_4 = 0xed,
-- IC_UTF_32 = 0xe5,
-- IC_UCS_2 = 0xe3,
-- IC_UTF_16 = 0xeb,
--#endif
-- IC_UTF_8 = 2,
-- IC_ASCII = 1
--};
--
- /* For the multibyte
- * bit 0 means swap endian
- * bit 1 means 2 byte
-@@ -1247,8 +1207,13 @@ enum {
- *
- */
-
-+#if defined L_iconv && defined _LIBC
-+/* Used externally only by iconv utility */
- extern const unsigned char __iconv_codesets[];
- libc_hidden_proto(__iconv_codesets)
-+#endif
-+
-+#if defined L_iconv || defined L_iconv_main
- const unsigned char __iconv_codesets[] =
- "\x0a\xe0""WCHAR_T\x00" /* superset of UCS-4 but platform-endian */
- #if __BYTE_ORDER == __BIG_ENDIAN
-@@ -1281,7 +1246,48 @@ const unsigned char __iconv_codesets[] =
- "\x08\x02""UTF-8\x00"
- "\x0b\x01""US-ASCII\x00"
- "\x07\x01""ASCII"; /* Must be last! (special case to save a nul) */
-+#endif
-+#if defined L_iconv && defined _LIBC
- libc_hidden_data_def(__iconv_codesets)
-+#endif
-+
-+
-+#ifdef L_iconv
-+
-+#include <iconv.h>
-+#include <string.h>
-+#include <endian.h>
-+#include <byteswap.h>
-+
-+#if (__BYTE_ORDER != __BIG_ENDIAN) && (__BYTE_ORDER != __LITTLE_ENDIAN)
-+#error unsupported endianness for iconv
-+#endif
-+
-+#ifndef __CTYPE_HAS_8_BIT_LOCALES
-+#error currently iconv requires 8 bit locales
-+#endif
-+#ifndef __CTYPE_HAS_UTF_8_LOCALES
-+#error currently iconv requires UTF-8 locales
-+#endif
-+
-+
-+enum {
-+ IC_WCHAR_T = 0xe0,
-+ IC_MULTIBYTE = 0xe0,
-+#if __BYTE_ORDER == __BIG_ENDIAN
-+ IC_UCS_4 = 0xec,
-+ IC_UTF_32 = 0xe4,
-+ IC_UCS_2 = 0xe2,
-+ IC_UTF_16 = 0xea,
-+#else
-+ IC_UCS_4 = 0xed,
-+ IC_UTF_32 = 0xe5,
-+ IC_UCS_2 = 0xe3,
-+ IC_UTF_16 = 0xeb,
-+#endif
-+ IC_UTF_8 = 2,
-+ IC_ASCII = 1
-+};
-
- /* Experimentally off - libc_hidden_proto(strcasecmp) */
-
-@@ -1575,6 +1581,4 @@ size_t weak_function iconv(iconv_t cd, char **__restrict inbuf,
- }
- return nrcount;
- }
--
- #endif
--
---
-1.6.6.1
-
diff --git a/main/uclibc/0005-host-utils-depend-on-headers.patch b/main/uclibc/0005-host-utils-depend-on-headers.patch
deleted file mode 100644
index 3a3689267f..0000000000
--- a/main/uclibc/0005-host-utils-depend-on-headers.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 47e88c04e01299f975ff23f33035d0f34a8f6787 Mon Sep 17 00:00:00 2001
-From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
-Date: Fri, 22 Jan 2010 13:32:44 +0100
-Subject: [PATCH 5/9] {,host}utils depend on headers
-
-Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
----
- Makefile.in | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index 4c5aecb..ec4c28e 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -436,7 +436,7 @@ ifeq ($(HAVE_SHARED),y)
- fi
- endif
-
--utils:
-+utils: headers
- $(Q)$(MAKE) CROSS="$(CROSS)" CC="$(CC)" -C utils $@
-
- # Installs helper applications, such as 'ldd' and 'ldconfig'
-@@ -445,7 +445,7 @@ install_utils: utils
-
- endif # ifeq ($(HAVE_DOT_CONFIG),y)
-
--hostutils:
-+hostutils: headers
- $(Q)$(MAKE) CROSS="$(CROSS)" CC="$(CC)" HOSTCC="$(HOSTCC)" DOTHOST=.host -C utils $@
-
- install_hostutils: hostutils
---
-1.6.6.1
-
diff --git a/main/uclibc/0006-fstatat-fix-up-behavior-on-32-64-bit-hosts.patch b/main/uclibc/0006-fstatat-fix-up-behavior-on-32-64-bit-hosts.patch
deleted file mode 100644
index 51564405a9..0000000000
--- a/main/uclibc/0006-fstatat-fix-up-behavior-on-32-64-bit-hosts.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From d43f068e84513ed88392df4ca27d49ad01145fd2 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sun, 6 Sep 2009 12:12:12 -0400
-Subject: [PATCH 6/9] fstatat: fix up behavior on 32/64 bit hosts
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The fstatat() syscall is a little funky in that it sometimes changes name
-between 32 and 64 bit hosts, but it should always operate on a 64bit stat
-structure. So for the fstatat() function, make sure we convert it from a
-64bit kstat to a 32bit stat.
-
-Along these lines, we need to restore the __xstat32_conv() function.
-
-Reported-by: Timo Teräs <timo.teras@iki.fi>
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
----
- libc/sysdeps/linux/common/fstatat.c | 9 +++++++--
- libc/sysdeps/linux/common/fstatat64.c | 5 +++++
- libc/sysdeps/linux/common/xstatconv.c | 19 +++++++++++++++++++
- libc/sysdeps/linux/common/xstatconv.h | 1 +
- 4 files changed, 32 insertions(+), 2 deletions(-)
-
-diff --git a/libc/sysdeps/linux/common/fstatat.c b/libc/sysdeps/linux/common/fstatat.c
-index 149c189..33daa7c 100644
---- a/libc/sysdeps/linux/common/fstatat.c
-+++ b/libc/sysdeps/linux/common/fstatat.c
-@@ -10,15 +10,20 @@
- #include <sys/stat.h>
- #include "xstatconv.h"
-
-+/* 64bit ports tend to favor newfstatat() */
-+#ifdef __NR_newfstatat
-+# define __NR_fstatat64 __NR_newfstatat
-+#endif
-+
- #ifdef __NR_fstatat64
- int fstatat(int fd, const char *file, struct stat *buf, int flag)
- {
- int ret;
-- struct kernel_stat kbuf;
-+ struct kernel_stat64 kbuf;
-
- ret = INLINE_SYSCALL(fstatat64, 4, fd, file, &kbuf, flag);
- if (ret == 0)
-- __xstat_conv(&kbuf, buf);
-+ __xstat32_conv(&kbuf, buf);
-
- return ret;
- }
-diff --git a/libc/sysdeps/linux/common/fstatat64.c b/libc/sysdeps/linux/common/fstatat64.c
-index 5ae1fad..95627af 100644
---- a/libc/sysdeps/linux/common/fstatat64.c
-+++ b/libc/sysdeps/linux/common/fstatat64.c
-@@ -12,6 +12,11 @@
-
- #ifdef __UCLIBC_HAS_LFS__
-
-+/* 64bit ports tend to favor newfstatat() */
-+#ifdef __NR_newfstatat
-+# define __NR_fstatat64 __NR_newfstatat
-+#endif
-+
- #ifdef __NR_fstatat64
- int fstatat64(int fd, const char *file, struct stat64 *buf, int flag)
- {
-diff --git a/libc/sysdeps/linux/common/xstatconv.c b/libc/sysdeps/linux/common/xstatconv.c
-index e575b26..50455c6 100644
---- a/libc/sysdeps/linux/common/xstatconv.c
-+++ b/libc/sysdeps/linux/common/xstatconv.c
-@@ -46,6 +46,25 @@ void attribute_hidden __xstat_conv(struct kernel_stat *kbuf, struct stat *buf)
- buf->st_ctim = kbuf->st_ctim;
- }
-
-+void __xstat32_conv(struct kernel_stat64 *kbuf, struct stat *buf)
-+{
-+ /* Convert to current kernel version of `struct stat64'. */
-+ memset(buf, 0x00, sizeof(*buf));
-+ buf->st_dev = kbuf->st_dev;
-+ buf->st_ino = kbuf->st_ino;
-+ buf->st_mode = kbuf->st_mode;
-+ buf->st_nlink = kbuf->st_nlink;
-+ buf->st_uid = kbuf->st_uid;
-+ buf->st_gid = kbuf->st_gid;
-+ buf->st_rdev = kbuf->st_rdev;
-+ buf->st_size = kbuf->st_size;
-+ buf->st_blksize = kbuf->st_blksize;
-+ buf->st_blocks = kbuf->st_blocks;
-+ buf->st_atim = kbuf->st_atim;
-+ buf->st_mtim = kbuf->st_mtim;
-+ buf->st_ctim = kbuf->st_ctim;
-+}
-+
- #ifdef __UCLIBC_HAS_LFS__
-
- void attribute_hidden __xstat64_conv(struct kernel_stat64 *kbuf, struct stat64 *buf)
-diff --git a/libc/sysdeps/linux/common/xstatconv.h b/libc/sysdeps/linux/common/xstatconv.h
-index 57c8bcb..7568da8 100644
---- a/libc/sysdeps/linux/common/xstatconv.h
-+++ b/libc/sysdeps/linux/common/xstatconv.h
-@@ -26,6 +26,7 @@
- #include <bits/kernel_stat.h>
-
- extern void __xstat_conv(struct kernel_stat *kbuf, struct stat *buf) attribute_hidden;
-+extern void __xstat32_conv(struct kernel_stat64 *kbuf, struct stat *buf) attribute_hidden;
- #if defined __UCLIBC_HAS_LFS__
- extern void __xstat64_conv(struct kernel_stat64 *kbuf, struct stat64 *buf) attribute_hidden;
- #endif
---
-1.6.6.1
-
diff --git a/main/uclibc/0007-Unbreak-build-for-sparc-on-some-config-s.patch b/main/uclibc/0007-Unbreak-build-for-sparc-on-some-config-s.patch
deleted file mode 100644
index 1d86d585c7..0000000000
--- a/main/uclibc/0007-Unbreak-build-for-sparc-on-some-config-s.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 7b964170536951a260f7d552db99b428d1ea5026 Mon Sep 17 00:00:00 2001
-From: Austin Foxley <austinf@cetoncorp.com>
-Date: Wed, 3 Feb 2010 12:12:10 -0800
-Subject: [PATCH 7/9] Unbreak build for sparc on some config's
-
-Thanks to rob@landley.net
-
-Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
----
- libc/sysdeps/linux/sparc/sigaction.c | 9 ++++-----
- 1 files changed, 4 insertions(+), 5 deletions(-)
-
-diff --git a/libc/sysdeps/linux/sparc/sigaction.c b/libc/sysdeps/linux/sparc/sigaction.c
-index a22ac40..7140fd3 100644
---- a/libc/sysdeps/linux/sparc/sigaction.c
-+++ b/libc/sysdeps/linux/sparc/sigaction.c
-@@ -34,7 +34,8 @@ _syscall5(int, rt_sigaction, int, a, int, b, int, c, int, d, int, e);
- static void __rt_sigreturn_stub(void);
- static void __sigreturn_stub(void);
-
--int __libc_sigaction(int sig, const struct sigaction *act, struct sigaction *oact)
-+libc_hidden_proto(sigaction)
-+int sigaction(int sig, const struct sigaction *act, struct sigaction *oact)
- {
- int ret;
- struct sigaction kact, koact;
-@@ -65,10 +66,8 @@ int __libc_sigaction(int sig, const struct sigaction *act, struct sigaction *oac
- return ret;
- }
-
--#ifndef LIBC_SIGACTION
--weak_alias(__libc_sigaction,sigaction)
--libc_hidden_weak(sigaction)
--#endif
-+libc_hidden_def(sigaction)
-+weak_alias(sigaction,__libc_sigaction)
-
- static void
- __rt_sigreturn_stub(void)
---
-1.6.6.1
-
diff --git a/main/uclibc/0008-malloc-fix-race-condition-and-other-bugs-in-the-no-m.patch b/main/uclibc/0008-malloc-fix-race-condition-and-other-bugs-in-the-no-m.patch
deleted file mode 100644
index 48e8427d28..0000000000
--- a/main/uclibc/0008-malloc-fix-race-condition-and-other-bugs-in-the-no-m.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From fa476d01f1c1990a92ee49d1f1c557b83805d0e9 Mon Sep 17 00:00:00 2001
-From: Freeman Wang <xwang@ubicom.com>
-Date: Sat, 19 Dec 2009 13:43:00 -0800
-Subject: [PATCH 8/9] malloc: fix race condition and other bugs in the no-mmu malloc
-
-Fixes multiple race conditions on mmb list. This was done by
-making the mmb_heap_lock into a recursive lock and making the
-regular heap_lock extend to cover the mmb heap handling.
-
-Also move the new_mmb allocation up to before the mmb list is
-iterated through to find the insertion point. When the mmb_heap
-also runs out and needs to be extended when the regular heap is
-just extended, the mmb list could be messed up.
-
-Signed-off-by: Freeman Wang <xwang@ubicom.com>
-Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
----
- libc/stdlib/malloc/free.c | 6 +++---
- libc/stdlib/malloc/malloc.c | 7 ++++---
- 2 files changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/libc/stdlib/malloc/free.c b/libc/stdlib/malloc/free.c
-index 90e18f4..741248a 100644
---- a/libc/stdlib/malloc/free.c
-+++ b/libc/stdlib/malloc/free.c
-@@ -179,14 +179,14 @@ __free_to_heap (void *mem, struct heap_free_area **heap
- /* Start searching again from the end of this block. */
- start = mmb_end;
-
-+ /* Release the descriptor block we used. */
-+ free_to_heap (mmb, &__malloc_mmb_heap, &__malloc_mmb_heap_lock);
-+
- /* We have to unlock the heap before we recurse to free the mmb
- descriptor, because we might be unmapping from the mmb
- heap. */
- __heap_unlock (heap_lock);
-
-- /* Release the descriptor block we used. */
-- free_to_heap (mmb, &__malloc_mmb_heap, &__malloc_mmb_heap_lock);
--
- /* Do the actual munmap. */
- munmap ((void *)mmb_start, mmb_end - mmb_start);
-
-diff --git a/libc/stdlib/malloc/malloc.c b/libc/stdlib/malloc/malloc.c
-index 71f9e58..84a6acd 100644
---- a/libc/stdlib/malloc/malloc.c
-+++ b/libc/stdlib/malloc/malloc.c
-@@ -48,7 +48,7 @@ struct malloc_mmb *__malloc_mmapped_blocks = 0;
- HEAP_DECLARE_STATIC_FREE_AREA (initial_mmb_fa, 48); /* enough for 3 mmbs */
- struct heap_free_area *__malloc_mmb_heap = HEAP_INIT_WITH_FA (initial_mmb_fa);
- #ifdef HEAP_USE_LOCKING
--pthread_mutex_t __malloc_mmb_heap_lock = PTHREAD_MUTEX_INITIALIZER;
-+pthread_mutex_t __malloc_mmb_heap_lock = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
- #endif
- #endif /* __UCLIBC_UCLINUX_BROKEN_MUNMAP__ */
-
-@@ -151,19 +151,19 @@ __malloc_from_heap (size_t size, struct heap_free_area **heap
- /* Try again to allocate. */
- mem = __heap_alloc (heap, &size);
-
-- __heap_unlock (heap_lock);
-
- #if !defined(MALLOC_USE_SBRK) && defined(__UCLIBC_UCLINUX_BROKEN_MUNMAP__)
- /* Insert a record of BLOCK in sorted order into the
- __malloc_mmapped_blocks list. */
-
-+ new_mmb = malloc_from_heap (sizeof *new_mmb, &__malloc_mmb_heap, &__malloc_mmb_heap_lock);
-+
- for (prev_mmb = 0, mmb = __malloc_mmapped_blocks;
- mmb;
- prev_mmb = mmb, mmb = mmb->next)
- if (block < mmb->mem)
- break;
-
-- new_mmb = malloc_from_heap (sizeof *new_mmb, &__malloc_mmb_heap, &__malloc_mmb_heap_lock);
- new_mmb->next = mmb;
- new_mmb->mem = block;
- new_mmb->size = block_size;
-@@ -177,6 +177,7 @@ __malloc_from_heap (size_t size, struct heap_free_area **heap
- (unsigned)new_mmb,
- (unsigned)new_mmb->mem, block_size);
- #endif /* !MALLOC_USE_SBRK && __UCLIBC_UCLINUX_BROKEN_MUNMAP__ */
-+ __heap_unlock (heap_lock);
- }
- }
-
---
-1.6.6.1
-
diff --git a/main/uclibc/0009-libm-enable-log2f-and-exp2f.patch b/main/uclibc/0009-libm-enable-log2f-and-exp2f.patch
deleted file mode 100644
index 88e13e328e..0000000000
--- a/main/uclibc/0009-libm-enable-log2f-and-exp2f.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 956a0087e282e53ba9c085dbbc469391f7234944 Mon Sep 17 00:00:00 2001
-From: Aurelien Jacobs <aurel@gnuage.org>
-Date: Thu, 4 Feb 2010 09:31:40 -0800
-Subject: [PATCH 9/9] libm: enable log2f and exp2f
-
-Signed-off-by: Aurelien Jacobs <aurel@gnuage.org>
-Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
----
- libm/float_wrappers.c | 4 ++--
- test/math/compile_test.c | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/libm/float_wrappers.c b/libm/float_wrappers.c
-index dc315e7..b7317a1 100644
---- a/libm/float_wrappers.c
-+++ b/libm/float_wrappers.c
-@@ -15,12 +15,10 @@
-
- /* For the time being, do _NOT_ implement these functions
- * that are defined by SuSv3 */
--#undef L_exp2f /*float exp2f(float);*/
- #undef L_fdimf /*float fdimf(float, float);*/
- #undef L_fmaf /*float fmaf(float, float, float);*/
- #undef L_fmaxf /*float fmaxf(float, float);*/
- #undef L_fminf /*float fminf(float, float);*/
--#undef L_log2f /*float log2f(float);*/
- #undef L_nearbyintf /*float nearbyintf(float);*/
- #undef L_nexttowardf /*float nexttowardf(float, long double);*/
- #undef L_remquof /*float remquof(float, float, int *);*/
-@@ -43,6 +41,7 @@ float cosf(float);
- float coshf(float);
- float erfcf(float);
- float erff(float);
-+float exp2f(float);
- float expf(float);
- float expm1f(float);
- float fabsf(float);
-@@ -56,6 +55,7 @@ float lgammaf(float);
- long long llroundf(float);
- float log10f(float);
- float log1pf(float);
-+float log2f(float);
- float logbf(float);
- float logf(float);
- long lroundf(float);
-diff --git a/test/math/compile_test.c b/test/math/compile_test.c
-index 9990520..ee5e2e3 100644
---- a/test/math/compile_test.c
-+++ b/test/math/compile_test.c
-@@ -18,7 +18,7 @@ r += cosf(float_x);
- r += coshf(float_x);
- r += erfcf(float_x);
- r += erff(float_x);
--/*r += exp2f(float_x); - uclibc does not have it (yet?) */
-+r += exp2f(float_x);
- r += expf(float_x);
- r += expm1f(float_x);
- r += fabsf(float_x);
-@@ -38,7 +38,7 @@ r += llrintf(float_x);
- r += llroundf(float_x);
- r += log10f(float_x);
- r += log1pf(float_x);
--/*r += log2f(float_x); - uclibc does not have it (yet?) */
-+r += log2f(float_x);
- r += logbf(float_x);
- r += logf(float_x);
- r += lrintf(float_x);
---
-1.6.6.1
-
diff --git a/main/uclibc/APKBUILD b/main/uclibc/APKBUILD
deleted file mode 100644
index 72b5648b3b..0000000000
--- a/main/uclibc/APKBUILD
+++ /dev/null
@@ -1,88 +0,0 @@
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=uclibc
-pkgver=0.9.30.2
-pkgrel=2
-pkgdesc="C library for developing embedded Linux systems"
-url=http://uclibc.org
-license="LGPL-2"
-_mynamever=uClibc-$pkgver
-
-subpackages="$pkgname-dev"
-depends_dev="linux-headers=>2.6.32"
-
-source="http://uclibc.org/downloads/$_mynamever.tar.bz2
- $pkgname-0.9.30.1-resolv.patch
- uclibc-0.9.30.1-pthread_getattr_np.patch
- 0001-Add-dn_skipname-from-OpenBSD.patch
- 0001-ldd-segfault-fix.patch
-
- 0001-avr32-add-varargs-handling-of-prctl-syscall.patch
- 0002-Make-use-of-macros-from-sys-asm.h-in-crt1.S.patch
- 0003-rpc-fix-typo-in-version-mismatch-msg.patch
- 0004-fix-make-install_-host-utils.patch
- 0005-host-utils-depend-on-headers.patch
- 0006-fstatat-fix-up-behavior-on-32-64-bit-hosts.patch
- 0007-Unbreak-build-for-sparc-on-some-config-s.patch
- 0008-malloc-fix-race-condition-and-other-bugs-in-the-no-m.patch
- 0009-libm-enable-log2f-and-exp2f.patch
-
- uclibc-linuxthreads-init-stdio.patch
- pthread-new-aliasing-fix.diff
- uclibc-resolv-cname-fix.diff
- uclibc-i386-floating-stacks.diff
- uclibc-fork-hidden.diff
- uclibc-fork-hook.diff
- uclibcconfig.x86
- "
-
-_config="$srcdir"/uclibcconfig.${ARCH:-x86}
-
-
-prepare() {
- local i gcc_major
- cd "$srcdir/$_mynamever/"
- # patches goes here
- for i in ../*.patch ../*.diff; do
- msg "Applying $i..."
- patch -p1 < $i || return 1
- done
-}
-
-build() {
- cd "$srcdir/$_mynamever/"
- cp "$_config" .config
- make silentoldconfig
- # this is a hack to get uclibc-i386-floating-stacks.diff working
- touch libc/sysdeps/linux/i386/sysdep.h
- make || return 1
-}
-
-package() {
- cd "$srcdir/$_mynamever/"
- make install DESTDIR="$pkgdir" install_utils
- install -Dm755 extra/scripts/getent "$pkgdir"/usr/bin/getent
- # provided by linux-headers
- rm -f "$pkgdir"/usr/include/scsi/scsi.h
-}
-
-md5sums="e759ec855500082ac3e671dd6cacfdb0 uClibc-0.9.30.2.tar.bz2
-ea91460617601b6e084ead66bc3948f5 uclibc-0.9.30.1-resolv.patch
-cf80c0d44a41e02f389be427ee615d61 uclibc-0.9.30.1-pthread_getattr_np.patch
-c9e3df01e854db4b1118266acd9bcfbd 0001-Add-dn_skipname-from-OpenBSD.patch
-4079b20c763727863bc53408e4988434 0001-ldd-segfault-fix.patch
-fe69ee3a487605b40cd7e6edadedbc45 0001-avr32-add-varargs-handling-of-prctl-syscall.patch
-045d4e110e512493fbc2040fd6a6d5c4 0002-Make-use-of-macros-from-sys-asm.h-in-crt1.S.patch
-e23edaf402ae29650205b3337b2f9ec2 0003-rpc-fix-typo-in-version-mismatch-msg.patch
-afbeb89d1fd086cec5cfbc10cc011b7a 0004-fix-make-install_-host-utils.patch
-41796dd355bc56526991410647d854f4 0005-host-utils-depend-on-headers.patch
-c78e19855a8a83f07855fe82ceaf9d21 0006-fstatat-fix-up-behavior-on-32-64-bit-hosts.patch
-d20abc16e2ce8579f77e42271008ff07 0007-Unbreak-build-for-sparc-on-some-config-s.patch
-2438e999b21cfaf823139df05d06dd33 0008-malloc-fix-race-condition-and-other-bugs-in-the-no-m.patch
-0b2ed68cbd2e4bb2941155bdb1f0f9b0 0009-libm-enable-log2f-and-exp2f.patch
-152bd508303e110e660fa7935411b6df uclibc-linuxthreads-init-stdio.patch
-969187e1da84d0a0a5957b392a3d5a2b pthread-new-aliasing-fix.diff
-bbb8475963e791f596c34c81ef5583d7 uclibc-resolv-cname-fix.diff
-ccf15714e089306c09d74a1a5c3cc670 uclibc-i386-floating-stacks.diff
-220260c979eca4558827d0e7ec8aa8b6 uclibc-fork-hidden.diff
-55bb709f5efd937df323f0d39a202cfd uclibc-fork-hook.diff
-36b28777f4c49af39268920fbade41b1 uclibcconfig.x86"
diff --git a/main/uclibc/pthread-new-aliasing-fix.diff b/main/uclibc/pthread-new-aliasing-fix.diff
deleted file mode 100644
index 2b2b37723a..0000000000
--- a/main/uclibc/pthread-new-aliasing-fix.diff
+++ /dev/null
@@ -1,147 +0,0 @@
-diff --git a/libpthread/linuxthreads/cancel.c b/libpthread/linuxthreads/cancel.c
-index 3435680..1412b57 100644
---- a/libpthread/linuxthreads/cancel.c
-+++ b/libpthread/linuxthreads/cancel.c
-@@ -152,8 +152,8 @@ void pthread_testcancel(void)
- __pthread_do_exit(PTHREAD_CANCELED, CURRENT_STACK_FRAME);
- }
-
--void _pthread_cleanup_push(struct _pthread_cleanup_buffer * buffer,
-- void (*routine)(void *), void * arg)
-+void __pthread_cleanup_push(struct _pthread_cleanup_buffer * buffer,
-+ void (*routine)(void *), void * arg)
- {
- pthread_descr self = thread_self();
- buffer->__routine = routine;
-@@ -163,17 +163,19 @@ void _pthread_cleanup_push(struct _pthread_cleanup_buffer * buffer,
- buffer->__prev = NULL;
- THREAD_SETMEM(self, p_cleanup, buffer);
- }
-+strong_alias(__pthread_cleanup_push, _pthread_cleanup_push);
-
--void _pthread_cleanup_pop(struct _pthread_cleanup_buffer * buffer,
-- int execute)
-+void __pthread_cleanup_pop(struct _pthread_cleanup_buffer * buffer,
-+ int execute)
- {
- pthread_descr self = thread_self();
- if (execute) buffer->__routine(buffer->__arg);
- THREAD_SETMEM(self, p_cleanup, buffer->__prev);
- }
-+strong_alias(__pthread_cleanup_pop, _pthread_cleanup_pop);
-
--void _pthread_cleanup_push_defer(struct _pthread_cleanup_buffer * buffer,
-- void (*routine)(void *), void * arg)
-+void __pthread_cleanup_push_defer(struct _pthread_cleanup_buffer * buffer,
-+ void (*routine)(void *), void * arg)
- {
- pthread_descr self = thread_self();
- buffer->__routine = routine;
-@@ -185,9 +187,10 @@ void _pthread_cleanup_push_defer(struct _pthread_cleanup_buffer * buffer,
- THREAD_SETMEM(self, p_canceltype, PTHREAD_CANCEL_DEFERRED);
- THREAD_SETMEM(self, p_cleanup, buffer);
- }
-+strong_alias(__pthread_cleanup_push_defer, _pthread_cleanup_push_defer);
-
--void _pthread_cleanup_pop_restore(struct _pthread_cleanup_buffer * buffer,
-- int execute)
-+void __pthread_cleanup_pop_restore(struct _pthread_cleanup_buffer * buffer,
-+ int execute)
- {
- pthread_descr self = thread_self();
- if (execute) buffer->__routine(buffer->__arg);
-@@ -198,6 +201,7 @@ void _pthread_cleanup_pop_restore(struct _pthread_cleanup_buffer * buffer,
- THREAD_GETMEM(self, p_canceltype) == PTHREAD_CANCEL_ASYNCHRONOUS)
- __pthread_do_exit(PTHREAD_CANCELED, CURRENT_STACK_FRAME);
- }
-+strong_alias(__pthread_cleanup_pop_restore, _pthread_cleanup_pop_restore);
-
- extern void __rpc_thread_destroy(void);
- void __pthread_perform_cleanup(char *currentframe)
-diff --git a/libpthread/linuxthreads/forward.c b/libpthread/linuxthreads/forward.c
-index f9f8ea1..385e79f 100644
---- a/libpthread/linuxthreads/forward.c
-+++ b/libpthread/linuxthreads/forward.c
-@@ -24,6 +24,10 @@
- /* psm: keep this before internals.h */
- /* libc_hidden_proto(exit) */
-
-+#define hidden_strong_alias(name, aliasname) \
-+ extern __typeof (name) aliasname __attribute__ ((alias (#name), \
-+ visibility ("hidden")));
-+
- #include "internals.h"
-
- /* Pointers to the libc functions. */
-@@ -104,8 +108,7 @@ FORWARD (pthread_equal, (pthread_t thread1, pthread_t thread2),
-
- /* Use an alias to avoid warning, as pthread_exit is declared noreturn. */
- FORWARD2 (__pthread_exit, void, (void *retval), (retval), exit (EXIT_SUCCESS))
--strong_alias (__pthread_exit, pthread_exit)
--
-+hidden_strong_alias (__pthread_exit, pthread_exit)
-
- FORWARD (pthread_getschedparam,
- (pthread_t target_thread, int *policy, struct sched_param *param),
-@@ -120,16 +123,16 @@ FORWARD (pthread_mutex_destroy, (pthread_mutex_t *mutex), (mutex), 0)
- FORWARD (pthread_mutex_init,
- (pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr),
- (mutex, mutexattr), 0)
--strong_alias(pthread_mutex_init, __pthread_mutex_init)
-+hidden_strong_alias(pthread_mutex_init, __pthread_mutex_init)
-
- FORWARD (pthread_mutex_lock, (pthread_mutex_t *mutex), (mutex), 0)
--strong_alias(pthread_mutex_lock, __pthread_mutex_lock)
-+hidden_strong_alias(pthread_mutex_lock, __pthread_mutex_lock)
-
- FORWARD (pthread_mutex_trylock, (pthread_mutex_t *mutex), (mutex), 0)
--strong_alias(pthread_mutex_trylock, __pthread_mutex_trylock)
-+hidden_strong_alias(pthread_mutex_trylock, __pthread_mutex_trylock)
-
- FORWARD (pthread_mutex_unlock, (pthread_mutex_t *mutex), (mutex), 0)
--strong_alias(pthread_mutex_unlock, __pthread_mutex_unlock)
-+hidden_strong_alias(pthread_mutex_unlock, __pthread_mutex_unlock)
-
- FORWARD2 (pthread_self, pthread_t, (void), (), return 0)
-
-diff --git a/libpthread/linuxthreads/internals.h b/libpthread/linuxthreads/internals.h
-index eb0a519..4ad6a0d 100644
---- a/libpthread/linuxthreads/internals.h
-+++ b/libpthread/linuxthreads/internals.h
-@@ -380,6 +380,17 @@ extern int __pthread_setschedparam (pthread_t thread, int policy,
- extern int __pthread_setcancelstate (int state, int * oldstate);
- extern int __pthread_setcanceltype (int type, int * oldtype);
-
-+extern void __pthread_cleanup_push (struct _pthread_cleanup_buffer *__buffer,
-+ void (*__routine) (void *),
-+ void *__arg) __THROW;
-+extern void __pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer,
-+ int __execute) __THROW;
-+extern void __pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *__buffer,
-+ void (*__routine) (void *),
-+ void *__arg) __THROW;
-+extern void __pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *__buffer,
-+ int __execute) __THROW;
-+
- extern void __pthread_restart_old(pthread_descr th);
- extern void __pthread_suspend_old(pthread_descr self);
- extern int __pthread_timedsuspend_old(pthread_descr self, const struct timespec *abstime);
-diff --git a/libpthread/linuxthreads/pthread.c b/libpthread/linuxthreads/pthread.c
-index 4d1d906..012b74b 100644
---- a/libpthread/linuxthreads/pthread.c
-+++ b/libpthread/linuxthreads/pthread.c
-@@ -280,10 +280,10 @@ struct pthread_functions __pthread_functions =
- .ptr_pthread_sigaction = __pthread_sigaction,
- .ptr_pthread_sigwait = __pthread_sigwait,
- .ptr_pthread_raise = __pthread_raise,
-- .ptr__pthread_cleanup_push = _pthread_cleanup_push,
-- .ptr__pthread_cleanup_push_defer = _pthread_cleanup_push_defer,
-- .ptr__pthread_cleanup_pop = _pthread_cleanup_pop,
-- .ptr__pthread_cleanup_pop_restore = _pthread_cleanup_pop_restore,
-+ .ptr__pthread_cleanup_push = __pthread_cleanup_push,
-+ .ptr__pthread_cleanup_push_defer = __pthread_cleanup_push_defer,
-+ .ptr__pthread_cleanup_pop = __pthread_cleanup_pop,
-+ .ptr__pthread_cleanup_pop_restore = __pthread_cleanup_pop_restore,
- };
- #ifdef SHARED
- # define ptr_pthread_functions &__pthread_functions
diff --git a/main/uclibc/uclibc-0.9.30.1-pthread_getattr_np.patch b/main/uclibc/uclibc-0.9.30.1-pthread_getattr_np.patch
deleted file mode 100644
index 28469be236..0000000000
--- a/main/uclibc/uclibc-0.9.30.1-pthread_getattr_np.patch
+++ /dev/null
@@ -1,137 +0,0 @@
---- uClibc-0.9.30.1.orig/libpthread/linuxthreads.old/sysdeps/pthread/pthread.h 2009-03-30 15:01:48.000000000 +0000
-+++ uClibc-0.9.30.1/libpthread/linuxthreads.old/sysdeps/pthread/pthread.h 2009-03-30 15:48:16.000000000 +0000
-@@ -288,16 +288,12 @@
- __attr, size_t *__restrict __stacksize)
- __THROW;
-
--#if 0
--/* Not yet implemented in uClibc! */
--
- #ifdef __USE_GNU
- /* Initialize thread attribute *ATTR with attributes corresponding to the
- already running thread TH. It shall be called on uninitialized ATTR
- and destroyed with pthread_attr_destroy when no longer needed. */
- extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) __THROW;
- #endif
--#endif
-
- /* Functions for scheduling control. */
-
-@@ -599,6 +595,11 @@
- cancelled. */
- extern void pthread_testcancel (void);
-
-+/* Return the previously set address for the stack. */
-+extern int pthread_attr_getstack (__const pthread_attr_t *__restrict __attr,
-+ void **__restrict __stackaddr,
-+ size_t *__restrict __stacksize) __THROW;
-+
-
- /* Install a cleanup handler: ROUTINE will be called with arguments ARG
- when the thread is cancelled or calls pthread_exit. ROUTINE will also
---- a/libpthread/linuxthreads.old/attr.c.orig 2007-11-22 16:55:08.000000000 +0000
-+++ b/libpthread/linuxthreads.old/attr.c 2009-03-30 19:15:51.000000000 +0000
-@@ -38,6 +38,14 @@
- libpthread_hidden_proto(pthread_attr_getscope)
- libpthread_hidden_proto(pthread_attr_setscope)
-
-+#include <sys/resource.h>
-+#include <inttypes.h>
-+#include <stdio.h>
-+#include <stdio_ext.h>
-+#include <stdlib.h>
-+#include <sys/resource.h>
-+
-+
- /* NOTE: With uClibc I don't think we need this versioning stuff.
- * Therefore, define the function pthread_attr_init() here using
- * a strong symbol. */
-@@ -235,4 +243,88 @@
- *stacksize = attr->__stacksize;
- return 0;
- }
-+
-+
-+extern int *__libc_stack_end;
-+
- weak_alias (__pthread_attr_getstacksize, pthread_attr_getstacksize)
-+int pthread_getattr_np(pthread_t thread, pthread_attr_t *attr)
-+{
-+ static void *stackBase = 0;
-+ static size_t stackSize = 0;
-+ int ret = 0;
-+ /* Stack size limit. */
-+ struct rlimit rl;
-+
-+ /* The safest way to get the top of the stack is to read
-+ /proc/self/maps and locate the line into which
-+ __libc_stack_end falls. */
-+ FILE *fp = fopen("/proc/self/maps", "rc");
-+ if (fp == NULL)
-+ ret = errno;
-+ /* We need the limit of the stack in any case. */
-+ else if (getrlimit (RLIMIT_STACK, &rl) != 0)
-+ ret = errno;
-+ else {
-+ /* We need no locking. */
-+ __fsetlocking (fp, FSETLOCKING_BYCALLER);
-+
-+ /* Until we found an entry (which should always be the case)
-+ mark the result as a failure. */
-+ ret = ENOENT;
-+
-+ char *line = NULL;
-+ size_t linelen = 0;
-+ uintptr_t last_to = 0;
-+
-+ while (! feof_unlocked (fp)) {
-+ if (getdelim (&line, &linelen, '\n', fp) <= 0)
-+ break;
-+
-+ uintptr_t from;
-+ uintptr_t to;
-+ if (sscanf (line, "%x-%x", &from, &to) != 2)
-+ continue;
-+ if (from <= (uintptr_t) __libc_stack_end
-+ && (uintptr_t) __libc_stack_end < to) {
-+ /* Found the entry. Now we have the info we need. */
-+ attr->__stacksize = rl.rlim_cur;
-+#ifdef _STACK_GROWS_UP
-+ /* Don't check to enforce a limit on the __stacksize */
-+ attr->__stackaddr = (void *) from;
-+#else
-+ attr->__stackaddr = (void *) to;
-+
-+ /* The limit might be too high. */
-+ if ((size_t) attr->__stacksize > (size_t) attr->__stackaddr - last_to)
-+ attr->__stacksize = (size_t) attr->__stackaddr - last_to;
-+#endif
-+
-+ /* We succeed and no need to look further. */
-+ ret = 0;
-+ break;
-+ }
-+ last_to = to;
-+ }
-+
-+ fclose (fp);
-+ free (line);
-+ }
-+ return ret;
-+}
-+
-+int __pthread_attr_getstack (const pthread_attr_t *attr, void **stackaddr,
-+ size_t *stacksize)
-+{
-+ /* XXX This function has a stupid definition. The standard specifies
-+ no error value but what is if no stack address was set? We simply
-+ return the value we have in the member. */
-+#ifndef _STACK_GROWS_UP
-+ *stackaddr = (char *) attr->__stackaddr - attr->__stacksize;
-+#else
-+ *stackaddr = attr->__stackaddr;
-+#endif
-+ *stacksize = attr->__stacksize;
-+ return 0;
-+}
-+weak_alias (__pthread_attr_getstack, pthread_attr_getstack)
diff --git a/main/uclibc/uclibc-0.9.30.1-resolv.patch b/main/uclibc/uclibc-0.9.30.1-resolv.patch
deleted file mode 100644
index 55b7d991e1..0000000000
--- a/main/uclibc/uclibc-0.9.30.1-resolv.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ru uClibc-0.9.30.1.orig/libc/inet/resolv.c uClibc-0.9.30.1/libc/inet/resolv.c
---- uClibc-0.9.30.1.orig/libc/inet/resolv.c 2009-03-10 15:32:14.000000000 +0000
-+++ uClibc-0.9.30.1/libc/inet/resolv.c 2009-03-10 15:39:20.000000000 +0000
-@@ -1331,7 +1331,8 @@
- i = __dns_lookup(dname, type, __nameserversXX, __nameserverXX, &packet, &a);
-
- if (i < 0) {
-- h_errno = TRY_AGAIN;
-+ if (!h_errno) /* TODO: can this ever happen? */
-+ h_errno = TRY_AGAIN;
- return -1;
- }
-
diff --git a/main/uclibc/uclibc-fork-hidden.diff b/main/uclibc/uclibc-fork-hidden.diff
deleted file mode 100644
index 2a0543380e..0000000000
--- a/main/uclibc/uclibc-fork-hidden.diff
+++ /dev/null
@@ -1,115 +0,0 @@
-Index: uClibc-0.9.30.1/libc/misc/wordexp/wordexp.c
-===================================================================
---- uClibc-0.9.30.1.orig/libc/misc/wordexp/wordexp.c 2009-08-03 16:13:20.000000000 +0300
-+++ uClibc-0.9.30.1/libc/misc/wordexp/wordexp.c 2009-08-03 16:14:23.000000000 +0300
-@@ -56,7 +56,7 @@
- libc_hidden_proto(atoi)
- libc_hidden_proto(fnmatch)
- libc_hidden_proto(pipe)
--libc_hidden_proto(fork)
-+//libc_hidden_proto(fork)
- libc_hidden_proto(open)
- libc_hidden_proto(close)
- libc_hidden_proto(read)
-Index: uClibc-0.9.30.1/libc/stdio/popen.c
-===================================================================
---- uClibc-0.9.30.1.orig/libc/stdio/popen.c 2009-08-03 16:13:20.000000000 +0300
-+++ uClibc-0.9.30.1/libc/stdio/popen.c 2009-08-03 16:14:23.000000000 +0300
-@@ -42,7 +42,7 @@
- # define vfork fork
- # define VFORK_LOCK ((void) 0)
- # define VFORK_UNLOCK ((void) 0)
--libc_hidden_proto(fork)
-+//libc_hidden_proto(fork)
- #endif
-
- #ifndef VFORK_LOCK
-Index: uClibc-0.9.30.1/libc/stdlib/system.c
-===================================================================
---- uClibc-0.9.30.1.orig/libc/stdlib/system.c 2009-08-03 16:13:20.000000000 +0300
-+++ uClibc-0.9.30.1/libc/stdlib/system.c 2009-08-03 16:14:23.000000000 +0300
-@@ -21,7 +21,7 @@
- #include <sys/syscall.h>
- #ifndef __NR_vfork
- # define vfork fork
--libc_hidden_proto(fork)
-+//libc_hidden_proto(fork)
- #endif
-
- extern __typeof(system) __libc_system;
-Index: uClibc-0.9.30.1/libc/stdlib/unix_grantpt.c
-===================================================================
---- uClibc-0.9.30.1.orig/libc/stdlib/unix_grantpt.c 2009-08-03 16:13:21.000000000 +0300
-+++ uClibc-0.9.30.1/libc/stdlib/unix_grantpt.c 2009-08-03 16:14:23.000000000 +0300
-@@ -39,7 +39,7 @@
- libc_hidden_proto(chmod)
- libc_hidden_proto(chown)
- libc_hidden_proto(vfork)
--libc_hidden_proto(fork)
-+//libc_hidden_proto(fork)
- libc_hidden_proto(stat)
- libc_hidden_proto(ptsname_r)
- libc_hidden_proto(execle)
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/common/fork.c
-===================================================================
---- uClibc-0.9.30.1.orig/libc/sysdeps/linux/common/fork.c 2009-08-03 16:10:51.000000000 +0300
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/common/fork.c 2009-08-03 16:14:23.000000000 +0300
-@@ -16,9 +16,9 @@
- extern __typeof(fork) __libc_fork;
- #define __NR___libc_fork __NR_fork
- _syscall0(pid_t, __libc_fork)
--libc_hidden_proto(fork)
-+////libc_hidden_proto(fork)
- weak_alias(__libc_fork,fork)
--libc_hidden_weak(fork)
-+//libc_hidden_weak(fork)
- #endif
-
- #elif defined __UCLIBC_HAS_STUBS__
-@@ -28,7 +28,7 @@
- __set_errno(ENOSYS);
- return -1;
- }
--libc_hidden_proto(fork)
-+////libc_hidden_proto(fork)
- weak_alias(__libc_fork,fork)
- libc_hidden_weak(fork)
- link_warning(fork, "fork: this function is not implemented on no-mmu systems")
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/common/vfork.c
-===================================================================
---- uClibc-0.9.30.1.orig/libc/sysdeps/linux/common/vfork.c 2009-08-03 16:13:20.000000000 +0300
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/common/vfork.c 2009-08-03 16:14:23.000000000 +0300
-@@ -12,7 +12,7 @@
- #ifdef __ARCH_USE_MMU__
-
- #ifdef __NR_fork
--libc_hidden_proto(fork)
-+//libc_hidden_proto(fork)
-
- extern __typeof(vfork) __vfork attribute_hidden;
- pid_t __vfork(void)
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/cris/fork.c
-===================================================================
---- uClibc-0.9.30.1.orig/libc/sysdeps/linux/cris/fork.c 2009-08-03 16:13:20.000000000 +0300
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/cris/fork.c 2009-08-03 16:14:23.000000000 +0300
-@@ -14,6 +14,6 @@
- R0&-1==R0, and the child gets R0&0==0. */
- /* i dunno what the blurb above is useful for. we just return. */
- __asm__("ret\n\tnop");
--libc_hidden_proto(fork)
-+//libc_hidden_proto(fork)
- weak_alias(__libc_fork,fork)
- libc_hidden_weak(fork)
-Index: uClibc-0.9.30.1/libc/unistd/daemon.c
-===================================================================
---- uClibc-0.9.30.1.orig/libc/unistd/daemon.c 2009-08-03 16:13:21.000000000 +0300
-+++ uClibc-0.9.30.1/libc/unistd/daemon.c 2009-08-03 16:14:23.000000000 +0300
-@@ -54,7 +54,7 @@
- libc_hidden_proto(dup2)
- libc_hidden_proto(setsid)
- libc_hidden_proto(chdir)
--libc_hidden_proto(fork)
-+//libc_hidden_proto(fork)
-
- int daemon( int nochdir, int noclose )
- {
diff --git a/main/uclibc/uclibc-fork-hook.diff b/main/uclibc/uclibc-fork-hook.diff
deleted file mode 100644
index 0126918836..0000000000
--- a/main/uclibc/uclibc-fork-hook.diff
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.c b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.c
-index e15b99b..70c750d 100644
---- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.c
-+++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.c
-@@ -20,6 +20,7 @@
- #include <errno.h>
- #include <fork.h>
- #include <bits/libc-lock.h>
-+#include <internals.h>
-
- struct fork_block __fork_block =
- {
-@@ -28,3 +29,12 @@ struct fork_block __fork_block =
- .parent_list = { &__fork_block.parent_list, &__fork_block.parent_list },
- .child_list = { &__fork_block.child_list, &__fork_block.child_list }
- };
-+
-+pid_t
-+__libc_fork (void)
-+{
-+ return __libc_maybe_call2 (pthread_fork, (&__fork_block), ARCH_FORK ());
-+}
-+weak_alias (__libc_fork, __fork)
-+libc_hidden_def (__fork)
-+weak_alias (__libc_fork, fork)
-diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.h b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.h
-index 85477eb..1e7379e 100644
---- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.h
-+++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/fork.h
-@@ -54,5 +54,5 @@ extern int __register_atfork (void (*__prepare) (void),
- void *dso_handle);
-
- #ifndef ARCH_FORK
--# define ARCH_FORK() __libc_fork()
-+# define ARCH_FORK() INLINE_SYSCALL (fork, 0)
- #endif
diff --git a/main/uclibc/uclibc-i386-floating-stacks.diff b/main/uclibc/uclibc-i386-floating-stacks.diff
deleted file mode 100644
index 0ec05799aa..0000000000
--- a/main/uclibc/uclibc-i386-floating-stacks.diff
+++ /dev/null
@@ -1,23 +0,0 @@
---- uClibc-0.9.30.1/libpthread/linuxthreads/sysdeps/i386/pt-machine.h Thu Sep 25 13:55:14 2008
-+++ /root/uClibc-0.9.30.1-patched/libpthread/linuxthreads/sysdeps/i386/pt-machine.h Wed Jun 24 13:13:31 2009
-@@ -113,6 +113,8 @@
- }
- #endif /* __ASSEMBLER__ */
-
-+#include "./useldt.h"
-+
- #endif /* pt-machine.h */
-
- #endif
---- uClibc-0.9.30.1/libpthread/linuxthreads/sysdeps/i386/useldt.h Tue May 15 00:35:00 2007
-+++ /root/uClibc-0.9.30.1-patched/libpthread/linuxthreads/sysdeps/i386/useldt.h Wed Jun 24 13:22:38 2009
-@@ -23,7 +23,8 @@
- #include <stddef.h> /* For offsetof. */
- #include <stdlib.h> /* For abort(). */
- #include <sysdep.h>
--
-+#include <sys/syscall.h>
-+#include <bits/kernel-features.h>
-
- /* We don't want to include the kernel header. So duplicate the
- information. */
diff --git a/main/uclibc/uclibc-linuxthreads-init-stdio.patch b/main/uclibc/uclibc-linuxthreads-init-stdio.patch
deleted file mode 100644
index aa5ef64600..0000000000
--- a/main/uclibc/uclibc-linuxthreads-init-stdio.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/libpthread/linuxthreads/pthread.c b/libpthread/linuxthreads/pthread.c
-index 6ae9a10..151e039 100644
---- a/libpthread/linuxthreads/pthread.c
-+++ b/libpthread/linuxthreads/pthread.c
-@@ -409,6 +409,16 @@ cannot allocate TLS data structures for initial thread\n";
- #endif
-
- __libc_multiple_threads_ptr = __libc_pthread_init (ptr_pthread_functions);
-+ /* uClibc-specific stdio initialization for threads. */
-+ {
-+ FILE *fp;
-+ _stdio_user_locking = 0; /* 2 if threading not initialized */
-+ for (fp = _stdio_openlist; fp != NULL; fp = fp->__nextopen) {
-+ if (fp->__user_locking != 1) {
-+ fp->__user_locking = 0;
-+ }
-+ }
-+ }
- }
-
-
diff --git a/main/uclibc/uclibc-resolv-cname-fix.diff b/main/uclibc/uclibc-resolv-cname-fix.diff
deleted file mode 100644
index 041e150f35..0000000000
--- a/main/uclibc/uclibc-resolv-cname-fix.diff
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/libc/inet/resolv.c.orig 2009-06-18 09:38:26.000000000 +0300
-+++ b/libc/inet/resolv.c 2009-06-18 09:38:32.000000000 +0300
-@@ -1337,10 +1337,9 @@ int res_query(const char *dname, int cla
-
- free(a.dotted);
-
-- if (a.atype == type) { /* CNAME */
-- i = MIN(anslen, i);
-- memcpy(answer, packet, i);
-- }
-+ i = MIN(anslen, i);
-+ memcpy(answer, packet, i);
-+
- free(packet);
- return i;
- }
diff --git a/main/uclibc/uclibcconfig.x86 b/main/uclibc/uclibcconfig.x86
deleted file mode 100644
index 78835525f8..0000000000
--- a/main/uclibc/uclibcconfig.x86
+++ /dev/null
@@ -1,246 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Version: 0.9.30.1
-# Mon Jun 15 09:42:10 2009
-#
-# 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=y
-# 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 Architecture Features and Options
-#
-TARGET_ARCH="i386"
-FORCE_OPTIONS_FOR_ARCH=y
-# CONFIG_GENERIC_386 is not set
-# CONFIG_386 is not set
-CONFIG_486=y
-# CONFIG_586 is not set
-# CONFIG_586MMX is not set
-# CONFIG_686 is not set
-# CONFIG_PENTIUMII is not set
-# CONFIG_PENTIUMIII is not set
-# CONFIG_PENTIUM4 is not set
-# CONFIG_K6 is not set
-# CONFIG_K7 is not set
-# CONFIG_ELAN is not set
-# CONFIG_CRUSOE is not set
-# CONFIG_WINCHIPC6 is not set
-# CONFIG_WINCHIP2 is not set
-# CONFIG_CYRIXIII is not set
-# CONFIG_NEHEMIAH is not set
-TARGET_SUBARCH=""
-
-#
-# Using ELF file format
-#
-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
-UCLIBC_HAS_FENV=y
-UCLIBC_HAS_LONG_DOUBLE_MATH=y
-KERNEL_HEADERS="/usr/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=y
-LDSO_LDD_SUPPORT=y
-LDSO_CACHE_SUPPORT=y
-# LDSO_PRELOAD_FILE_SUPPORT is not set
-LDSO_BASE_FILENAME="ld.so"
-UCLIBC_STATIC_LDCONFIG=y
-LDSO_RUNPATH=y
-UCLIBC_CTOR_DTOR=y
-# LDSO_GNU_HASH_SUPPORT is not set
-# HAS_NO_THREADS is not set
-UCLIBC_HAS_THREADS=y
-# PTHREADS_DEBUG_SUPPORT is not set
-# LINUXTHREADS_OLD is not set
-LINUXTHREADS_NEW=y
-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=y
-UCLIBC_SUSV3_LEGACY=y
-UCLIBC_SUSV3_LEGACY_MACROS=y
-# 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 is not set
-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"
-
-#
-# 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=y
-UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL=y
-# 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=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=y
-UCLIBC_HAS_RPC=y
-UCLIBC_HAS_FULL_RPC=y
-UCLIBC_HAS_REENTRANT_RPC=y
-UCLIBC_USE_NETLINK=y
-UCLIBC_SUPPORT_AI_ADDRCONFIG=y
-UCLIBC_HAS_BSD_RES_CLOSE=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_SCANF_GLIBC_A_FLAG is not set
-# 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=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_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=y
-UCLIBC_HAS_FNMATCH=y
-# UCLIBC_HAS_FNMATCH_OLD is not set
-UCLIBC_HAS_WORDEXP=y
-UCLIBC_HAS_FTW=y
-UCLIBC_HAS_GLOB=y
-UCLIBC_HAS_GNU_GLOB=y
-
-#
-# Library Installation Options
-#
-SHARED_LIB_LOADER_PREFIX="/lib"
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="/usr"
-
-#
-# Security options
-#
-UCLIBC_BUILD_PIE=y
-UCLIBC_HAS_ARC4RANDOM=y
-# HAVE_NO_SSP is not set
-UCLIBC_HAS_SSP=y
-UCLIBC_HAS_SSP_COMPAT=y
-# SSP_QUICK_CANARY is not set
-# PROPOLICE_BLOCK_ABRT is not set
-PROPOLICE_BLOCK_SEGV=y
-UCLIBC_BUILD_SSP=y
-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
-# 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
-WARNINGS="-Wall"
-# EXTRA_WARNINGS is not set
-# DOMULTI is not set
-# UCLIBC_MJN3_ONLY is not set