toolchain: Add uClibc 0.9.30.3, remove older 0.9.30.x
authorPeter Korsgaard <jacmet@sunsite.dk>
Fri, 12 Mar 2010 22:14:59 +0000 (23:14 +0100)
committerPeter Korsgaard <jacmet@sunsite.dk>
Fri, 12 Mar 2010 22:14:59 +0000 (23:14 +0100)
As the 0.9.30.x stable releases only contain bugfixes, there isn't much
sense in using the older 0.9.30.x releases instead of .3, so use a single
0.9.30.x config similar to how we do it for the kernel headers.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
43 files changed:
CHANGES
toolchain/uClibc/Config.in
toolchain/uClibc/uClibc-0.9.30-64bit-strtouq.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30-arm-fix-linuxthreads-sysdep.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30-unifdef-getline.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30-x86-2.6.28+-headers-fix.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30-xtensa-000p-fix-procfs.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30-xtensa-005-sigcontext.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30-xtensa-009-testandset.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30-xtensa-010-sigaction.c.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30-xtensa-011-sysdep.h.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30-xtensa-012-fnmatch_old.c.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30-xtensa-013-atomic.h.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30-xtensa-014-setjump.S.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.1-64bit-strtouq.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.1-arm-fix-linuxthreads-sysdep.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.1-c99-ldbl-math.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.1-dl-sysdep-inline.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.1-fix-getaddrinfo.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.1-fix-varargs-in-prctl-syscall.patch.avr32 [deleted file]
toolchain/uClibc/uClibc-0.9.30.1-unifdef-getline.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.2-LT-pthread_atfork-unhide.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.2-Make-use-of-macros-from-sys-asm.h-in-crt1.S.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.2-Makefile.in-Make-install_dev-depend-on-install_runti.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.2-Unbreak-build-for-sparc-on-some-config-s.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.2-avr32-add-varargs-handling-of-prctl-syscall.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.2-clean-up-O_CLOEXEC-handling.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.2-fix-make-install-host-utils.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.2-fstatat-fix-up-behavior-on-32-64-bit-hosts.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.2-getdents-Fix-mips64-build.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.2-host-utils-depend-on-headers.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.2-libc-Fix-typo-in-include-rpc.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.2-libm-enable-log2f-and-exp2f.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.2-malloc-fix-race-condition-and-other-bugs-in-the-no-m.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.2-rpc-fix-typo-in-version-mismatch-msg.patch [deleted file]
toolchain/uClibc/uClibc-0.9.30.3-xtensa-000p-fix-procfs.patch [new file with mode: 0644]
toolchain/uClibc/uClibc-0.9.30.3-xtensa-005-sigcontext.patch [new file with mode: 0644]
toolchain/uClibc/uClibc-0.9.30.3-xtensa-009-testandset.patch [new file with mode: 0644]
toolchain/uClibc/uClibc-0.9.30.3-xtensa-010-sigaction.c.patch [new file with mode: 0644]
toolchain/uClibc/uClibc-0.9.30.3-xtensa-011-sysdep.h.patch [new file with mode: 0644]
toolchain/uClibc/uClibc-0.9.30.3-xtensa-012-fnmatch_old.c.patch [new file with mode: 0644]
toolchain/uClibc/uClibc-0.9.30.3-xtensa-013-atomic.h.patch [new file with mode: 0644]
toolchain/uClibc/uClibc-0.9.30.3-xtensa-014-setjump.S.patch [new file with mode: 0644]

diff --git a/CHANGES b/CHANGES
index 1a95412a8a10ff32751cf7d57fe0b896596f96ee..8a2c8a0db2081a7cfb481dc347a5e082e1a52a43 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,9 +1,11 @@
 2010.05, Not yet released
 
-        X.org updated to 7.5.
+       Toolchain: uClibc 0.9.30.3, older 0.9.30.x removed.
 
-        Updated/fixed packages: busybox, dosfstools, e2fsprogs,
-        mtd-utils, squashfs
+       X.org updated to 7.5.
+
+       Updated/fixed packages: busybox, dosfstools, e2fsprogs,
+       mtd-utils, squashfs
 
 2010.02, Release February 26th, 2010:
 
index 0d41de15968a29ebe8b66a594ec087ec13c13c42..351ccc3236a0b8f0f8e8bf0e42dedeed84a22254 100644 (file)
@@ -20,15 +20,7 @@ choice
                bool "uClibc 0.9.29"
 
        config BR2_UCLIBC_VERSION_0_9_30
-               depends on BR2_DEPRECATED
-               bool "uClibc 0.9.30"
-
-       config BR2_UCLIBC_VERSION_0_9_30_1
-               depends on BR2_RECENT || BR2_DEPRECATED
-               bool "uClibc 0.9.30.1"
-
-       config BR2_UCLIBC_VERSION_0_9_30_2
-               bool "uClibc 0.9.30.2"
+               bool "uClibc 0.9.30.x"
 
        config BR2_UCLIBC_VERSION_SNAPSHOT
                bool "daily snapshot"
@@ -46,9 +38,7 @@ config BR2_UCLIBC_VERSION_STRING
        string
        default 0.9.28.3        if BR2_UCLIBC_VERSION_0_9_28_3
        default 0.9.29          if BR2_UCLIBC_VERSION_0_9_29
-       default 0.9.30          if BR2_UCLIBC_VERSION_0_9_30
-       default 0.9.30.1        if BR2_UCLIBC_VERSION_0_9_30_1
-       default 0.9.30.2        if BR2_UCLIBC_VERSION_0_9_30_2
+       default 0.9.30.3        if BR2_UCLIBC_VERSION_0_9_30
        default $BR2_USE_UCLIBC_SNAPSHOT        if BR2_UCLIBC_VERSION_SNAPSHOT
 
 config BR2_UCLIBC_CONFIG
@@ -56,8 +46,6 @@ config BR2_UCLIBC_CONFIG
        default "toolchain/uClibc/uClibc-0.9.28.config" if BR2_UCLIBC_VERSION_0_9_28_3
        default "toolchain/uClibc/uClibc-0.9.29.config" if BR2_UCLIBC_VERSION_0_9_29
        default "toolchain/uClibc/uClibc-0.9.30.config" if BR2_UCLIBC_VERSION_0_9_30
-       default "toolchain/uClibc/uClibc-0.9.30.config" if BR2_UCLIBC_VERSION_0_9_30_1
-       default "toolchain/uClibc/uClibc-0.9.30.config" if BR2_UCLIBC_VERSION_0_9_30_2
        default "toolchain/uClibc/uClibc-snapshot.config" if BR2_UCLIBC_VERSION_SNAPSHOT
        help
          Some people may wish to use their own modified uClibc configuration
diff --git a/toolchain/uClibc/uClibc-0.9.30-64bit-strtouq.patch b/toolchain/uClibc/uClibc-0.9.30-64bit-strtouq.patch
deleted file mode 100644 (file)
index bd4ecaa..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-[PATCH]: Add strtouq alias (to strtoul) for 64bit
-
-The strtouq alias was only available on 32bit, breaking compilation of stuff
-using strtouq on 64bit machines. At the same time use the correct return
-type (u_quad_t).
-
-Signed-of-by: Peter Korsgaard <jacmet@sunsite.dk>
----
- include/stdlib.h     |    4 +++-
- libc/stdlib/stdlib.c |    1 +
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-Index: uClibc-0.9.30.1/libc/stdlib/stdlib.c
-===================================================================
---- uClibc-0.9.30.1.orig/libc/stdlib/stdlib.c
-+++ uClibc-0.9.30.1/libc/stdlib/stdlib.c
-@@ -401,6 +401,9 @@
- libc_hidden_proto(__XL_NPP(strtoull))
- strong_alias(__XL_NPP(strtoul),__XL_NPP(strtoull))
- libc_hidden_def(__XL_NPP(strtoull))
-+#if !defined(L_strtoul_l)
-+strong_alias(strtoul,strtouq)
-+#endif
- #endif
-Index: uClibc-0.9.30.1/include/stdlib.h
-===================================================================
---- uClibc-0.9.30.1.orig/include/stdlib.h
-+++ uClibc-0.9.30.1/include/stdlib.h
-@@ -203,6 +203,8 @@
- __END_NAMESPACE_STD
- #ifdef __USE_BSD
-+#include <sys/types.h> /* for u_quad_t */
-+
- /* Convert a string to a quadword integer.  */
- __extension__
- extern long long int strtoq (__const char *__restrict __nptr,
-@@ -210,7 +212,7 @@
-      __THROW __nonnull ((1)) __wur;
- /* Convert a string to an unsigned quadword integer.  */
- __extension__
--extern unsigned long long int strtouq (__const char *__restrict __nptr,
-+extern u_quad_t strtouq (__const char *__restrict __nptr,
-                                      char **__restrict __endptr, int __base)
-      __THROW __nonnull ((1)) __wur;
- #endif /* GCC and use BSD.  */
diff --git a/toolchain/uClibc/uClibc-0.9.30-arm-fix-linuxthreads-sysdep.patch b/toolchain/uClibc/uClibc-0.9.30-arm-fix-linuxthreads-sysdep.patch
deleted file mode 100644 (file)
index 65e2360..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-From 1b6e90090da7194a8f94277aa132873044f7e8e7 Mon Sep 17 00:00:00 2001
-From: carmelo <carmelo@69ca8d6d-28ef-0310-b511-8ec308f3f277>
-Date: Wed, 28 Jan 2009 15:23:51 +0000
-Subject: [PATCH] Added sysdep.h and sysdep-cancel.h for linuxthreads ARM
-
-Signed-off-by: Will Wagner <will_wagner@carallon.com>
-
-
-
-git-svn-id: svn+ssh://uclibc.org/svn/trunk/uClibc@25099 69ca8d6d-28ef-0310-b511-8ec308f3f277
----
- .../linuxthreads/sysdeps/arm/sysdep-cancel.h       |    8 +
- libpthread/linuxthreads/sysdeps/arm/sysdep.h       |  137 ++++++++++++++++++++
- 2 files changed, 145 insertions(+), 0 deletions(-)
- create mode 100644 libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h
- create mode 100644 libpthread/linuxthreads/sysdeps/arm/sysdep.h
-
-diff --git a/libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h b/libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h
-new file mode 100644
-index 0000000..ba6a1e0
---- /dev/null
-+++ b/libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h
-@@ -0,0 +1,8 @@
-+#include <sysdep.h>
-+
-+/* No multi-thread handling enabled.  */
-+#define SINGLE_THREAD_P (1)
-+#define RTLD_SINGLE_THREAD_P (1)
-+#define LIBC_CANCEL_ASYNC()   0 /* Just a dummy value.  */
-+#define LIBC_CANCEL_RESET(val)        ((void)(val)) /* Nothing, but evaluate it.  */
-+#define LIBC_CANCEL_HANDLED() /* Nothing.  */
-diff --git a/libpthread/linuxthreads/sysdeps/arm/sysdep.h b/libpthread/linuxthreads/sysdeps/arm/sysdep.h
-new file mode 100644
-index 0000000..15d951c
---- /dev/null
-+++ b/libpthread/linuxthreads/sysdeps/arm/sysdep.h
-@@ -0,0 +1,137 @@
-+/* Generic asm macros used on many machines.
-+   Copyright (C) 1991,92,93,96,98,2002,2003 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+
-+   The GNU C Library is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library; if not, write to the Free
-+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+   02111-1307 USA.  */
-+
-+#ifndef C_LABEL
-+
-+/* Define a macro we can use to construct the asm name for a C symbol.  */
-+#ifdef        NO_UNDERSCORES
-+#ifdef        __STDC__
-+#define C_LABEL(name)         name##:
-+#else
-+#define C_LABEL(name)         name/**/:
-+#endif
-+#else
-+#ifdef        __STDC__
-+#define C_LABEL(name)         _##name##:
-+#else
-+#define C_LABEL(name)         _/**/name/**/:
-+#endif
-+#endif
-+
-+#endif
-+
-+#ifdef __ASSEMBLER__
-+/* Mark the end of function named SYM.  This is used on some platforms
-+   to generate correct debugging information.  */
-+#ifndef END
-+#define END(sym)
-+#endif
-+
-+#ifndef JUMPTARGET
-+#define JUMPTARGET(sym)               sym
-+#endif
-+
-+/* Makros to generate eh_frame unwind information.  */
-+# ifdef HAVE_ASM_CFI_DIRECTIVES
-+#  define cfi_startproc                       .cfi_startproc
-+#  define cfi_endproc                 .cfi_endproc
-+#  define cfi_def_cfa(reg, off)               .cfi_def_cfa reg, off
-+#  define cfi_def_cfa_register(reg)   .cfi_def_cfa_register reg
-+#  define cfi_def_cfa_offset(off)     .cfi_def_cfa_offset off
-+#  define cfi_adjust_cfa_offset(off)  .cfi_adjust_cfa_offset off
-+#  define cfi_offset(reg, off)                .cfi_offset reg, off
-+#  define cfi_rel_offset(reg, off)    .cfi_rel_offset reg, off
-+#  define cfi_register(r1, r2)                .cfi_register r1, r2
-+#  define cfi_return_column(reg)      .cfi_return_column reg
-+#  define cfi_restore(reg)            .cfi_restore reg
-+#  define cfi_same_value(reg)         .cfi_same_value reg
-+#  define cfi_undefined(reg)          .cfi_undefined reg
-+#  define cfi_remember_state          .cfi_remember_state
-+#  define cfi_restore_state           .cfi_restore_state
-+#  define cfi_window_save             .cfi_window_save
-+# else
-+#  define cfi_startproc
-+#  define cfi_endproc
-+#  define cfi_def_cfa(reg, off)
-+#  define cfi_def_cfa_register(reg)
-+#  define cfi_def_cfa_offset(off)
-+#  define cfi_adjust_cfa_offset(off)
-+#  define cfi_offset(reg, off)
-+#  define cfi_rel_offset(reg, off)
-+#  define cfi_register(r1, r2)
-+#  define cfi_return_column(reg)
-+#  define cfi_restore(reg)
-+#  define cfi_same_value(reg)
-+#  define cfi_undefined(reg)
-+#  define cfi_remember_state
-+#  define cfi_restore_state
-+#  define cfi_window_save
-+# endif
-+
-+#else /* ! ASSEMBLER */
-+# ifdef HAVE_ASM_CFI_DIRECTIVES
-+#  define CFI_STRINGIFY(Name) CFI_STRINGIFY2 (Name)
-+#  define CFI_STRINGIFY2(Name) #Name
-+#  define CFI_STARTPROC       ".cfi_startproc"
-+#  define CFI_ENDPROC ".cfi_endproc"
-+#  define CFI_DEF_CFA(reg, off)       \
-+   ".cfi_def_cfa " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
-+#  define CFI_DEF_CFA_REGISTER(reg) \
-+   ".cfi_def_cfa_register " CFI_STRINGIFY(reg)
-+#  define CFI_DEF_CFA_OFFSET(off) \
-+   ".cfi_def_cfa_offset " CFI_STRINGIFY(off)
-+#  define CFI_ADJUST_CFA_OFFSET(off) \
-+   ".cfi_adjust_cfa_offset " CFI_STRINGIFY(off)
-+#  define CFI_OFFSET(reg, off) \
-+   ".cfi_offset " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
-+#  define CFI_REL_OFFSET(reg, off) \
-+   ".cfi_rel_offset " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
-+#  define CFI_REGISTER(r1, r2) \
-+   ".cfi_register " CFI_STRINGIFY(r1) "," CFI_STRINGIFY(r2)
-+#  define CFI_RETURN_COLUMN(reg) \
-+   ".cfi_return_column " CFI_STRINGIFY(reg)
-+#  define CFI_RESTORE(reg) \
-+   ".cfi_restore " CFI_STRINGIFY(reg)
-+#  define CFI_UNDEFINED(reg) \
-+   ".cfi_undefined " CFI_STRINGIFY(reg)
-+#  define CFI_REMEMBER_STATE \
-+   ".cfi_remember_state"
-+#  define CFI_RESTORE_STATE \
-+   ".cfi_restore_state"
-+#  define CFI_WINDOW_SAVE \
-+   ".cfi_window_save"
-+# else
-+#  define CFI_STARTPROC
-+#  define CFI_ENDPROC
-+#  define CFI_DEF_CFA(reg, off)
-+#  define CFI_DEF_CFA_REGISTER(reg)
-+#  define CFI_DEF_CFA_OFFSET(off)
-+#  define CFI_ADJUST_CFA_OFFSET(off)
-+#  define CFI_OFFSET(reg, off)
-+#  define CFI_REL_OFFSET(reg, off)
-+#  define CFI_REGISTER(r1, r2)
-+#  define CFI_RETURN_COLUMN(reg)
-+#  define CFI_RESTORE(reg)
-+#  define CFI_UNDEFINED(reg)
-+#  define CFI_REMEMBER_STATE
-+#  define CFI_RESTORE_STATE
-+#  define CFI_WINDOW_SAVE
-+# endif
-+
-+#endif /* __ASSEMBLER__ */
--- 
-1.5.6.5
-
diff --git a/toolchain/uClibc/uClibc-0.9.30-unifdef-getline.patch b/toolchain/uClibc/uClibc-0.9.30-unifdef-getline.patch
deleted file mode 100644 (file)
index eb88884..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
---- uClibc-0.9.30.1.orig/extra/scripts/unifdef.c
-+++ uClibc-0.9.30.1/extra/scripts/unifdef.c
-@@ -206,7 +206,7 @@ static void             done(void);
- static void             error(const char *);
- static int              findsym(const char *);
- static void             flushline(bool);
--static Linetype         getline(void);
-+static Linetype         get_line(void);
- static Linetype         ifeval(const char **);
- static void             ignoreoff(void);
- static void             ignoreon(void);
-@@ -512,7 +512,7 @@ process(void)
-       for (;;) {
-               linenum++;
--              lineval = getline();
-+              lineval = get_line();
-               trans_table[ifstate[depth]][lineval]();
-               debug("process %s -> %s depth %d",
-                   linetype_name[lineval],
-@@ -526,7 +526,7 @@ process(void)
-  * help from skipcomment().
-  */
- static Linetype
--getline(void)
-+get_line(void)
- {
-       const char *cp;
-       int cursym;
diff --git a/toolchain/uClibc/uClibc-0.9.30-x86-2.6.28+-headers-fix.patch b/toolchain/uClibc/uClibc-0.9.30-x86-2.6.28+-headers-fix.patch
deleted file mode 100644 (file)
index f5155a8..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-From df180f43dd9fc651ac760e7fe4a4dcf9e6dd42f1 Mon Sep 17 00:00:00 2001
-From: kraj <kraj@69ca8d6d-28ef-0310-b511-8ec308f3f277>
-Date: Tue, 23 Dec 2008 09:04:50 +0000
-Subject: [PATCH] These defines needs to be considered after recent linux kernel combined i386 and x86_64 into x86
-
-git-svn-id: svn+ssh://uclibc.org/svn/trunk/uClibc@24515 69ca8d6d-28ef-0310-b511-8ec308f3f277
-git-svn-id: svn+ssh://uclibc.org/svn/trunk/uClibc@24799 69ca8d6d-28ef-0310-b511-8ec308f3f277
----
- libc/sysdeps/linux/i386/bits/kernel_types.h   |    8 ++++++--
- libc/sysdeps/linux/x86_64/bits/kernel_types.h |   11 ++++++++++-
- 1 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/libc/sysdeps/linux/i386/bits/kernel_types.h b/libc/sysdeps/linux/i386/bits/kernel_types.h
-index 6609dd3..8641a48 100644
---- a/libc/sysdeps/linux/i386/bits/kernel_types.h
-+++ b/libc/sysdeps/linux/i386/bits/kernel_types.h
-@@ -7,10 +7,14 @@
- /* a hack for compiling a 32 bit user space with 64 bit
-  * kernel on x86_64  */
--#if !defined(__ARCH_I386_POSIX_TYPES_H) && !defined(_ASM_X86_64_POSIX_TYPES_H)
-+#if !defined(__ARCH_I386_POSIX_TYPES_H) && \
-+    !defined(_ASM_X86_64_POSIX_TYPES_H) && \
-+    !defined(_ASM_X86_POSIX_TYPES_32_H) && \
-+    !defined(_ASM_X86_POSIX_TYPES_64_H)
- #define _ASM_X86_64_POSIX_TYPES_H
- #define __ARCH_I386_POSIX_TYPES_H
--
-+#define _ASM_X86_POSIX_TYPES_32_H
-+#define _ASM_X86_POSIX_TYPES_64_H
- typedef unsigned short        __kernel_dev_t;
- typedef unsigned long __kernel_ino_t;
- typedef unsigned short        __kernel_mode_t;
-diff --git a/libc/sysdeps/linux/x86_64/bits/kernel_types.h b/libc/sysdeps/linux/x86_64/bits/kernel_types.h
-index 73f6ffb..b2f7341 100644
---- a/libc/sysdeps/linux/x86_64/bits/kernel_types.h
-+++ b/libc/sysdeps/linux/x86_64/bits/kernel_types.h
-@@ -4,8 +4,17 @@
-  * our private content, and not the kernel header, will win.
-  *  -Erik
-  */
--#ifndef _ASM_X86_64_POSIX_TYPES_H
-+
-+/* a hack for compiling a 32 bit user space with 64 bit
-+ * kernel on x86_64  */
-+#if !defined(__ARCH_I386_POSIX_TYPES_H) && \
-+    !defined(_ASM_X86_64_POSIX_TYPES_H) && \
-+    !defined(_ASM_X86_POSIX_TYPES_32_H) && \
-+    !defined(_ASM_X86_POSIX_TYPES_64_H)
- #define _ASM_X86_64_POSIX_TYPES_H
-+#define __ARCH_I386_POSIX_TYPES_H
-+#define _ASM_X86_POSIX_TYPES_32_H
-+#define _ASM_X86_POSIX_TYPES_64_H
- typedef unsigned long __kernel_dev_t;
- typedef unsigned long __kernel_ino_t;
--- 
-1.5.6.5
-
diff --git a/toolchain/uClibc/uClibc-0.9.30-xtensa-000p-fix-procfs.patch b/toolchain/uClibc/uClibc-0.9.30-xtensa-000p-fix-procfs.patch
deleted file mode 100644 (file)
index 8e62d20..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
---- uClibc-0.9.29-orig/libc/sysdeps/linux/xtensa/sys/procfs.h  2007-11-16 23:21:00.000000000 -0800
-+++ uClibc-0.9.29/libc/sysdeps/linux/xtensa/sys/procfs.h       2007-11-16 23:26:59.000000000 -0800
-@@ -32,19 +32,11 @@
- #include <sys/time.h>
- #include <sys/types.h>
- #include <sys/user.h>
-+#include <asm/elf.h>
- __BEGIN_DECLS
--/* Type for a general-purpose register.  */
--typedef unsigned long elf_greg_t;
--
--#define ELF_NGREG 128
--typedef elf_greg_t elf_gregset_t[ELF_NGREG];
--
--/* Register set for the floating-point registers.  */
--#define ELF_NFPREG 18
--typedef unsigned long elf_fpreg_t;
--typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
-+/* Note: we get elf_gregset_t and elf_fpregset_t from <asm/elf.h>.  */
- /* Signal info.  */
- struct elf_siginfo
diff --git a/toolchain/uClibc/uClibc-0.9.30-xtensa-005-sigcontext.patch b/toolchain/uClibc/uClibc-0.9.30-xtensa-005-sigcontext.patch
deleted file mode 100644 (file)
index 7d7d684..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -u /dev/null uClibc-0.9.30/libc/sysdeps/linux/xtensa/bits/sigcontext.h
---- /dev/null
-+++ uClibc-0.9.30/libc/sysdeps/linux/xtensa/bits/sigcontext.h
-@@ -0,0 +1,41 @@
-+/* Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+
-+   The GNU C Library is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library; if not, write to the Free
-+   Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
-+   Boston, MA 02110-1301, USA.  */
-+
-+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
-+# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
-+#endif
-+
-+#ifndef _BITS_SIGCONTEXT_H
-+#define _BITS_SIGCONTEXT_H 1
-+
-+struct sigcontext
-+{
-+  unsigned long sc_pc;
-+  unsigned long sc_ps;
-+  unsigned long sc_lbeg;
-+  unsigned long sc_lend;
-+  unsigned long sc_lcount;
-+  unsigned long sc_sar;
-+  unsigned long sc_acclo;
-+  unsigned long sc_acchi;
-+  void *sc_xtregs;
-+  unsigned long sc_a[16];
-+};
-+
-+#endif /* _BITS_SIGCONTEXT_H */
-+
diff --git a/toolchain/uClibc/uClibc-0.9.30-xtensa-009-testandset.patch b/toolchain/uClibc/uClibc-0.9.30-xtensa-009-testandset.patch
deleted file mode 100644 (file)
index f0e4eb2..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
---- uClibc-0.9.29/libpthread/linuxthreads.old/sysdeps/xtensa/pt-machine.h.orig 2008-09-12 09:51:50.000000000 -0700
-+++ uClibc-0.9.29/libpthread/linuxthreads.old/sysdeps/xtensa/pt-machine.h      2008-10-04 12:14:57.000000000 -0700
-@@ -26,19 +26,51 @@
- #include <asm/unistd.h>
- #ifndef PT_EI
--# define PT_EI __extern_always_inline
-+# define PT_EI extern inline __attribute__ ((gnu_inline))
- #endif
--/* Memory barrier.  */
- #define MEMORY_BARRIER() __asm__ ("memw" : : : "memory")
-+#define HAS_COMPARE_AND_SWAP
-+
-+extern long int testandset (int *spinlock);
-+extern int __compare_and_swap (long int *p, long int oldval, long int newval);
- /* Spinlock implementation; required.  */
- PT_EI long int
- testandset (int *spinlock)
- {
--  int unused = 0;
--  return INTERNAL_SYSCALL (xtensa, , 4, SYS_XTENSA_ATOMIC_SET,
--                         spinlock, 1, unused);
-+      unsigned long tmp;
-+      __asm__ volatile (
-+"     movi    %0, 0                   \n"
-+"     wsr     %0, SCOMPARE1           \n"
-+"     movi    %0, 1                   \n"
-+"     s32c1i  %0, %1, 0               \n"
-+      : "=&a" (tmp)
-+      : "a" (spinlock)
-+      : "memory"
-+      );
-+      return tmp;
-+}
-+
-+PT_EI int
-+__compare_and_swap (long int *p, long int oldval, long int newval)
-+{
-+        unsigned long tmp;
-+        unsigned long value;
-+        __asm__ volatile (
-+"1:     l32i    %0, %2, 0            \n"
-+"       bne     %0, %4, 2f           \n"
-+"       wsr     %0, SCOMPARE1        \n"
-+"       mov     %1, %0               \n"
-+"       mov     %0, %3               \n"
-+"       s32c1i  %0, %2, 0            \n"
-+"       bne     %1, %0, 1b           \n"
-+"2:                                  \n"
-+          : "=&a" (tmp), "=&a" (value)
-+          : "a" (p), "a" (newval), "a" (oldval)
-+          : "memory" );
-+
-+        return tmp == oldval;
- }
- /* Get some notion of the current stack.  Need not be exactly the top
diff --git a/toolchain/uClibc/uClibc-0.9.30-xtensa-010-sigaction.c.patch b/toolchain/uClibc/uClibc-0.9.30-xtensa-010-sigaction.c.patch
deleted file mode 100644 (file)
index 5717c25..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/libc/sysdeps/linux/xtensa/sigaction.c    2008-09-23 21:11:02.000000000 -0700
-+++ b/libc/sysdeps/linux/xtensa/sigaction.c    2008-09-23 21:12:31.000000000 -0700
-@@ -17,6 +17,8 @@
- #define SA_RESTORER   0x04000000      
-+extern __typeof(sigaction) __libc_sigaction;
-+
- extern void __default_sa_restorer (void);
- libc_hidden_proto(memcpy)
diff --git a/toolchain/uClibc/uClibc-0.9.30-xtensa-011-sysdep.h.patch b/toolchain/uClibc/uClibc-0.9.30-xtensa-011-sysdep.h.patch
deleted file mode 100644 (file)
index 692b0a7..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/libc/sysdeps/linux/xtensa/sysdep.h       2008-09-23 21:17:42.000000000 -0700
-+++ b/libc/sysdeps/linux/xtensa/sysdep.h       2008-09-23 21:17:59.000000000 -0700
-@@ -114,15 +114,7 @@
- #define ret_ERRVAL retw
--#if RTLD_PRIVATE_ERRNO
--# define SYSCALL_ERROR_HANDLER                                                      \
--0:    movi    a4, rtld_errno;                                               \
--      neg     a2, a2;                                                       \
--      s32i    a2, a4, 0;                                                    \
--      movi    a2, -1;                                                       \
--      j       .Lpseudo_end;
--
--#elif defined _LIBC_REENTRANT
-+#if defined _LIBC_REENTRANT
- # if USE___THREAD
- #  ifndef NOT_IN_libc
diff --git a/toolchain/uClibc/uClibc-0.9.30-xtensa-012-fnmatch_old.c.patch b/toolchain/uClibc/uClibc-0.9.30-xtensa-012-fnmatch_old.c.patch
deleted file mode 100644 (file)
index 66cb1f6..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/libc/misc/fnmatch/fnmatch_old.c  2008-09-23 21:23:13.000000000 -0700
-+++ b/libc/misc/fnmatch/fnmatch_old.c  2008-09-23 21:23:33.000000000 -0700
-@@ -15,7 +15,7 @@
- not, write to the Free Software Foundation, Inc., 675 Mass Ave,
- Cambridge, MA 02139, USA.  */
--#if HAVE_CONFIG_H
-+#ifdef HAVE_CONFIG_H
- # include <config.h>
- #endif
diff --git a/toolchain/uClibc/uClibc-0.9.30-xtensa-013-atomic.h.patch b/toolchain/uClibc/uClibc-0.9.30-xtensa-013-atomic.h.patch
deleted file mode 100644 (file)
index fd20371..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
---- /dev/null  2008-09-18 06:50:54.356228028 -0700
-+++ uClibc-0.9.29/libc/sysdeps/linux/xtensa/bits/atomic.h      2008-10-04 11:40:21.000000000 -0700
-@@ -0,0 +1,162 @@
-+/*
-+ * Copyright (C) 2008 Tensilica, Inc.
-+ * Contributed by Joe Taylor <joe@tensilica.com> 2008
-+ *
-+ * 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.
-+ */
-+
-+#ifndef _XTENSA_BITS_ATOMIC_H
-+#define _XTENSA_BITS_ATOMIC_H  1
-+
-+/* Xtensa has only a 32-bit form of a store-conditional instruction,
-+   so just stub out the rest. */
-+
-+/* Atomically store NEWVAL in *MEM if *MEM is equal to OLDVAL.
-+   Return the old *MEM value.  */
-+
-+#define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval)  \
-+  ({__typeof__(*(mem)) __tmp, __value;                               \
-+    __asm__ __volatile__(                                            \
-+      "1:     l32i    %1, %2, 0               \n"                    \
-+      "       bne     %1, %4, 2f              \n"                    \
-+      "       wsr     %1, SCOMPARE1           \n"                    \
-+      "       mov     %0, %1                  \n"                    \
-+      "       mov     %1, %3                  \n"                    \
-+      "       s32c1i  %1, %2, 0               \n"                    \
-+      "       bne     %0, %1, 1b              \n"                    \
-+      "2:                                     \n"                    \
-+      : "=&a" (__value), "=&a" (__tmp)                               \
-+      : "a" (mem), "a" (newval), "a" (oldval)                        \
-+      : "memory" );                                                  \
-+    __tmp;                                                           \
-+  })
-+
-+/* Atomically store NEWVAL in *MEM if *MEM is equal to OLDVAL.
-+   Return zero if *MEM was changed or non-zero if no exchange happened.  */
-+
-+#define __arch_compare_and_exchange_bool_32_acq(mem, newval, oldval) \
-+  ({__typeof__(*(mem)) __tmp, __value;                               \
-+    __asm__ __volatile__(                                            \
-+      "1:     l32i    %0, %2, 0               \n"                    \
-+      "       sub     %1, %4, %0              \n"                    \
-+      "       bnez    %1, 2f                  \n"                    \
-+      "       wsr     %0, SCOMPARE1           \n"                    \
-+      "       mov     %1, %3                  \n"                    \
-+      "       s32c1i  %1, %2, 0               \n"                    \
-+      "       bne     %0, %1, 1b              \n"                    \
-+      "       movi    %1, 0                   \n"                    \
-+      "2:                                     \n"                    \
-+      : "=&a" (__value), "=&a" (__tmp)                               \
-+      : "a" (mem), "a" (newval), "a" (oldval)                        \
-+      : "memory" );                                                  \
-+    __tmp != 0;                                                      \
-+  })
-+
-+/* Store NEWVALUE in *MEM and return the old value.  */
-+
-+#define __arch_exchange_32_acq(mem, newval)                          \
-+  ({__typeof__(*(mem)) __tmp, __value;                               \
-+    __asm__ __volatile__(                                            \
-+      "1:     l32i    %0, %2, 0               \n"                    \
-+      "       wsr     %0, SCOMPARE1           \n"                    \
-+      "       mov     %1, %3                  \n"                    \
-+      "       s32c1i  %1, %2, 0               \n"                    \
-+      "       bne     %0, %1, 1b              \n"                    \
-+      : "=&a" (__value), "=&a" (__tmp)                               \
-+      : "a" (mem), "a" (newval)                                      \
-+      : "memory" );                                                  \
-+    __tmp;                                                           \
-+  })
-+
-+/* Add VALUE to *MEM and return the old value of *MEM.  */
-+
-+#define __arch_atomic_exchange_and_add_32(mem, value)                \
-+  ({__typeof__(*(mem)) __tmp, __value;                               \
-+    __asm__ __volatile__(                                            \
-+      "1:     l32i    %0, %2, 0               \n"                    \
-+      "       wsr     %0, SCOMPARE1           \n"                    \
-+      "       add     %1, %0, %3              \n"                    \
-+      "       s32c1i  %1, %2, 0               \n"                    \
-+      "       bne     %0, %1, 1b              \n"                    \
-+      : "=&a" (__value), "=&a" (__tmp)                               \
-+      : "a" (mem), "a" (value)                                       \
-+      : "memory" );                                                  \
-+    __tmp;                                                           \
-+  })
-+
-+/* Subtract VALUE from *MEM and return the old value of *MEM.  */
-+
-+#define __arch_atomic_exchange_and_sub_32(mem, value)                \
-+  ({__typeof__(*(mem)) __tmp, __value;                               \
-+    __asm__ __volatile__(                                            \
-+      "1:     l32i    %0, %2, 0               \n"                    \
-+      "       wsr     %0, SCOMPARE1           \n"                    \
-+      "       sub     %1, %0, %3              \n"                    \
-+      "       s32c1i  %1, %2, 0               \n"                    \
-+      "       bne     %0, %1, 1b              \n"                    \
-+      : "=&a" (__value), "=&a" (__tmp)                               \
-+      : "a" (mem), "a" (value)                                       \
-+      : "memory" );                                                  \
-+    __tmp;                                                           \
-+  })
-+
-+/* Decrement *MEM if it is > 0, and return the old value.  */
-+
-+#define __arch_atomic_decrement_if_positive_32(mem)                  \
-+  ({__typeof__(*(mem)) __tmp, __value;                               \
-+    __asm__ __volatile__(                                            \
-+      "1:     l32i    %0, %2, 0               \n"                    \
-+      "       blti    %0, 1, 2f               \n"                    \
-+      "       wsr     %0, SCOMPARE1           \n"                    \
-+      "       addi    %1, %0, -1              \n"                    \
-+      "       s32c1i  %1, %2, 0               \n"                    \
-+      "       bne     %0, %1, 1b              \n"                    \
-+      "2:                                     \n"                    \
-+      : "=&a" (__value), "=&a" (__tmp)                               \
-+      : "a" (mem)                                                    \
-+      : "memory" );                                                  \
-+    __tmp;                                                           \
-+  })
-+
-+
-+/* These are the preferred public interfaces: */
-+
-+#define atomic_compare_and_exchange_val_acq(mem, newval, oldval)     \
-+  ({                                                                 \
-+    if (sizeof (*mem) != 4)                                          \
-+      abort();                                                       \
-+    __arch_compare_and_exchange_val_32_acq(mem, newval, oldval);     \
-+  })
-+
-+#define atomic_exchange_acq(mem, newval)                             \
-+  ({                                                                 \
-+    if (sizeof(*(mem)) != 4)                                         \
-+      abort();                                                       \
-+    __arch_exchange_32_acq(mem, newval);                             \
-+  })
-+
-+#define atomic_exchange_and_add(mem, newval)                         \
-+  ({                                                                 \
-+    if (sizeof(*(mem)) != 4)                                         \
-+      abort();                                                       \
-+    __arch_atomic_exchange_and_add_32(mem, newval);                  \
-+  })
-+
-+#define atomic_exchange_and_sub(mem, newval)                         \
-+  ({                                                                 \
-+    if (sizeof(*(mem)) != 4)                                         \
-+      abort();                                                       \
-+    __arch_atomic_exchange_and_sub_32(mem, newval);                  \
-+  })
-+
-+#define atomic_decrement_if_positive(mem)                            \
-+  ({                                                                 \
-+    if (sizeof(*(mem)) != 4)                                         \
-+      abort();                                                       \
-+    __arch_atomic_decrement_if_positive_32(mem);                     \
-+  })
-+
-+#endif /* _XTENSA_BITS_ATOMIC_H */
-+
diff --git a/toolchain/uClibc/uClibc-0.9.30-xtensa-014-setjump.S.patch b/toolchain/uClibc/uClibc-0.9.30-xtensa-014-setjump.S.patch
deleted file mode 100644 (file)
index 720b44b..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- uClibc-0.9.30/libc/sysdeps/linux/xtensa/setjmp.S.orig      2009-05-01 16:57:16.195893000 -0700
-+++ uClibc-0.9.30/libc/sysdeps/linux/xtensa/setjmp.S   2009-05-01 16:58:03.885160000 -0700
-@@ -86,7 +86,7 @@ ENTRY (__sigsetjmp)
-       /* Copy 0-8 words from the register overflow area.  */
-       extui   a3, a0, 30, 2
-       blti    a3, 2, .Lendsj
--      l32i    a7, a1, 4
-+      l32i    a7, a5, 4
-       slli    a4, a3, 4
-       sub     a5, a7, a4
-       addi    a6, a2, 16
diff --git a/toolchain/uClibc/uClibc-0.9.30.1-64bit-strtouq.patch b/toolchain/uClibc/uClibc-0.9.30.1-64bit-strtouq.patch
deleted file mode 100644 (file)
index bd4ecaa..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-[PATCH]: Add strtouq alias (to strtoul) for 64bit
-
-The strtouq alias was only available on 32bit, breaking compilation of stuff
-using strtouq on 64bit machines. At the same time use the correct return
-type (u_quad_t).
-
-Signed-of-by: Peter Korsgaard <jacmet@sunsite.dk>
----
- include/stdlib.h     |    4 +++-
- libc/stdlib/stdlib.c |    1 +
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-Index: uClibc-0.9.30.1/libc/stdlib/stdlib.c
-===================================================================
---- uClibc-0.9.30.1.orig/libc/stdlib/stdlib.c
-+++ uClibc-0.9.30.1/libc/stdlib/stdlib.c
-@@ -401,6 +401,9 @@
- libc_hidden_proto(__XL_NPP(strtoull))
- strong_alias(__XL_NPP(strtoul),__XL_NPP(strtoull))
- libc_hidden_def(__XL_NPP(strtoull))
-+#if !defined(L_strtoul_l)
-+strong_alias(strtoul,strtouq)
-+#endif
- #endif
-Index: uClibc-0.9.30.1/include/stdlib.h
-===================================================================
---- uClibc-0.9.30.1.orig/include/stdlib.h
-+++ uClibc-0.9.30.1/include/stdlib.h
-@@ -203,6 +203,8 @@
- __END_NAMESPACE_STD
- #ifdef __USE_BSD
-+#include <sys/types.h> /* for u_quad_t */
-+
- /* Convert a string to a quadword integer.  */
- __extension__
- extern long long int strtoq (__const char *__restrict __nptr,
-@@ -210,7 +212,7 @@
-      __THROW __nonnull ((1)) __wur;
- /* Convert a string to an unsigned quadword integer.  */
- __extension__
--extern unsigned long long int strtouq (__const char *__restrict __nptr,
-+extern u_quad_t strtouq (__const char *__restrict __nptr,
-                                      char **__restrict __endptr, int __base)
-      __THROW __nonnull ((1)) __wur;
- #endif /* GCC and use BSD.  */
diff --git a/toolchain/uClibc/uClibc-0.9.30.1-arm-fix-linuxthreads-sysdep.patch b/toolchain/uClibc/uClibc-0.9.30.1-arm-fix-linuxthreads-sysdep.patch
deleted file mode 100644 (file)
index 65e2360..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-From 1b6e90090da7194a8f94277aa132873044f7e8e7 Mon Sep 17 00:00:00 2001
-From: carmelo <carmelo@69ca8d6d-28ef-0310-b511-8ec308f3f277>
-Date: Wed, 28 Jan 2009 15:23:51 +0000
-Subject: [PATCH] Added sysdep.h and sysdep-cancel.h for linuxthreads ARM
-
-Signed-off-by: Will Wagner <will_wagner@carallon.com>
-
-
-
-git-svn-id: svn+ssh://uclibc.org/svn/trunk/uClibc@25099 69ca8d6d-28ef-0310-b511-8ec308f3f277
----
- .../linuxthreads/sysdeps/arm/sysdep-cancel.h       |    8 +
- libpthread/linuxthreads/sysdeps/arm/sysdep.h       |  137 ++++++++++++++++++++
- 2 files changed, 145 insertions(+), 0 deletions(-)
- create mode 100644 libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h
- create mode 100644 libpthread/linuxthreads/sysdeps/arm/sysdep.h
-
-diff --git a/libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h b/libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h
-new file mode 100644
-index 0000000..ba6a1e0
---- /dev/null
-+++ b/libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h
-@@ -0,0 +1,8 @@
-+#include <sysdep.h>
-+
-+/* No multi-thread handling enabled.  */
-+#define SINGLE_THREAD_P (1)
-+#define RTLD_SINGLE_THREAD_P (1)
-+#define LIBC_CANCEL_ASYNC()   0 /* Just a dummy value.  */
-+#define LIBC_CANCEL_RESET(val)        ((void)(val)) /* Nothing, but evaluate it.  */
-+#define LIBC_CANCEL_HANDLED() /* Nothing.  */
-diff --git a/libpthread/linuxthreads/sysdeps/arm/sysdep.h b/libpthread/linuxthreads/sysdeps/arm/sysdep.h
-new file mode 100644
-index 0000000..15d951c
---- /dev/null
-+++ b/libpthread/linuxthreads/sysdeps/arm/sysdep.h
-@@ -0,0 +1,137 @@
-+/* Generic asm macros used on many machines.
-+   Copyright (C) 1991,92,93,96,98,2002,2003 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+
-+   The GNU C Library is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library; if not, write to the Free
-+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+   02111-1307 USA.  */
-+
-+#ifndef C_LABEL
-+
-+/* Define a macro we can use to construct the asm name for a C symbol.  */
-+#ifdef        NO_UNDERSCORES
-+#ifdef        __STDC__
-+#define C_LABEL(name)         name##:
-+#else
-+#define C_LABEL(name)         name/**/:
-+#endif
-+#else
-+#ifdef        __STDC__
-+#define C_LABEL(name)         _##name##:
-+#else
-+#define C_LABEL(name)         _/**/name/**/:
-+#endif
-+#endif
-+
-+#endif
-+
-+#ifdef __ASSEMBLER__
-+/* Mark the end of function named SYM.  This is used on some platforms
-+   to generate correct debugging information.  */
-+#ifndef END
-+#define END(sym)
-+#endif
-+
-+#ifndef JUMPTARGET
-+#define JUMPTARGET(sym)               sym
-+#endif
-+
-+/* Makros to generate eh_frame unwind information.  */
-+# ifdef HAVE_ASM_CFI_DIRECTIVES
-+#  define cfi_startproc                       .cfi_startproc
-+#  define cfi_endproc                 .cfi_endproc
-+#  define cfi_def_cfa(reg, off)               .cfi_def_cfa reg, off
-+#  define cfi_def_cfa_register(reg)   .cfi_def_cfa_register reg
-+#  define cfi_def_cfa_offset(off)     .cfi_def_cfa_offset off
-+#  define cfi_adjust_cfa_offset(off)  .cfi_adjust_cfa_offset off
-+#  define cfi_offset(reg, off)                .cfi_offset reg, off
-+#  define cfi_rel_offset(reg, off)    .cfi_rel_offset reg, off
-+#  define cfi_register(r1, r2)                .cfi_register r1, r2
-+#  define cfi_return_column(reg)      .cfi_return_column reg
-+#  define cfi_restore(reg)            .cfi_restore reg
-+#  define cfi_same_value(reg)         .cfi_same_value reg
-+#  define cfi_undefined(reg)          .cfi_undefined reg
-+#  define cfi_remember_state          .cfi_remember_state
-+#  define cfi_restore_state           .cfi_restore_state
-+#  define cfi_window_save             .cfi_window_save
-+# else
-+#  define cfi_startproc
-+#  define cfi_endproc
-+#  define cfi_def_cfa(reg, off)
-+#  define cfi_def_cfa_register(reg)
-+#  define cfi_def_cfa_offset(off)
-+#  define cfi_adjust_cfa_offset(off)
-+#  define cfi_offset(reg, off)
-+#  define cfi_rel_offset(reg, off)
-+#  define cfi_register(r1, r2)
-+#  define cfi_return_column(reg)
-+#  define cfi_restore(reg)
-+#  define cfi_same_value(reg)
-+#  define cfi_undefined(reg)
-+#  define cfi_remember_state
-+#  define cfi_restore_state
-+#  define cfi_window_save
-+# endif
-+
-+#else /* ! ASSEMBLER */
-+# ifdef HAVE_ASM_CFI_DIRECTIVES
-+#  define CFI_STRINGIFY(Name) CFI_STRINGIFY2 (Name)
-+#  define CFI_STRINGIFY2(Name) #Name
-+#  define CFI_STARTPROC       ".cfi_startproc"
-+#  define CFI_ENDPROC ".cfi_endproc"
-+#  define CFI_DEF_CFA(reg, off)       \
-+   ".cfi_def_cfa " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
-+#  define CFI_DEF_CFA_REGISTER(reg) \
-+   ".cfi_def_cfa_register " CFI_STRINGIFY(reg)
-+#  define CFI_DEF_CFA_OFFSET(off) \
-+   ".cfi_def_cfa_offset " CFI_STRINGIFY(off)
-+#  define CFI_ADJUST_CFA_OFFSET(off) \
-+   ".cfi_adjust_cfa_offset " CFI_STRINGIFY(off)
-+#  define CFI_OFFSET(reg, off) \
-+   ".cfi_offset " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
-+#  define CFI_REL_OFFSET(reg, off) \
-+   ".cfi_rel_offset " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
-+#  define CFI_REGISTER(r1, r2) \
-+   ".cfi_register " CFI_STRINGIFY(r1) "," CFI_STRINGIFY(r2)
-+#  define CFI_RETURN_COLUMN(reg) \
-+   ".cfi_return_column " CFI_STRINGIFY(reg)
-+#  define CFI_RESTORE(reg) \
-+   ".cfi_restore " CFI_STRINGIFY(reg)
-+#  define CFI_UNDEFINED(reg) \
-+   ".cfi_undefined " CFI_STRINGIFY(reg)
-+#  define CFI_REMEMBER_STATE \
-+   ".cfi_remember_state"
-+#  define CFI_RESTORE_STATE \
-+   ".cfi_restore_state"
-+#  define CFI_WINDOW_SAVE \
-+   ".cfi_window_save"
-+# else
-+#  define CFI_STARTPROC
-+#  define CFI_ENDPROC
-+#  define CFI_DEF_CFA(reg, off)
-+#  define CFI_DEF_CFA_REGISTER(reg)
-+#  define CFI_DEF_CFA_OFFSET(off)
-+#  define CFI_ADJUST_CFA_OFFSET(off)
-+#  define CFI_OFFSET(reg, off)
-+#  define CFI_REL_OFFSET(reg, off)
-+#  define CFI_REGISTER(r1, r2)
-+#  define CFI_RETURN_COLUMN(reg)
-+#  define CFI_RESTORE(reg)
-+#  define CFI_UNDEFINED(reg)
-+#  define CFI_REMEMBER_STATE
-+#  define CFI_RESTORE_STATE
-+#  define CFI_WINDOW_SAVE
-+# endif
-+
-+#endif /* __ASSEMBLER__ */
--- 
-1.5.6.5
-
diff --git a/toolchain/uClibc/uClibc-0.9.30.1-c99-ldbl-math.patch b/toolchain/uClibc/uClibc-0.9.30.1-c99-ldbl-math.patch
deleted file mode 100644 (file)
index f371843..0000000
+++ /dev/null
@@ -1,474 +0,0 @@
-Index: uClibc-0.9.30.1/libm/ldouble_wrappers.c
-===================================================================
---- uClibc-0.9.30.1/libm/ldouble_wrappers.c    (revision 25552)
-+++ uClibc-0.9.30.1/libm/ldouble_wrappers.c    (working copy)
-@@ -13,6 +13,16 @@
- #include "math.h"
- #include <complex.h>
-+#if defined __NO_LONG_DOUBLE_MATH
-+# define int_WRAPPER_C99(func) /* not needed */
-+# else
-+# define int_WRAPPER_C99(func) \
-+int func##l(long double x) \
-+{ \
-+    return func((double) x); \
-+} \
-+libm_hidden_def(func##l)
-+#endif
- /* Implement the following, as defined by SuSv3 */
- #if 0
-@@ -543,46 +553,28 @@ long double truncl (long double x)
- #endif
--#ifdef __DO_C99_MATH__
-+#if defined __DO_C99_MATH__
- #ifdef L_fpclassifyl
--int __fpclassifyl (long double x)
--{
--      return __fpclassify ( (double) x );
--}
--libm_hidden_def(__fpclassifyl)
-+int_WRAPPER_C99(__fpclassify)
- #endif
- #ifdef L_finitel
--int __finitel (long double x)
--{
--      return __finite ( (double)x );
--}
--libm_hidden_def(__finitel)
-+int_WRAPPER_C99(__finite)
- #endif
- #ifdef L_signbitl
--int __signbitl (long double x)
--{
--      return __signbitl ( (double)x );
--}
--libm_hidden_def(__signbitl)
-+int_WRAPPER_C99(__signbit)
- #endif
- #ifdef L_isnanl
--int __isnanl (long double x)
--{
--      return __isnan ( (double)x );
--}
--libm_hidden_def(__isnanl)
-+int_WRAPPER_C99(__isnan)
- #endif
- #ifdef L_isinfl
--int __isinfl (long double x)
--{
--      return __isinf ( (double)x );
--}
--libm_hidden_def(__isinfl)
-+int_WRAPPER_C99(__isinf)
- #endif
--#endif
-+#endif /* DO_C99_MATH */
-+
-+#undef int_WRAPPER_C99
-Index: uClibc-0.9.30.1/libm/nan.c
-===================================================================
---- uClibc-0.9.30.1/libm/nan.c (revision 25552)
-+++ uClibc-0.9.30.1/libm/nan.c (working copy)
-@@ -45,7 +45,7 @@ float nanf (const char *tagp)
- }
- libm_hidden_def(nanf)
--#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __NO_LONG_DOUBLE_MATH
- libm_hidden_proto(nanl)
- long double nanl (const char *tagp)
- {
-Index: uClibc-0.9.30.1/include/math.h
-===================================================================
---- uClibc-0.9.30.1/include/math.h     (revision 25552)
-+++ uClibc-0.9.30.1/include/math.h     (working copy)
-@@ -118,7 +118,7 @@ __BEGIN_DECLS
- # undef       __MATH_PRECNAME
- # if (__STDC__ - 0 || __GNUC__ - 0) \
--     && (defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ || defined __LDBL_COMPAT)
-+     && (!defined __NO_LONG_DOUBLE_MATH || defined __LDBL_COMPAT)
- #  ifdef __LDBL_COMPAT
- #   ifdef __USE_ISOC99
-@@ -230,7 +230,7 @@ enum
-   };
- /* Return number of classification appropriate for X.  */
--# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+# ifdef __NO_LONG_DOUBLE_MATH
- #  define fpclassify(x) \
-      (sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x))
- # else
-@@ -242,7 +242,7 @@ enum
- # endif
- /* Return nonzero value if sign of X is negative.  */
--# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+# ifdef __NO_LONG_DOUBLE_MATH
- #  define signbit(x) \
-      (sizeof (x) == sizeof (float) ? __signbitf (x) : __signbit (x))
- # else
-@@ -254,7 +254,7 @@ enum
- # endif
- /* Return nonzero value if X is not +-Inf or NaN.  */
--# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+# ifdef __NO_LONG_DOUBLE_MATH
- #  define isfinite(x) \
-      (sizeof (x) == sizeof (float) ? __finitef (x) : __finite (x))
- # else
-@@ -270,7 +270,7 @@ enum
- /* Return nonzero value if X is a NaN.  We could use `fpclassify' but
-    we already have this functions `__isnan' and it is faster.  */
--# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+# ifdef __NO_LONG_DOUBLE_MATH
- #  define isnan(x) \
-      (sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x))
- # else
-@@ -282,7 +282,7 @@ enum
- # endif
- /* Return nonzero value is X is positive or negative infinity.  */
--# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+# ifdef __NO_LONG_DOUBLE_MATH
- #  define isinf(x) \
-      (sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x))
- # else
-Index: uClibc-0.9.30.1/include/tgmath.h
-===================================================================
---- uClibc-0.9.30.1/include/tgmath.h   (revision 25552)
-+++ uClibc-0.9.30.1/include/tgmath.h   (working copy)
-@@ -36,7 +36,7 @@
- #if __GNUC_PREREQ (2, 7)
--# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+# ifdef __NO_LONG_DOUBLE_MATH
- #  define __tgml(fct) fct
- # else
- #  define __tgml(fct) fct ## l
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h
-===================================================================
---- uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h (revision 25552)
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h (working copy)
-@@ -7,13 +7,13 @@
- # define __WORDSIZE   32
- #endif
--#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL
-+#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
- /* Signal the glibc ABI didn't used to have a `long double'.
-    The changes all the `long double' function variants to be redirects
-    to the double functions.  */
- # define __LONG_DOUBLE_MATH_OPTIONAL   1
- # ifndef __LONG_DOUBLE_128__
--#  undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+#  define __NO_LONG_DOUBLE_MATH        1
- # endif
- #endif
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h
-===================================================================
---- uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h  (revision 25552)
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h  (working copy)
-@@ -65,11 +65,13 @@ typedef double double_t;
- #endif        /* ISO C99 */
--#ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+#ifndef __NO_LONG_DOUBLE_MATH
- #include <bits/wordsize.h>
- /* Signal that we do not really have a `long double'.  The disables the
-    declaration of all the `long double' function variants.  */
- # if __WORDSIZE == 32
--#  undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+#  define __NO_LONG_DOUBLE_MATH       1
-+# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+#  define __NO_LONG_DOUBLE_MATH       1
- # endif  /* __WORDSIZE == 32 */
--#endif  /* __UCLIBC_HAS_LONG_DOUBLE_MATH__ */
-+#endif  /* __NO_LONG_DOUBLE_MATH */
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h
-===================================================================
---- uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h      (revision 25552)
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h      (working copy)
-@@ -34,3 +34,11 @@ typedef double double_t;    /* `double' exp
- # define FP_ILOGBNAN  (2147483647)
- #endif        /* ISO C99 */
-+
-+#ifndef __NO_LONG_DOUBLE_MATH
-+/* Signal that we do not really have a `long double'.  This disables the
-+   declaration of all the `long double' function variants.  */
-+/* XXX The FPA does support this but the patterns in GCC are currently
-+   turned off.  */
-+# define __NO_LONG_DOUBLE_MATH        1
-+#endif
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h
-===================================================================
---- uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h     (revision 25552)
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h     (working copy)
-@@ -36,3 +36,7 @@ typedef long double double_t;        /* `double
- # define FP_ILOGBNAN  (2147483647)
- #endif        /* ISO C99 */
-+
-+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+# define __NO_LONG_DOUBLE_MATH        1
-+#endif
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h
-===================================================================
---- uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h   (revision 25552)
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h   (working copy)
-@@ -18,13 +18,13 @@
- #define __WORDSIZE    64
--#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL
-+#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
- /* Signal that we didn't used to have a `long double'. The changes all
-    the `long double' function variants to be redirects to the double
-    functions.  */
- # define __LONG_DOUBLE_MATH_OPTIONAL  1
- # ifndef __LONG_DOUBLE_128__
--#  undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+#  define __NO_LONG_DOUBLE_MATH               1
- # endif
- #endif
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h
-===================================================================
---- uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h    (revision 25552)
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h    (working copy)
-@@ -78,3 +78,7 @@ typedef double double_t;
- # endif /* GNUC before 3.4 */
- #endif /* COMPLEX_H */
-+
-+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+# define __NO_LONG_DOUBLE_MATH        1
-+#endif
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h
-===================================================================
---- uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h   (revision 25552)
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h   (working copy)
-@@ -35,3 +35,9 @@ typedef double double_t;     /* `double' exp
- # define FP_ILOGBNAN  2147483647
- #endif        /* ISO C99 */
-+
-+#ifndef __NO_LONG_DOUBLE_MATH
-+/* Signal that we do not really have a `long double'.  The disables the
-+   declaration of all the `long double' function variants.  */
-+# define __NO_LONG_DOUBLE_MATH        1
-+#endif
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h
-===================================================================
---- uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h     (revision 25552)
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h     (working copy)
-@@ -44,3 +44,7 @@ typedef long double double_t;        /* `double
- # define FP_ILOGBNAN  (-2147483647 - 1)
- #endif        /* ISO C99 */
-+
-+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+# define __NO_LONG_DOUBLE_MATH        1
-+#endif
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h
-===================================================================
---- uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h    (revision 25552)
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h    (working copy)
-@@ -34,3 +34,11 @@ typedef double double_t;    /* `double' exp
- # define FP_ILOGBNAN  (2147483647)
- #endif        /* ISO C99 */
-+
-+#ifndef __NO_LONG_DOUBLE_MATH
-+/* Signal that we do not really have a `long double'.  This disables the
-+   declaration of all the `long double' function variants.  */
-+/* XXX The FPA does support this but the patterns in GCC are currently
-+   turned off.  */
-+# define __NO_LONG_DOUBLE_MATH        1
-+#endif
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h
-===================================================================
---- uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h   (revision 25552)
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h   (working copy)
-@@ -46,3 +46,7 @@ typedef long double double_t;        /* `double
- # define FP_ILOGBNAN  (-2147483647 - 1)
- #endif        /* ISO C99 */
-+
-+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+# define __NO_LONG_DOUBLE_MATH        1
-+#endif
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h
-===================================================================
---- uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h   (revision 25552)
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h   (working copy)
-@@ -36,8 +36,8 @@ typedef double double_t;     /* `double' exp
- #endif        /* ISO C99 */
--#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+#ifndef __NO_LONG_DOUBLE_MATH
- /* Signal that we do not really have a `long double'.  The disables the
-    declaration of all the `long double' function variants.  */
--# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+# define __NO_LONG_DOUBLE_MATH        1
- #endif
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h
-===================================================================
---- uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h     (revision 25552)
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h     (working copy)
-@@ -35,3 +35,7 @@ typedef double double_t;     /* `double' exp
- # define FP_ILOGBNAN  2147483647
- #endif        /* ISO C99 */
-+
-+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+# define __NO_LONG_DOUBLE_MATH        1
-+#endif
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h
-===================================================================
---- uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h     (revision 25552)
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h     (working copy)
-@@ -39,8 +39,10 @@ typedef double double_t;    /* `double' exp
- #endif        /* ISO C99 */
--#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && _MIPS_SIM == _ABIO32
-+#if ! defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32
- /* Signal that we do not really have a `long double'.  This disables the
-    declaration of all the `long double' function variants.  */
--# error defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ and _MIPS_SIM == _ABIO32
-+# define __NO_LONG_DOUBLE_MATH        1
-+#elif !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+# define __NO_LONG_DOUBLE_MATH        1
- #endif
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h
-===================================================================
---- uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h     (revision 25552)
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h     (working copy)
-@@ -34,3 +34,11 @@ typedef double double_t;    /* `double' exp
- # define FP_ILOGBNAN  (2147483647)
- #endif        /* ISO C99 */
-+
-+#ifndef __NO_LONG_DOUBLE_MATH
-+/* Signal that we do not really have a `long double'.  This disables the
-+   declaration of all the `long double' function variants.  */
-+/* XXX The FPA does support this but the patterns in GCC are currently
-+   turned off.  */
-+# define __NO_LONG_DOUBLE_MATH        1
-+#endif
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h
-===================================================================
---- uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h   (revision 25552)
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h   (working copy)
-@@ -6,7 +6,7 @@
- # define __WORDSIZE   32
- #endif
--#if 0 /* uClibc: done in mathdefs.h: defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL*/
-+#if 0 /* uClibc: done in mathdefs.h: !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL*/
- # if __WORDSIZE == 32
- /* Signal that in 32bit ABI we didn't used to have a `long double'.
-@@ -14,7 +14,7 @@
-    to the double functions.  */
- #  define __LONG_DOUBLE_MATH_OPTIONAL   1
- #  ifndef __LONG_DOUBLE_128__
--#   undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+#   define __NO_LONG_DOUBLE_MATH        1
- #  endif
- # endif
- #endif
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h
-===================================================================
---- uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h    (revision 25552)
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h    (working copy)
-@@ -57,13 +57,15 @@ typedef double double_t;
- #endif        /* ISO C99 */
--#ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+#ifndef __NO_LONG_DOUBLE_MATH
- # if __WORDSIZE == 32
- /* Signal that in 32bit ABI we do not really have a `long double'.
-    The disables the declaration of all the `long double' function
-    variants.  */
--#  undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+#  define __NO_LONG_DOUBLE_MATH       1
-+# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+#  define __NO_LONG_DOUBLE_MATH       1
- # endif
- #endif
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h
-===================================================================
---- uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h (revision 25552)
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h (working copy)
-@@ -37,7 +37,7 @@
- # if __WORDSIZE == 32
--#  ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+#  ifndef __NO_LONG_DOUBLE_MATH
- #   define __unordered_cmp(x, y) \
-   (__extension__                                                            \
-@@ -157,7 +157,7 @@ __NTH (__signbit (double __x))
-   return __u.__i[0] < 0;
- }
--#    ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+#    ifndef __NO_LONG_DOUBLE_MATH
- __MATH_INLINE int
- __NTH (__signbitl (long double __x))
- {
-@@ -219,7 +219,7 @@ __NTH (sqrtl (long double __x))
-   _Qp_sqrt (&__r, &__x);
-   return __r;
- }
--#   elif defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+#   elif !defined __NO_LONG_DOUBLE_MATH
- __MATH_INLINE long double
- sqrtl (long double __x) __THROW
- {
-@@ -257,7 +257,7 @@ __ieee754_sqrtl (long double __x)
-   _Qp_sqrt(&__r, &__x);
-   return __r;
- }
--#   elif defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
-+#   elif !defined __NO_LONG_DOUBLE_MATH
- __MATH_INLINE long double
- __ieee754_sqrtl (long double __x)
- {
-Index: uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h
-===================================================================
---- uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h       (revision 25552)
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h       (working copy)
-@@ -61,3 +61,9 @@ typedef double double_t;
- # define FP_ILOGBNAN  0x7fffffff
- #endif        /* ISO C99 */
-+
-+#ifndef __NO_LONG_DOUBLE_MATH
-+/* Signal that we do not really have a `long double'.  The disables the
-+   declaration of all the `long double' function variants.  */
-+# define __NO_LONG_DOUBLE_MATH        1
-+#endif
diff --git a/toolchain/uClibc/uClibc-0.9.30.1-dl-sysdep-inline.patch b/toolchain/uClibc/uClibc-0.9.30.1-dl-sysdep-inline.patch
deleted file mode 100644 (file)
index cf72c88..0000000
+++ /dev/null
@@ -1,371 +0,0 @@
-Index: uClibc-0.9.30.1/ldso/ldso/arm/dl-sysdep.h
-===================================================================
---- uClibc-0.9.30.1/ldso/ldso/arm/dl-sysdep.h  (revision 25503)
-+++ uClibc-0.9.30.1/ldso/ldso/arm/dl-sysdep.h  (working copy)
-@@ -15,7 +15,7 @@
-   GOT_BASE[1] = (unsigned long) MODULE; \
- }
--static __inline__ unsigned long arm_modulus(unsigned long m, unsigned long p)
-+static __always_inline unsigned long arm_modulus(unsigned long m, unsigned long p)
- {
-       unsigned long i,t,inc;
-       i=p; t=0;
-@@ -72,7 +72,7 @@ unsigned long _dl_linux_resolver(struct 
-    first element of the GOT.  We used to use the PIC register to do this
-    without a constant pool reference, but GCC 4.2 will use a pseudo-register
-    for the PIC base, so it may not be in r10.  */
--static __inline__ Elf32_Addr __attribute__ ((unused))
-+static __always_inline Elf32_Addr __attribute__ ((unused))
- elf_machine_dynamic (void)
- {
-   Elf32_Addr dynamic;
-@@ -104,7 +104,7 @@ elf_machine_dynamic (void)
- }
- /* Return the run-time load address of the shared object.  */
--static __inline__ Elf32_Addr __attribute__ ((unused))
-+static __always_inline Elf32_Addr __attribute__ ((unused))
- elf_machine_load_address (void)
- {
-       extern void __dl_start __asm__ ("_dl_start");
-@@ -128,7 +128,7 @@ elf_machine_load_address (void)
-       return pcrel_addr - got_addr;
- }
--static __inline__ void
-+static __always_inline void
- elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
-                     Elf32_Word relative_count)
- {
-Index: uClibc-0.9.30.1/ldso/ldso/powerpc/dl-sysdep.h
-===================================================================
---- uClibc-0.9.30.1/ldso/ldso/powerpc/dl-sysdep.h      (revision 25503)
-+++ uClibc-0.9.30.1/ldso/ldso/powerpc/dl-sysdep.h      (working copy)
-@@ -90,7 +90,7 @@ void _dl_init_got(unsigned long *lpnt,st
- #define ELF_MACHINE_PLTREL_OVERLAP 1
- /* Return the value of the GOT pointer.  */
--static __inline__ Elf32_Addr * __attribute__ ((const))
-+static __always_inline Elf32_Addr * __attribute__ ((const))
- ppc_got (void)
- {
-       Elf32_Addr *got;
-@@ -109,14 +109,14 @@ ppc_got (void)
- /* Return the link-time address of _DYNAMIC, stored as
-    the first value in the GOT. */
--static __inline__ Elf32_Addr __attribute__ ((const))
-+static __always_inline Elf32_Addr __attribute__ ((const))
- elf_machine_dynamic (void)
- {
-       return *ppc_got();
- }
- /* Return the run-time load address of the shared object.  */
--static __inline__ Elf32_Addr __attribute__ ((const))
-+static __always_inline Elf32_Addr __attribute__ ((const))
- elf_machine_load_address (void)
- {
-   Elf32_Addr *branchaddr;
-@@ -164,7 +164,7 @@ elf_machine_load_address (void)
-   return runtime_dynamic - elf_machine_dynamic ();
- }
--static __inline__ void
-+static __always_inline void
- elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
-                     Elf32_Word relative_count)
- {
-Index: uClibc-0.9.30.1/ldso/ldso/sh64/dl-sysdep.h
-===================================================================
---- uClibc-0.9.30.1/ldso/ldso/sh64/dl-sysdep.h (revision 25503)
-+++ uClibc-0.9.30.1/ldso/ldso/sh64/dl-sysdep.h (working copy)
-@@ -42,7 +42,7 @@ extern unsigned long _dl_linux_resolver(
- /* Return the link-time address of _DYNAMIC.  Conveniently, this is the
-    first element of the GOT.  This must be inlined in a function which
-    uses global data.  */
--static __inline__ Elf32_Addr elf_machine_dynamic(void)
-+static __always_inline Elf32_Addr elf_machine_dynamic(void)
- {
-       register Elf32_Addr *got;
-@@ -70,7 +70,7 @@ static __inline__ Elf32_Addr elf_machine
- }
- /* Return the run-time load address of the shared object.  */
--static __inline__ Elf32_Addr elf_machine_load_address(void)
-+static __always_inline Elf32_Addr elf_machine_load_address(void)
- {
-       Elf32_Addr addr;
-@@ -123,7 +123,7 @@ static __inline__ Elf32_Addr elf_machine
-       }                                               \
- }
--static __inline__ void
-+static __always_inline void
- elf_machine_relative(Elf32_Addr load_off, const Elf32_Addr rel_addr,
-                    Elf32_Word relative_count)
- {
-Index: uClibc-0.9.30.1/ldso/ldso/m68k/dl-sysdep.h
-===================================================================
---- uClibc-0.9.30.1/ldso/ldso/m68k/dl-sysdep.h (revision 25503)
-+++ uClibc-0.9.30.1/ldso/ldso/m68k/dl-sysdep.h (working copy)
-@@ -41,7 +41,7 @@ extern unsigned long _dl_linux_resolver 
- /* Return the link-time address of _DYNAMIC.  Conveniently, this is the
-    first element of the GOT.  This must be inlined in a function which
-    uses global data.  */
--static __inline__ Elf32_Addr
-+static __always_inline Elf32_Addr
- elf_machine_dynamic (void)
- {
-       register Elf32_Addr *got __asm__ ("%a5");
-@@ -50,7 +50,7 @@ elf_machine_dynamic (void)
- /* Return the run-time load address of the shared object.  */
--static __inline__ Elf32_Addr
-+static __always_inline Elf32_Addr
- elf_machine_load_address (void)
- {
-       Elf32_Addr addr;
-@@ -60,7 +60,7 @@ elf_machine_load_address (void)
-       return addr;
- }
--static __inline__ void
-+static __always_inline void
- elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
-                     Elf32_Word relative_count)
- {
-Index: uClibc-0.9.30.1/ldso/ldso/i386/dl-sysdep.h
-===================================================================
---- uClibc-0.9.30.1/ldso/ldso/i386/dl-sysdep.h (revision 25503)
-+++ uClibc-0.9.30.1/ldso/ldso/i386/dl-sysdep.h (working copy)
-@@ -42,8 +42,8 @@ extern unsigned long _dl_linux_resolver(
- /* Return the link-time address of _DYNAMIC.  Conveniently, this is the
-    first element of the GOT.  This must be inlined in a function which
-    uses global data.  */
--static __inline__ Elf32_Addr elf_machine_dynamic (void) attribute_unused;
--static __inline__ Elf32_Addr
-+static __always_inline Elf32_Addr elf_machine_dynamic (void) attribute_unused;
-+static __always_inline Elf32_Addr
- elf_machine_dynamic (void)
- {
-       register Elf32_Addr *got __asm__ ("%ebx");
-@@ -52,8 +52,8 @@ elf_machine_dynamic (void)
- /* Return the run-time load address of the shared object.  */
--static __inline__ Elf32_Addr elf_machine_load_address (void) attribute_unused;
--static __inline__ Elf32_Addr
-+static __always_inline Elf32_Addr elf_machine_load_address (void) attribute_unused;
-+static __always_inline Elf32_Addr
- elf_machine_load_address (void)
- {
-       /* It doesn't matter what variable this is, the reference never makes
-@@ -66,7 +66,7 @@ elf_machine_load_address (void)
-       return addr;
- }
--static __inline__ void
-+static __always_inline void
- elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
-                     Elf32_Word relative_count)
- {
-Index: uClibc-0.9.30.1/ldso/ldso/cris/dl-sysdep.h
-===================================================================
---- uClibc-0.9.30.1/ldso/ldso/cris/dl-sysdep.h (revision 25503)
-+++ uClibc-0.9.30.1/ldso/ldso/cris/dl-sysdep.h (working copy)
-@@ -39,7 +39,7 @@ extern unsigned long _dl_linux_resolver(
-      || ((type) == R_CRIS_GLOB_DAT)) * ELF_RTYPE_CLASS_PLT)   \
-    | (((type) == R_CRIS_COPY) * ELF_RTYPE_CLASS_COPY))
--static __inline__ Elf32_Addr
-+static __always_inline Elf32_Addr
- elf_machine_dynamic(void)
- {
-       /* Don't just set this to an asm variable "r0" since that's not logical
-@@ -61,7 +61,7 @@ elf_machine_dynamic(void)
-    there's some other symbol we could use, that we don't *have* to force a
-    GOT entry for.  */
--static __inline__ Elf32_Addr
-+static __always_inline Elf32_Addr
- elf_machine_load_address(void)
- {
-       Elf32_Addr gotaddr_diff;
-@@ -95,7 +95,7 @@ elf_machine_load_address(void)
-       return gotaddr_diff;
- }
--static __inline__ void
-+static __always_inline void
- elf_machine_relative(Elf32_Addr load_off, const Elf32_Addr rel_addr,
-                      Elf32_Word relative_count)
- {
-Index: uClibc-0.9.30.1/ldso/ldso/xtensa/dl-sysdep.h
-===================================================================
---- uClibc-0.9.30.1/ldso/ldso/xtensa/dl-sysdep.h       (revision 25503)
-+++ uClibc-0.9.30.1/ldso/ldso/xtensa/dl-sysdep.h       (working copy)
-@@ -87,7 +87,7 @@ extern unsigned long _dl_linux_resolver 
-   (((type) == R_XTENSA_JMP_SLOT) * ELF_RTYPE_CLASS_PLT)
- /* Return the link-time address of _DYNAMIC.  */
--static __inline__ Elf32_Addr
-+static __always_inline Elf32_Addr
- elf_machine_dynamic (void)
- {
-   /* This function is only used while bootstrapping the runtime linker.
-@@ -97,7 +97,7 @@ elf_machine_dynamic (void)
- }
- /* Return the run-time load address of the shared object.  */
--static __inline__ Elf32_Addr
-+static __always_inline Elf32_Addr
- elf_machine_load_address (void)
- {
-   Elf32_Addr addr, tmp;
-@@ -118,7 +118,7 @@ elf_machine_load_address (void)
-   return addr - 3;
- }
--static __inline__ void
-+static __always_inline void
- elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
-                     Elf32_Word relative_count)
- {
-Index: uClibc-0.9.30.1/ldso/ldso/sparc/dl-sysdep.h
-===================================================================
---- uClibc-0.9.30.1/ldso/ldso/sparc/dl-sysdep.h        (revision 25503)
-+++ uClibc-0.9.30.1/ldso/ldso/sparc/dl-sysdep.h        (working copy)
-@@ -49,7 +49,7 @@ unsigned long _dl_linux_resolver(struct 
- #ifndef COMPILE_ASM
- /* Cheap modulo implementation, taken from arm/ld_sysdep.h. */
--static __inline__ unsigned long
-+static __always_inline unsigned long
- sparc_mod(unsigned long m, unsigned long p)
- {
-       unsigned long i, t, inc;
-@@ -127,7 +127,7 @@ do {    register Elf32_Addr pc __asm__("
- /* Return the link-time address of _DYNAMIC.  Conveniently, this is the
-    first element of the GOT.  This must be inlined in a function which
-    uses global data.  */
--static __inline__ Elf32_Addr
-+static __always_inline Elf32_Addr
- elf_machine_dynamic (void)
- {
-       register Elf32_Addr *got __asm__ ("%l7");
-@@ -138,7 +138,7 @@ elf_machine_dynamic (void)
- }
- /* Return the run-time load address of the shared object.  */
--static __inline__ Elf32_Addr
-+static __always_inline Elf32_Addr
- elf_machine_load_address (void)
- {
-       register Elf32_Addr *pc __asm__ ("%o7"), *got __asm__ ("%l7");
-@@ -157,7 +157,7 @@ elf_machine_load_address (void)
-       return (Elf32_Addr) got - *got + (pc[2] - pc[3]) * 4 - 4;
- }
--static __inline__ void
-+static __always_inline void
- elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
-                     Elf32_Word relative_count)
- {
-Index: uClibc-0.9.30.1/ldso/ldso/mips/dl-sysdep.h
-===================================================================
---- uClibc-0.9.30.1/ldso/ldso/mips/dl-sysdep.h (revision 25503)
-+++ uClibc-0.9.30.1/ldso/ldso/mips/dl-sysdep.h (working copy)
-@@ -163,7 +163,7 @@ void _dl_perform_mips_global_got_relocat
- #define OFFSET_GP_GOT 0x7ff0
--static __inline__ ElfW(Addr) *
-+static __always_inline ElfW(Addr) *
- elf_mips_got_from_gpreg (ElfW(Addr) gpreg)
- {
-       /* FIXME: the offset of gp from GOT may be system-dependent. */
-@@ -173,7 +173,7 @@ elf_mips_got_from_gpreg (ElfW(Addr) gpre
- /* Return the link-time address of _DYNAMIC.  Conveniently, this is the
-    first element of the GOT.  This must be inlined in a function which
-    uses global data.  We assume its $gp points to the primary GOT.  */
--static __inline__ ElfW(Addr)
-+static __always_inline ElfW(Addr)
- elf_machine_dynamic (void)
- {
-       register ElfW(Addr) gp __asm__ ("$28");
-@@ -192,7 +192,7 @@ elf_machine_dynamic (void)
- #endif
- /* Return the run-time load address of the shared object.  */
--static __inline__ ElfW(Addr)
-+static __always_inline ElfW(Addr)
- elf_machine_load_address (void)
- {
-       ElfW(Addr) addr;
-@@ -208,7 +208,7 @@ elf_machine_load_address (void)
-       return addr;
- }
--static __inline__ void
-+static __always_inline void
- elf_machine_relative (ElfW(Addr) load_off, const ElfW(Addr) rel_addr,
-                     ElfW(Word) relative_count)
- {
-Index: uClibc-0.9.30.1/ldso/ldso/sh/dl-sysdep.h
-===================================================================
---- uClibc-0.9.30.1/ldso/ldso/sh/dl-sysdep.h   (revision 25503)
-+++ uClibc-0.9.30.1/ldso/ldso/sh/dl-sysdep.h   (working copy)
-@@ -25,7 +25,7 @@
- struct elf_resolve;
- extern unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry);
--static __inline__ unsigned int
-+static __always_inline unsigned int
- _dl_urem(unsigned int n, unsigned int base)
- {
-   int res;
-@@ -100,7 +100,7 @@ _dl_urem(unsigned int n, unsigned int ba
- /* Return the link-time address of _DYNAMIC.  Conveniently, this is the
-    first element of the GOT.  This must be inlined in a function which
-    uses global data.  */
--static __inline__ Elf32_Addr __attribute__ ((unused))
-+static __always_inline Elf32_Addr __attribute__ ((unused))
- elf_machine_dynamic (void)
- {
-       register Elf32_Addr *got;
-@@ -109,7 +109,7 @@ elf_machine_dynamic (void)
- }
- /* Return the run-time load address of the shared object.  */
--static __inline__ Elf32_Addr __attribute__ ((unused))
-+static __always_inline Elf32_Addr __attribute__ ((unused))
- elf_machine_load_address (void)
- {
-       Elf32_Addr addr;
-@@ -151,7 +151,7 @@ elf_machine_load_address (void)
-     } \
-   }
--static __inline__ void
-+static __always_inline void
- elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
-                     Elf32_Word relative_count)
- {
-Index: uClibc-0.9.30.1/ldso/ldso/bfin/dl-sysdep.h
-===================================================================
---- uClibc-0.9.30.1/ldso/ldso/bfin/dl-sysdep.h (revision 25503)
-+++ uClibc-0.9.30.1/ldso/ldso/bfin/dl-sysdep.h (working copy)
-@@ -213,7 +213,7 @@ while (0)
- #endif
- #include <elf.h>
--static __inline__ void
-+static __always_inline void
- elf_machine_relative (DL_LOADADDR_TYPE load_off, const Elf32_Addr rel_addr,
-                     Elf32_Word relative_count)
- {
diff --git a/toolchain/uClibc/uClibc-0.9.30.1-fix-getaddrinfo.patch b/toolchain/uClibc/uClibc-0.9.30.1-fix-getaddrinfo.patch
deleted file mode 100644 (file)
index 449d33c..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-[PATCH]: runp->ifa_addr can be NULL. Backport of r24336.
-diff -Narup uClibc-0.9.30.1.orig/libc/inet/getaddrinfo.c uClibc-0.9.30.1/libc/inet/getaddrinfo.c
---- uClibc-0.9.30.1.orig/libc/inet/getaddrinfo.c       2009-02-26 21:49:14.000000000 +0900
-+++ uClibc-0.9.30.1/libc/inet/getaddrinfo.c    2009-03-06 00:59:23.000000000 +0900
-@@ -187,6 +187,8 @@ static unsigned __check_pf(void)
-               }
-               for (runp = ifa; runp != NULL; runp = runp->ifa_next) {
-+                      if (runp->ifa_addr == NULL)
-+                              continue;
- #if defined __UCLIBC_HAS_IPV4__
-                       if (runp->ifa_addr->sa_family == PF_INET)
-                               seen |= SEEN_IPV4;
diff --git a/toolchain/uClibc/uClibc-0.9.30.1-fix-varargs-in-prctl-syscall.patch.avr32 b/toolchain/uClibc/uClibc-0.9.30.1-fix-varargs-in-prctl-syscall.patch.avr32
deleted file mode 100644 (file)
index 8b27a84..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/libc/sysdeps/linux/common/prctl.c
-+++ b/libc/sysdeps/linux/common/prctl.c
-@@ -12,6 +12,24 @@
- /* psm: including sys/prctl.h would depend on kernel headers */
- #ifdef __NR_prctl
--extern int prctl (int, long, long, long, long);
--_syscall5(int, prctl, int, option, long, arg2, long, arg3, long, arg4, long, arg5)
-+#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 = 0;
-+      long arg3 = 0;
-+      long arg4 = 0;
-+      long arg5 = 0;
-+      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 __syscall_prctl(option, arg2, arg3, arg4, arg5);
-+}
- #endif
diff --git a/toolchain/uClibc/uClibc-0.9.30.1-unifdef-getline.patch b/toolchain/uClibc/uClibc-0.9.30.1-unifdef-getline.patch
deleted file mode 100644 (file)
index eb88884..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
---- uClibc-0.9.30.1.orig/extra/scripts/unifdef.c
-+++ uClibc-0.9.30.1/extra/scripts/unifdef.c
-@@ -206,7 +206,7 @@ static void             done(void);
- static void             error(const char *);
- static int              findsym(const char *);
- static void             flushline(bool);
--static Linetype         getline(void);
-+static Linetype         get_line(void);
- static Linetype         ifeval(const char **);
- static void             ignoreoff(void);
- static void             ignoreon(void);
-@@ -512,7 +512,7 @@ process(void)
-       for (;;) {
-               linenum++;
--              lineval = getline();
-+              lineval = get_line();
-               trans_table[ifstate[depth]][lineval]();
-               debug("process %s -> %s depth %d",
-                   linetype_name[lineval],
-@@ -526,7 +526,7 @@ process(void)
-  * help from skipcomment().
-  */
- static Linetype
--getline(void)
-+get_line(void)
- {
-       const char *cp;
-       int cursym;
diff --git a/toolchain/uClibc/uClibc-0.9.30.2-LT-pthread_atfork-unhide.patch b/toolchain/uClibc/uClibc-0.9.30.2-LT-pthread_atfork-unhide.patch
deleted file mode 100644 (file)
index dfe4567..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-From a05c4380c5aaa6e107a4c7e1e5a139ec4cc43f0c Mon Sep 17 00:00:00 2001
-From: Henning Heinold <heinold@inf.fu-berlin.de>
-Date: Sun, 21 Feb 2010 11:55:32 +0100
-Subject: [PATCH 14/15] LT pthread_atfork: unhide
-
-Trying to compile perl with uClibc new linuxthreads on arm.
-I run into the problem that pthread_atfork is not available.
-The problem was that it was synced with the glibc version, which has
-compat ifdefs we do not need in uClibc. The inital checked in version
-is right and works. So either revert the commit 2 years ago
-or patch it with the patch attached I made for openembedded.
-
-Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
-Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
----
- libpthread/linuxthreads/Makefile.in      |    2 +-
- libpthread/linuxthreads/pthread_atfork.c |   13 +++----------
- 2 files changed, 4 insertions(+), 11 deletions(-)
-
-diff --git a/libpthread/linuxthreads/Makefile.in b/libpthread/linuxthreads/Makefile.in
-index 947dea9..d53b5fa 100644
---- a/libpthread/linuxthreads/Makefile.in
-+++ b/libpthread/linuxthreads/Makefile.in
-@@ -45,7 +45,7 @@ pthread_sysdep_SRC := $(patsubst %,$(libpthread_DIR)/sysdeps/pthread/%.c,$(pthre
- pthread_SRC := \
-       attr barrier cancel condvar errno events join pthread \
-       lockfile manager mutex pt-machine ptcleanup \
--      ptclock_gettime ptclock_settime ptfork pthandles \
-+      ptclock_gettime ptclock_settime ptfork pthandles pthread_atfork \
-       pthread_setegid pthread_seteuid pthread_setgid pthread_setregid \
-       pthread_setresgid pthread_setresuid pthread_setreuid pthread_setuid \
-       rwlock semaphore sighandler signals specific spinlock
-diff --git a/libpthread/linuxthreads/pthread_atfork.c b/libpthread/linuxthreads/pthread_atfork.c
-index 2464acb..4c83dd0 100644
---- a/libpthread/linuxthreads/pthread_atfork.c
-+++ b/libpthread/linuxthreads/pthread_atfork.c
-@@ -43,12 +43,8 @@ extern void *__dso_handle __attribute__ ((__weak__));
- /* Hide the symbol so that no definition but the one locally in the
-    executable or DSO is used.  */
--int
--#ifndef __pthread_atfork
--/* Don't mark the compatibility function as hidden.  */
--attribute_hidden
--#endif
--__pthread_atfork (prepare, parent, child)
-+
-+int attribute_hidden __pthread_atfork (prepare, parent, child)
-      void (*prepare) (void);
-      void (*parent) (void);
-      void (*child) (void);
-@@ -56,8 +52,5 @@ __pthread_atfork (prepare, parent, child)
-   return __register_atfork (prepare, parent, child,
-                           &__dso_handle == NULL ? NULL : __dso_handle);
- }
--#ifndef __pthread_atfork
--extern int pthread_atfork (void (*prepare) (void), void (*parent) (void),
--                         void (*child) (void)) attribute_hidden;
-+
- strong_alias (__pthread_atfork, pthread_atfork)
--#endif
--- 
-1.6.6.1
-
diff --git a/toolchain/uClibc/uClibc-0.9.30.2-Make-use-of-macros-from-sys-asm.h-in-crt1.S.patch b/toolchain/uClibc/uClibc-0.9.30.2-Make-use-of-macros-from-sys-asm.h-in-crt1.S.patch
deleted file mode 100644 (file)
index 25b7964..0000000
+++ /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 03/15] 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/toolchain/uClibc/uClibc-0.9.30.2-Makefile.in-Make-install_dev-depend-on-install_runti.patch b/toolchain/uClibc/uClibc-0.9.30.2-Makefile.in-Make-install_dev-depend-on-install_runti.patch
deleted file mode 100644 (file)
index 88c8490..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-From 323453d85ed29ccba7a81d884479188869cd64b7 Mon Sep 17 00:00:00 2001
-From: Henning Heinold <heinold@inf.fu-berlin.de>
-Date: Sat, 23 Jan 2010 21:29:42 -0800
-Subject: [PATCH 13/15] Makefile.in: Make install_dev depend on install_runtime.
-
-* Helps in parallel build.
-
-Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
----
- Makefile.in |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index ec4c28e..a889838 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -370,7 +370,7 @@ ifneq ($(UCLIBC_SUPPORT_AI_ADDRCONFIG),y)
- endif
- # Installs development library links.
--install_dev: install_headers all
-+install_dev: install_headers install_runtime
-       $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)lib
-       -$(INSTALL) -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)lib/
- ifeq ($(HAVE_SHARED),y)
--- 
-1.6.6.1
-
diff --git a/toolchain/uClibc/uClibc-0.9.30.2-Unbreak-build-for-sparc-on-some-config-s.patch b/toolchain/uClibc/uClibc-0.9.30.2-Unbreak-build-for-sparc-on-some-config-s.patch
deleted file mode 100644 (file)
index 21d779a..0000000
+++ /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 08/15] 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/toolchain/uClibc/uClibc-0.9.30.2-avr32-add-varargs-handling-of-prctl-syscall.patch b/toolchain/uClibc/uClibc-0.9.30.2-avr32-add-varargs-handling-of-prctl-syscall.patch
deleted file mode 100644 (file)
index cd22883..0000000
+++ /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 02/15] 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/toolchain/uClibc/uClibc-0.9.30.2-clean-up-O_CLOEXEC-handling.patch b/toolchain/uClibc/uClibc-0.9.30.2-clean-up-O_CLOEXEC-handling.patch
deleted file mode 100644 (file)
index a96707c..0000000
+++ /dev/null
@@ -1,297 +0,0 @@
-From 74ca5695cd9913691192e075449b8be5794d50f0 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Thu, 8 Oct 2009 02:51:55 +0000
-Subject: [PATCH 12/15] clean up O_CLOEXEC handling
-
-Drop the "#ifndef O_CLOEXEC" cruft, enable O_CLOEXEC in most fcntl.h
-headers, and import __ASSUME_O_CLOEXEC from glibc.
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
----
- libc/pwd_grp/lckpwdf.c                     |    8 +++++++-
- libc/sysdeps/linux/alpha/bits/fcntl.h      |    2 --
- libc/sysdeps/linux/arm/bits/fcntl.h        |    2 --
- libc/sysdeps/linux/avr32/bits/fcntl.h      |    1 +
- libc/sysdeps/linux/bfin/bits/fcntl.h       |    2 ++
- libc/sysdeps/linux/cris/bits/fcntl.h       |    1 +
- libc/sysdeps/linux/frv/bits/fcntl.h        |    2 ++
- libc/sysdeps/linux/hppa/bits/fcntl.h       |    1 +
- libc/sysdeps/linux/i386/bits/fcntl.h       |    2 --
- libc/sysdeps/linux/ia64/bits/fcntl.h       |    2 --
- libc/sysdeps/linux/m68k/bits/fcntl.h       |    1 +
- libc/sysdeps/linux/microblaze/bits/fcntl.h |    2 ++
- libc/sysdeps/linux/mips/bits/fcntl.h       |    1 +
- libc/sysdeps/linux/powerpc/bits/fcntl.h    |    2 --
- libc/sysdeps/linux/sh/bits/fcntl.h         |    2 --
- libc/sysdeps/linux/sh64/bits/fcntl.h       |    2 ++
- libc/sysdeps/linux/sparc/bits/fcntl.h      |    2 --
- libc/sysdeps/linux/x86_64/bits/fcntl.h     |    2 --
- libc/sysdeps/linux/xtensa/bits/fcntl.h     |    1 +
- 19 files changed, 21 insertions(+), 17 deletions(-)
-
-diff --git a/libc/pwd_grp/lckpwdf.c b/libc/pwd_grp/lckpwdf.c
-index 0b0fb47..aec6283 100644
---- a/libc/pwd_grp/lckpwdf.c
-+++ b/libc/pwd_grp/lckpwdf.c
-@@ -75,7 +75,7 @@ lckpwdf (void)
-   /* Prevent problems caused by multiple threads.  */
-   __UCLIBC_MUTEX_LOCK(mylock);
--  lock_fd = open (_PATH_PASSWD, O_WRONLY);
-+  lock_fd = open (_PATH_PASSWD, O_WRONLY | O_CLOEXEC);
-   if (lock_fd == -1) {
-     /* Cannot create lock file.  */
-       goto DONE;
-@@ -97,6 +97,12 @@ lckpwdf (void)
-       goto DONE;
-   }
-+#ifndef __ASSUME_O_CLOEXEC
-+    /* Make sure file gets correctly closed when process finished.  */
-+   fcntl (lock_fd, F_SETFD, FD_CLOEXEC);
-+#endif
-+
-+
-   /* Now we have to get exclusive write access.  Since multiple
-      process could try this we won't stop when it first fails.
-      Instead we set a timeout for the system call.  Once the timer
-diff --git a/libc/sysdeps/linux/alpha/bits/fcntl.h b/libc/sysdeps/linux/alpha/bits/fcntl.h
-index 2a6b9ea..649c563 100644
---- a/libc/sysdeps/linux/alpha/bits/fcntl.h
-+++ b/libc/sysdeps/linux/alpha/bits/fcntl.h
-@@ -50,9 +50,7 @@
- # define O_NOFOLLOW   0200000 /* Do not follow links.  */
- # define O_DIRECT     02000000 /* Direct disk access.  */
- # define O_NOATIME    04000000 /* Do not set atime.  */
--# if 0
- # define O_CLOEXEC      010000000 /* Set close_on_exec.  */
--# endif
- #endif
- #ifdef __USE_LARGEFILE64
-diff --git a/libc/sysdeps/linux/arm/bits/fcntl.h b/libc/sysdeps/linux/arm/bits/fcntl.h
-index 86cea4b..7cc5a9d 100644
---- a/libc/sysdeps/linux/arm/bits/fcntl.h
-+++ b/libc/sysdeps/linux/arm/bits/fcntl.h
-@@ -50,9 +50,7 @@
- # define O_NOFOLLOW   0100000 /* Do not follow links.  */
- # define O_DIRECT     0200000 /* Direct disk access.  */
- # define O_NOATIME     01000000 /* Do not set atime.  */
--# if 0
- # define O_CLOEXEC     02000000 /* Set close_on_exec.  */
--# endif
- #endif
- /* For now Linux has synchronisity options for data and read operations.
-diff --git a/libc/sysdeps/linux/avr32/bits/fcntl.h b/libc/sysdeps/linux/avr32/bits/fcntl.h
-index 2301e22..767243e 100644
---- a/libc/sysdeps/linux/avr32/bits/fcntl.h
-+++ b/libc/sysdeps/linux/avr32/bits/fcntl.h
-@@ -30,6 +30,7 @@
- # define O_DIRECTORY  00200000        /* direct disk access */
- # define O_NOFOLLOW   00400000        /* don't follow links */
- # define O_NOATIME    01000000        /* don't set atime */
-+# define O_CLOEXEC    02000000        /* set close_on_exec */
- #endif
- #ifdef __USE_LARGEFILE64
-diff --git a/libc/sysdeps/linux/bfin/bits/fcntl.h b/libc/sysdeps/linux/bfin/bits/fcntl.h
-index 7d0bcf9..aabf94d 100644
---- a/libc/sysdeps/linux/bfin/bits/fcntl.h
-+++ b/libc/sysdeps/linux/bfin/bits/fcntl.h
-@@ -48,6 +48,8 @@
- # define O_DIRECTORY   040000 /* Must be a directory.  */
- # define O_NOFOLLOW   0100000 /* Do not follow links.  */
- # define O_DIRECT     0200000 /* Direct disk access.  */
-+# define O_NOATIME     01000000 /* don't set atime */
-+# define O_CLOEXEC     02000000 /* set close_on_exec *
- #endif
- /* For now Linux has synchronisity options for data and read operations.
-diff --git a/libc/sysdeps/linux/cris/bits/fcntl.h b/libc/sysdeps/linux/cris/bits/fcntl.h
-index a2106ef..29443ba 100644
---- a/libc/sysdeps/linux/cris/bits/fcntl.h
-+++ b/libc/sysdeps/linux/cris/bits/fcntl.h
-@@ -50,6 +50,7 @@
- # define O_DIRECTORY  0200000 /* Must be a directory.  */
- # define O_NOFOLLOW   0400000 /* Do not follow links.  */
- # define O_NOATIME    01000000 /* Do not set atime.  */
-+# define O_CLOEXEC    02000000 /* set close_on_exec */
- #endif
- /* For now Linux has synchronisity options for data and read operations.
-diff --git a/libc/sysdeps/linux/frv/bits/fcntl.h b/libc/sysdeps/linux/frv/bits/fcntl.h
-index 06e8860..5bff4d3 100644
---- a/libc/sysdeps/linux/frv/bits/fcntl.h
-+++ b/libc/sysdeps/linux/frv/bits/fcntl.h
-@@ -45,6 +45,8 @@
- # define O_DIRECT      040000 /* Direct disk access.  */
- # define O_DIRECTORY  0200000 /* Must be a directory.  */
- # define O_NOFOLLOW   0400000 /* Do not follow links.  */
-+# define O_NOATIME     01000000 /* don't set atime */
-+# define O_CLOEXEC     02000000 /* set close_on_exec */
- #endif
- /* For now Linux has synchronisity options for data and read operations.
-diff --git a/libc/sysdeps/linux/hppa/bits/fcntl.h b/libc/sysdeps/linux/hppa/bits/fcntl.h
-index cc23bf8..86e3b6f 100644
---- a/libc/sysdeps/linux/hppa/bits/fcntl.h
-+++ b/libc/sysdeps/linux/hppa/bits/fcntl.h
-@@ -50,6 +50,7 @@
- # define O_DIRECTORY  00010000 /* Must be a directory. */
- # define O_NOFOLLOW   00000200 /* Do not follow links. */
- # define O_NOATIME    04000000 /* Do not set atime. */
-+# define O_CLOEXEC    010000000 /* set close_on_exec */
- #endif
- #ifdef __USE_LARGEFILE64
-diff --git a/libc/sysdeps/linux/i386/bits/fcntl.h b/libc/sysdeps/linux/i386/bits/fcntl.h
-index 7f0b552..22e073b 100644
---- a/libc/sysdeps/linux/i386/bits/fcntl.h
-+++ b/libc/sysdeps/linux/i386/bits/fcntl.h
-@@ -50,9 +50,7 @@
- # define O_DIRECTORY  0200000 /* Must be a directory.  */
- # define O_NOFOLLOW   0400000 /* Do not follow links.  */
- # define O_NOATIME     01000000 /* Do not set atime.  */
--# if 0
- # define O_CLOEXEC     02000000 /* Set close_on_exec.  */
--# endif
- #endif
- /* For now Linux has synchronisity options for data and read operations.
-diff --git a/libc/sysdeps/linux/ia64/bits/fcntl.h b/libc/sysdeps/linux/ia64/bits/fcntl.h
-index d134c4b..85a55f6 100644
---- a/libc/sysdeps/linux/ia64/bits/fcntl.h
-+++ b/libc/sysdeps/linux/ia64/bits/fcntl.h
-@@ -49,9 +49,7 @@
- # define O_DIRECTORY  0200000 /* must be a directory */
- # define O_NOFOLLOW   0400000 /* don't follow links */
- # define O_NOATIME    01000000 /* Do not set atime.  */
--# if 0
- # define O_CLOEXEC    02000000 /* Set close_on_exec.  */
--# endif
- #endif
- #ifdef __USE_LARGEFILE64
-diff --git a/libc/sysdeps/linux/m68k/bits/fcntl.h b/libc/sysdeps/linux/m68k/bits/fcntl.h
-index d36198d..e564b42 100644
---- a/libc/sysdeps/linux/m68k/bits/fcntl.h
-+++ b/libc/sysdeps/linux/m68k/bits/fcntl.h
-@@ -49,6 +49,7 @@
- # define O_NOFOLLOW   0100000 /* Do not follow links.  */
- # define O_DIRECT     0200000 /* Direct disk access.  */
- # define O_NOATIME    01000000 /* Do not set atime.  */
-+# define O_CLOEXEC    02000000 /* set close_on_exec */
- #endif
- /* For now Linux has synchronisity options for data and read operations.
-diff --git a/libc/sysdeps/linux/microblaze/bits/fcntl.h b/libc/sysdeps/linux/microblaze/bits/fcntl.h
-index c8aeb91..da35209 100644
---- a/libc/sysdeps/linux/microblaze/bits/fcntl.h
-+++ b/libc/sysdeps/linux/microblaze/bits/fcntl.h
-@@ -45,6 +45,8 @@
- # define O_DIRECTORY   040000 /* Must be a directory.  */
- # define O_NOFOLLOW   0100000 /* Do not follow links.  */
- # define O_DIRECT     0200000 /* Direct disk access.  */
-+# define O_NOATIME     01000000 /* Do not set atime.  */
-+# define O_CLOEXEC     02000000 /* set close_on_exec */
- #endif
- /* For now Linux has synchronisity options for data and read operations.
-diff --git a/libc/sysdeps/linux/mips/bits/fcntl.h b/libc/sysdeps/linux/mips/bits/fcntl.h
-index ef015a4..f0072fd 100644
---- a/libc/sysdeps/linux/mips/bits/fcntl.h
-+++ b/libc/sysdeps/linux/mips/bits/fcntl.h
-@@ -51,6 +51,7 @@
- # define O_DIRECT     0x8000  /* Direct disk access hint.  */
- # define O_DIRECTORY  0x10000 /* Must be a directory.  */
- # define O_NOATIME    0x40000 /* Do not set atime.  */
-+# define O_CLOEXEC    02000000 /* set close_on_exec */
- #endif
- /* For now Linux has no synchronisity options for data and read operations.
-diff --git a/libc/sysdeps/linux/powerpc/bits/fcntl.h b/libc/sysdeps/linux/powerpc/bits/fcntl.h
-index ceb75b4..0759c6a 100644
---- a/libc/sysdeps/linux/powerpc/bits/fcntl.h
-+++ b/libc/sysdeps/linux/powerpc/bits/fcntl.h
-@@ -50,9 +50,7 @@
- # define O_DIRECTORY   040000 /* Must be a directory.  */
- # define O_NOFOLLOW   0100000 /* Do not follow links.  */
- # define O_NOATIME    01000000 /* Do not set atime.  */
--# if 0
- # define O_CLOEXEC    02000000 /* Set close_on_exec.  */
--# endif
- #endif
- #ifdef __USE_LARGEFILE64
-diff --git a/libc/sysdeps/linux/sh/bits/fcntl.h b/libc/sysdeps/linux/sh/bits/fcntl.h
-index 570484c..adb7377 100644
---- a/libc/sysdeps/linux/sh/bits/fcntl.h
-+++ b/libc/sysdeps/linux/sh/bits/fcntl.h
-@@ -50,9 +50,7 @@
- # define O_DIRECTORY  0200000 /* Must be a directory.  */
- # define O_NOFOLLOW   0400000 /* Do not follow links.  */
- # define O_NOATIME     01000000 /* Do not set atime.  */
--# if 0
- # define O_CLOEXEC     02000000 /* Set close_on_exec.  */
--# endif
- #endif
- /* For now Linux has synchronisity options for data and read operations.
-diff --git a/libc/sysdeps/linux/sh64/bits/fcntl.h b/libc/sysdeps/linux/sh64/bits/fcntl.h
-index 06e8860..245d35a 100644
---- a/libc/sysdeps/linux/sh64/bits/fcntl.h
-+++ b/libc/sysdeps/linux/sh64/bits/fcntl.h
-@@ -45,6 +45,8 @@
- # define O_DIRECT      040000 /* Direct disk access.  */
- # define O_DIRECTORY  0200000 /* Must be a directory.  */
- # define O_NOFOLLOW   0400000 /* Do not follow links.  */
-+# define O_NOATIME     01000000 /* Do not set atime.  */
-+# define O_CLOEXEC     02000000 /* set close_on_exec */
- #endif
- /* For now Linux has synchronisity options for data and read operations.
-diff --git a/libc/sysdeps/linux/sparc/bits/fcntl.h b/libc/sysdeps/linux/sparc/bits/fcntl.h
-index 29c09a9..31a6d9b 100644
---- a/libc/sysdeps/linux/sparc/bits/fcntl.h
-+++ b/libc/sysdeps/linux/sparc/bits/fcntl.h
-@@ -49,9 +49,7 @@
- # define O_NOFOLLOW   0x20000 /* don't follow links */
- # define O_DIRECT     0x100000 /* direct disk access hint */
- # define O_NOATIME    0x200000 /* Do not set atime.  */
--# if 0
- # define O_CLOEXEC    0x400000 /* Set close_on_exit.  */
--# endif
- #endif
- #ifdef __USE_LARGEFILE64
-diff --git a/libc/sysdeps/linux/x86_64/bits/fcntl.h b/libc/sysdeps/linux/x86_64/bits/fcntl.h
-index be00e4a..f1cf388 100644
---- a/libc/sysdeps/linux/x86_64/bits/fcntl.h
-+++ b/libc/sysdeps/linux/x86_64/bits/fcntl.h
-@@ -50,9 +50,7 @@
- # define O_DIRECTORY  0200000 /* Must be a directory.  */
- # define O_NOFOLLOW   0400000 /* Do not follow links.  */
- # define O_NOATIME     01000000 /* Do not set atime.  */
--# if 0
- # define O_CLOEXEC     02000000 /* Set close_on_exec.  */
--# endif
- #endif
- /* For now Linux has synchronisity options for data and read operations.
-diff --git a/libc/sysdeps/linux/xtensa/bits/fcntl.h b/libc/sysdeps/linux/xtensa/bits/fcntl.h
-index a89362e..921a626 100644
---- a/libc/sysdeps/linux/xtensa/bits/fcntl.h
-+++ b/libc/sysdeps/linux/xtensa/bits/fcntl.h
-@@ -50,6 +50,7 @@
- # define O_DIRECTORY  0200000 /* Must be a directory.  */
- # define O_NOFOLLOW   0400000 /* Do not follow links.  */
- # define O_NOATIME     01000000 /* Do not set atime.  */
-+# define O_CLOEXEC     02000000 /* set close_on_exec */
- #endif
- /* For now Linux has synchronisity options for data and read operations.
--- 
-1.6.6.1
-
diff --git a/toolchain/uClibc/uClibc-0.9.30.2-fix-make-install-host-utils.patch b/toolchain/uClibc/uClibc-0.9.30.2-fix-make-install-host-utils.patch
deleted file mode 100644 (file)
index 526dfb1..0000000
+++ /dev/null
@@ -1,153 +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 14:07:31 +0000
-Subject: fix make {,install_}{,host}utils
-
-Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
----
-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
--
---
-cgit v0.8.2.1
diff --git a/toolchain/uClibc/uClibc-0.9.30.2-fstatat-fix-up-behavior-on-32-64-bit-hosts.patch b/toolchain/uClibc/uClibc-0.9.30.2-fstatat-fix-up-behavior-on-32-64-bit-hosts.patch
deleted file mode 100644 (file)
index 52ae2a5..0000000
+++ /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 07/15] 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/toolchain/uClibc/uClibc-0.9.30.2-getdents-Fix-mips64-build.patch b/toolchain/uClibc/uClibc-0.9.30.2-getdents-Fix-mips64-build.patch
deleted file mode 100644 (file)
index 3e5713e..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-From 13545bce877b33e30155fc412ad44cc118d83f77 Mon Sep 17 00:00:00 2001
-From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
-Date: Sat, 30 Jan 2010 00:24:37 +0900
-Subject: [PATCH 15/15] getdents: Fix mips64 build
-
-On Wed, 27 Jan 2010 07:14:08 +0100, Carmelo AMOROSO <carmelo.amoroso@st.com> wrote:
-> I would re-write your patch in a simpler way.
->
-> We already have the following
->
-> 136 #if defined __UCLIBC_HAS_LFS__ && ! defined __NR_getdents64
-> 137 attribute_hidden strong_alias(__getdents,__getdents64)
-> 138 #endif
->
-> I think that it's simpler to move in the proper place this statement.
-
-Thanks, indeed.  If we came into "#elif WORDSIZE == 32" block, above
-condition never be true.  So we can just move this statement out of
-"#if...#elif...#elif...#endif" block.  Here is a revised patch.
-
-------------------------------------------------------
-From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
-Subject: [PATCH] getdents: Fix mips64 build
-
-Some archs (such as mips64) do not have getdents64 syscall but have
-getdents syscall.  Define alias for it.
-
-This fixes regression from 0.9.30.1.
-
-Backgrounds:
-This is once done by commit e8b1c674.  But after the commit 33bcf733
-("Use getdents syscall if kernel provide supports for this instead of
-relying upon getdents64."), if __ASSUME_GETDENTS32_D_TYPE was defined
-the alias for getdents64 is not defined.  The macro
-__ASSUME_GETDENTS32_D_TYPE had been effectively ignored until 0.9.30.1
-but the commit 0f0f20ab ("Move kernel-features.h header from the
-linuxthread directory to a common one...") really enables it.
-
-Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
----
- libc/sysdeps/linux/common/getdents.c |    8 ++++----
- 1 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/libc/sysdeps/linux/common/getdents.c b/libc/sysdeps/linux/common/getdents.c
-index b518cc0..66a03b3 100644
---- a/libc/sysdeps/linux/common/getdents.c
-+++ b/libc/sysdeps/linux/common/getdents.c
-@@ -136,10 +136,6 @@ ssize_t __getdents (int fd, char *buf, size_t nbytes)
-     return (char *) dp - buf;
- }
--#if defined __UCLIBC_HAS_LFS__ && ! defined __NR_getdents64
--attribute_hidden strong_alias(__getdents,__getdents64)
--#endif
--
- #elif __WORDSIZE == 32
- /* Experimentally off - libc_hidden_proto(memmove) */
-@@ -171,4 +167,8 @@ ssize_t __getdents (int fd, char *buf, size_t nbytes)
- }
- #endif
-+#if defined __UCLIBC_HAS_LFS__ && ! defined __NR_getdents64
-+attribute_hidden strong_alias(__getdents,__getdents64)
-+#endif
-+
- #endif
--- 
-1.6.6.1
-
diff --git a/toolchain/uClibc/uClibc-0.9.30.2-host-utils-depend-on-headers.patch b/toolchain/uClibc/uClibc-0.9.30.2-host-utils-depend-on-headers.patch
deleted file mode 100644 (file)
index 39b9642..0000000
+++ /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 06/15] {,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/toolchain/uClibc/uClibc-0.9.30.2-libc-Fix-typo-in-include-rpc.patch b/toolchain/uClibc/uClibc-0.9.30.2-libc-Fix-typo-in-include-rpc.patch
deleted file mode 100644 (file)
index 423617a..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-From b4d6a6e94d87ff2b4ae687a21048833f19b9dd48 Mon Sep 17 00:00:00 2001
-From: Carmelo Amoroso <carmelo.amoroso@st.com>
-Date: Mon, 8 Feb 2010 16:24:06 +0100
-Subject: [PATCH 11/15] libc: Fix typo in include/rpc
-
-s/GNU_SOUCE/GNU_SOURCE/ in include/rcp/
-
-Signed-off-by: Jason Woodward <jason.woodward@timesys.com>
-Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
----
- include/rpc/auth.h  |    4 ++--
- include/rpc/rpc.h   |    4 ++--
- include/rpc/types.h |    4 ++--
- 3 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/include/rpc/auth.h b/include/rpc/auth.h
-index 17eb59f..12297e6 100644
---- a/include/rpc/auth.h
-+++ b/include/rpc/auth.h
-@@ -47,8 +47,8 @@
- #ifndef __FORCE_GLIBC
- #define __FORCE_GLIBC
- #endif
--#ifndef _GNU_SOUCE
--#define _GNU_SOUCE
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE
- #endif
- #define _(X)  X
- #endif
-diff --git a/include/rpc/rpc.h b/include/rpc/rpc.h
-index 8194ffe..219910e 100644
---- a/include/rpc/rpc.h
-+++ b/include/rpc/rpc.h
-@@ -44,8 +44,8 @@
- #ifndef __FORCE_GLIBC
- #define __FORCE_GLIBC
- #endif
--#ifndef _GNU_SOUCE
--#define _GNU_SOUCE
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE
- #endif
- #define _(X)  X
- #include <features.h>
-diff --git a/include/rpc/types.h b/include/rpc/types.h
-index 469576e..05f49c3 100644
---- a/include/rpc/types.h
-+++ b/include/rpc/types.h
-@@ -39,8 +39,8 @@
- #ifndef __FORCE_GLIBC
- #define __FORCE_GLIBC
- #endif
--#ifndef _GNU_SOUCE
--#define _GNU_SOUCE
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE
- #endif
- #define _(X)  X
- #endif
--- 
-1.6.6.1
-
diff --git a/toolchain/uClibc/uClibc-0.9.30.2-libm-enable-log2f-and-exp2f.patch b/toolchain/uClibc/uClibc-0.9.30.2-libm-enable-log2f-and-exp2f.patch
deleted file mode 100644 (file)
index 3b43356..0000000
+++ /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 10/15] 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/toolchain/uClibc/uClibc-0.9.30.2-malloc-fix-race-condition-and-other-bugs-in-the-no-m.patch b/toolchain/uClibc/uClibc-0.9.30.2-malloc-fix-race-condition-and-other-bugs-in-the-no-m.patch
deleted file mode 100644 (file)
index aa9c2f4..0000000
+++ /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 09/15] 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/toolchain/uClibc/uClibc-0.9.30.2-rpc-fix-typo-in-version-mismatch-msg.patch b/toolchain/uClibc/uClibc-0.9.30.2-rpc-fix-typo-in-version-mismatch-msg.patch
deleted file mode 100644 (file)
index f2e1637..0000000
+++ /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 04/15] 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/toolchain/uClibc/uClibc-0.9.30.3-xtensa-000p-fix-procfs.patch b/toolchain/uClibc/uClibc-0.9.30.3-xtensa-000p-fix-procfs.patch
new file mode 100644 (file)
index 0000000..8e62d20
--- /dev/null
@@ -0,0 +1,24 @@
+--- uClibc-0.9.29-orig/libc/sysdeps/linux/xtensa/sys/procfs.h  2007-11-16 23:21:00.000000000 -0800
++++ uClibc-0.9.29/libc/sysdeps/linux/xtensa/sys/procfs.h       2007-11-16 23:26:59.000000000 -0800
+@@ -32,19 +32,11 @@
+ #include <sys/time.h>
+ #include <sys/types.h>
+ #include <sys/user.h>
++#include <asm/elf.h>
+ __BEGIN_DECLS
+-/* Type for a general-purpose register.  */
+-typedef unsigned long elf_greg_t;
+-
+-#define ELF_NGREG 128
+-typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+-
+-/* Register set for the floating-point registers.  */
+-#define ELF_NFPREG 18
+-typedef unsigned long elf_fpreg_t;
+-typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
++/* Note: we get elf_gregset_t and elf_fpregset_t from <asm/elf.h>.  */
+ /* Signal info.  */
+ struct elf_siginfo
diff --git a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-005-sigcontext.patch b/toolchain/uClibc/uClibc-0.9.30.3-xtensa-005-sigcontext.patch
new file mode 100644 (file)
index 0000000..7d7d684
--- /dev/null
@@ -0,0 +1,45 @@
+diff -u /dev/null uClibc-0.9.30/libc/sysdeps/linux/xtensa/bits/sigcontext.h
+--- /dev/null
++++ uClibc-0.9.30/libc/sysdeps/linux/xtensa/bits/sigcontext.h
+@@ -0,0 +1,41 @@
++/* Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
++   Boston, MA 02110-1301, USA.  */
++
++#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
++# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
++#endif
++
++#ifndef _BITS_SIGCONTEXT_H
++#define _BITS_SIGCONTEXT_H 1
++
++struct sigcontext
++{
++  unsigned long sc_pc;
++  unsigned long sc_ps;
++  unsigned long sc_lbeg;
++  unsigned long sc_lend;
++  unsigned long sc_lcount;
++  unsigned long sc_sar;
++  unsigned long sc_acclo;
++  unsigned long sc_acchi;
++  void *sc_xtregs;
++  unsigned long sc_a[16];
++};
++
++#endif /* _BITS_SIGCONTEXT_H */
++
diff --git a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-009-testandset.patch b/toolchain/uClibc/uClibc-0.9.30.3-xtensa-009-testandset.patch
new file mode 100644 (file)
index 0000000..f0e4eb2
--- /dev/null
@@ -0,0 +1,59 @@
+--- uClibc-0.9.29/libpthread/linuxthreads.old/sysdeps/xtensa/pt-machine.h.orig 2008-09-12 09:51:50.000000000 -0700
++++ uClibc-0.9.29/libpthread/linuxthreads.old/sysdeps/xtensa/pt-machine.h      2008-10-04 12:14:57.000000000 -0700
+@@ -26,19 +26,51 @@
+ #include <asm/unistd.h>
+ #ifndef PT_EI
+-# define PT_EI __extern_always_inline
++# define PT_EI extern inline __attribute__ ((gnu_inline))
+ #endif
+-/* Memory barrier.  */
+ #define MEMORY_BARRIER() __asm__ ("memw" : : : "memory")
++#define HAS_COMPARE_AND_SWAP
++
++extern long int testandset (int *spinlock);
++extern int __compare_and_swap (long int *p, long int oldval, long int newval);
+ /* Spinlock implementation; required.  */
+ PT_EI long int
+ testandset (int *spinlock)
+ {
+-  int unused = 0;
+-  return INTERNAL_SYSCALL (xtensa, , 4, SYS_XTENSA_ATOMIC_SET,
+-                         spinlock, 1, unused);
++      unsigned long tmp;
++      __asm__ volatile (
++"     movi    %0, 0                   \n"
++"     wsr     %0, SCOMPARE1           \n"
++"     movi    %0, 1                   \n"
++"     s32c1i  %0, %1, 0               \n"
++      : "=&a" (tmp)
++      : "a" (spinlock)
++      : "memory"
++      );
++      return tmp;
++}
++
++PT_EI int
++__compare_and_swap (long int *p, long int oldval, long int newval)
++{
++        unsigned long tmp;
++        unsigned long value;
++        __asm__ volatile (
++"1:     l32i    %0, %2, 0            \n"
++"       bne     %0, %4, 2f           \n"
++"       wsr     %0, SCOMPARE1        \n"
++"       mov     %1, %0               \n"
++"       mov     %0, %3               \n"
++"       s32c1i  %0, %2, 0            \n"
++"       bne     %1, %0, 1b           \n"
++"2:                                  \n"
++          : "=&a" (tmp), "=&a" (value)
++          : "a" (p), "a" (newval), "a" (oldval)
++          : "memory" );
++
++        return tmp == oldval;
+ }
+ /* Get some notion of the current stack.  Need not be exactly the top
diff --git a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-010-sigaction.c.patch b/toolchain/uClibc/uClibc-0.9.30.3-xtensa-010-sigaction.c.patch
new file mode 100644 (file)
index 0000000..5717c25
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/libc/sysdeps/linux/xtensa/sigaction.c    2008-09-23 21:11:02.000000000 -0700
++++ b/libc/sysdeps/linux/xtensa/sigaction.c    2008-09-23 21:12:31.000000000 -0700
+@@ -17,6 +17,8 @@
+ #define SA_RESTORER   0x04000000      
++extern __typeof(sigaction) __libc_sigaction;
++
+ extern void __default_sa_restorer (void);
+ libc_hidden_proto(memcpy)
diff --git a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-011-sysdep.h.patch b/toolchain/uClibc/uClibc-0.9.30.3-xtensa-011-sysdep.h.patch
new file mode 100644 (file)
index 0000000..692b0a7
--- /dev/null
@@ -0,0 +1,19 @@
+--- a/libc/sysdeps/linux/xtensa/sysdep.h       2008-09-23 21:17:42.000000000 -0700
++++ b/libc/sysdeps/linux/xtensa/sysdep.h       2008-09-23 21:17:59.000000000 -0700
+@@ -114,15 +114,7 @@
+ #define ret_ERRVAL retw
+-#if RTLD_PRIVATE_ERRNO
+-# define SYSCALL_ERROR_HANDLER                                                      \
+-0:    movi    a4, rtld_errno;                                               \
+-      neg     a2, a2;                                                       \
+-      s32i    a2, a4, 0;                                                    \
+-      movi    a2, -1;                                                       \
+-      j       .Lpseudo_end;
+-
+-#elif defined _LIBC_REENTRANT
++#if defined _LIBC_REENTRANT
+ # if USE___THREAD
+ #  ifndef NOT_IN_libc
diff --git a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-012-fnmatch_old.c.patch b/toolchain/uClibc/uClibc-0.9.30.3-xtensa-012-fnmatch_old.c.patch
new file mode 100644 (file)
index 0000000..66cb1f6
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/libc/misc/fnmatch/fnmatch_old.c  2008-09-23 21:23:13.000000000 -0700
++++ b/libc/misc/fnmatch/fnmatch_old.c  2008-09-23 21:23:33.000000000 -0700
+@@ -15,7 +15,7 @@
+ not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+ Cambridge, MA 02139, USA.  */
+-#if HAVE_CONFIG_H
++#ifdef HAVE_CONFIG_H
+ # include <config.h>
+ #endif
diff --git a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-013-atomic.h.patch b/toolchain/uClibc/uClibc-0.9.30.3-xtensa-013-atomic.h.patch
new file mode 100644 (file)
index 0000000..fd20371
--- /dev/null
@@ -0,0 +1,165 @@
+--- /dev/null  2008-09-18 06:50:54.356228028 -0700
++++ uClibc-0.9.29/libc/sysdeps/linux/xtensa/bits/atomic.h      2008-10-04 11:40:21.000000000 -0700
+@@ -0,0 +1,162 @@
++/*
++ * Copyright (C) 2008 Tensilica, Inc.
++ * Contributed by Joe Taylor <joe@tensilica.com> 2008
++ *
++ * 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.
++ */
++
++#ifndef _XTENSA_BITS_ATOMIC_H
++#define _XTENSA_BITS_ATOMIC_H  1
++
++/* Xtensa has only a 32-bit form of a store-conditional instruction,
++   so just stub out the rest. */
++
++/* Atomically store NEWVAL in *MEM if *MEM is equal to OLDVAL.
++   Return the old *MEM value.  */
++
++#define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval)  \
++  ({__typeof__(*(mem)) __tmp, __value;                               \
++    __asm__ __volatile__(                                            \
++      "1:     l32i    %1, %2, 0               \n"                    \
++      "       bne     %1, %4, 2f              \n"                    \
++      "       wsr     %1, SCOMPARE1           \n"                    \
++      "       mov     %0, %1                  \n"                    \
++      "       mov     %1, %3                  \n"                    \
++      "       s32c1i  %1, %2, 0               \n"                    \
++      "       bne     %0, %1, 1b              \n"                    \
++      "2:                                     \n"                    \
++      : "=&a" (__value), "=&a" (__tmp)                               \
++      : "a" (mem), "a" (newval), "a" (oldval)                        \
++      : "memory" );                                                  \
++    __tmp;                                                           \
++  })
++
++/* Atomically store NEWVAL in *MEM if *MEM is equal to OLDVAL.
++   Return zero if *MEM was changed or non-zero if no exchange happened.  */
++
++#define __arch_compare_and_exchange_bool_32_acq(mem, newval, oldval) \
++  ({__typeof__(*(mem)) __tmp, __value;                               \
++    __asm__ __volatile__(                                            \
++      "1:     l32i    %0, %2, 0               \n"                    \
++      "       sub     %1, %4, %0              \n"                    \
++      "       bnez    %1, 2f                  \n"                    \
++      "       wsr     %0, SCOMPARE1           \n"                    \
++      "       mov     %1, %3                  \n"                    \
++      "       s32c1i  %1, %2, 0               \n"                    \
++      "       bne     %0, %1, 1b              \n"                    \
++      "       movi    %1, 0                   \n"                    \
++      "2:                                     \n"                    \
++      : "=&a" (__value), "=&a" (__tmp)                               \
++      : "a" (mem), "a" (newval), "a" (oldval)                        \
++      : "memory" );                                                  \
++    __tmp != 0;                                                      \
++  })
++
++/* Store NEWVALUE in *MEM and return the old value.  */
++
++#define __arch_exchange_32_acq(mem, newval)                          \
++  ({__typeof__(*(mem)) __tmp, __value;                               \
++    __asm__ __volatile__(                                            \
++      "1:     l32i    %0, %2, 0               \n"                    \
++      "       wsr     %0, SCOMPARE1           \n"                    \
++      "       mov     %1, %3                  \n"                    \
++      "       s32c1i  %1, %2, 0               \n"                    \
++      "       bne     %0, %1, 1b              \n"                    \
++      : "=&a" (__value), "=&a" (__tmp)                               \
++      : "a" (mem), "a" (newval)                                      \
++      : "memory" );                                                  \
++    __tmp;                                                           \
++  })
++
++/* Add VALUE to *MEM and return the old value of *MEM.  */
++
++#define __arch_atomic_exchange_and_add_32(mem, value)                \
++  ({__typeof__(*(mem)) __tmp, __value;                               \
++    __asm__ __volatile__(                                            \
++      "1:     l32i    %0, %2, 0               \n"                    \
++      "       wsr     %0, SCOMPARE1           \n"                    \
++      "       add     %1, %0, %3              \n"                    \
++      "       s32c1i  %1, %2, 0               \n"                    \
++      "       bne     %0, %1, 1b              \n"                    \
++      : "=&a" (__value), "=&a" (__tmp)                               \
++      : "a" (mem), "a" (value)                                       \
++      : "memory" );                                                  \
++    __tmp;                                                           \
++  })
++
++/* Subtract VALUE from *MEM and return the old value of *MEM.  */
++
++#define __arch_atomic_exchange_and_sub_32(mem, value)                \
++  ({__typeof__(*(mem)) __tmp, __value;                               \
++    __asm__ __volatile__(                                            \
++      "1:     l32i    %0, %2, 0               \n"                    \
++      "       wsr     %0, SCOMPARE1           \n"                    \
++      "       sub     %1, %0, %3              \n"                    \
++      "       s32c1i  %1, %2, 0               \n"                    \
++      "       bne     %0, %1, 1b              \n"                    \
++      : "=&a" (__value), "=&a" (__tmp)                               \
++      : "a" (mem), "a" (value)                                       \
++      : "memory" );                                                  \
++    __tmp;                                                           \
++  })
++
++/* Decrement *MEM if it is > 0, and return the old value.  */
++
++#define __arch_atomic_decrement_if_positive_32(mem)                  \
++  ({__typeof__(*(mem)) __tmp, __value;                               \
++    __asm__ __volatile__(                                            \
++      "1:     l32i    %0, %2, 0               \n"                    \
++      "       blti    %0, 1, 2f               \n"                    \
++      "       wsr     %0, SCOMPARE1           \n"                    \
++      "       addi    %1, %0, -1              \n"                    \
++      "       s32c1i  %1, %2, 0               \n"                    \
++      "       bne     %0, %1, 1b              \n"                    \
++      "2:                                     \n"                    \
++      : "=&a" (__value), "=&a" (__tmp)                               \
++      : "a" (mem)                                                    \
++      : "memory" );                                                  \
++    __tmp;                                                           \
++  })
++
++
++/* These are the preferred public interfaces: */
++
++#define atomic_compare_and_exchange_val_acq(mem, newval, oldval)     \
++  ({                                                                 \
++    if (sizeof (*mem) != 4)                                          \
++      abort();                                                       \
++    __arch_compare_and_exchange_val_32_acq(mem, newval, oldval);     \
++  })
++
++#define atomic_exchange_acq(mem, newval)                             \
++  ({                                                                 \
++    if (sizeof(*(mem)) != 4)                                         \
++      abort();                                                       \
++    __arch_exchange_32_acq(mem, newval);                             \
++  })
++
++#define atomic_exchange_and_add(mem, newval)                         \
++  ({                                                                 \
++    if (sizeof(*(mem)) != 4)                                         \
++      abort();                                                       \
++    __arch_atomic_exchange_and_add_32(mem, newval);                  \
++  })
++
++#define atomic_exchange_and_sub(mem, newval)                         \
++  ({                                                                 \
++    if (sizeof(*(mem)) != 4)                                         \
++      abort();                                                       \
++    __arch_atomic_exchange_and_sub_32(mem, newval);                  \
++  })
++
++#define atomic_decrement_if_positive(mem)                            \
++  ({                                                                 \
++    if (sizeof(*(mem)) != 4)                                         \
++      abort();                                                       \
++    __arch_atomic_decrement_if_positive_32(mem);                     \
++  })
++
++#endif /* _XTENSA_BITS_ATOMIC_H */
++
diff --git a/toolchain/uClibc/uClibc-0.9.30.3-xtensa-014-setjump.S.patch b/toolchain/uClibc/uClibc-0.9.30.3-xtensa-014-setjump.S.patch
new file mode 100644 (file)
index 0000000..720b44b
--- /dev/null
@@ -0,0 +1,11 @@
+--- uClibc-0.9.30/libc/sysdeps/linux/xtensa/setjmp.S.orig      2009-05-01 16:57:16.195893000 -0700
++++ uClibc-0.9.30/libc/sysdeps/linux/xtensa/setjmp.S   2009-05-01 16:58:03.885160000 -0700
+@@ -86,7 +86,7 @@ ENTRY (__sigsetjmp)
+       /* Copy 0-8 words from the register overflow area.  */
+       extui   a3, a0, 30, 2
+       blti    a3, 2, .Lendsj
+-      l32i    a7, a1, 4
++      l32i    a7, a5, 4
+       slli    a4, a3, 4
+       sub     a5, a7, a4
+       addi    a6, a2, 16