aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/uClibc
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/uClibc')
-rw-r--r--toolchain/uClibc/Makefile2
-rw-r--r--toolchain/uClibc/files/config.mips10
-rw-r--r--toolchain/uClibc/patches/100-signal_handler_crash_workaround.patch13
-rw-r--r--toolchain/uClibc/patches/110-mips_pipe.patch27
-rw-r--r--toolchain/uClibc/patches/gcc4.0-fix.patch23
-rw-r--r--toolchain/uClibc/patches/inet6_hosts_resolve.patch24
6 files changed, 50 insertions, 49 deletions
diff --git a/toolchain/uClibc/Makefile b/toolchain/uClibc/Makefile
index e5f8d44f04..4c1e32eefa 100644
--- a/toolchain/uClibc/Makefile
+++ b/toolchain/uClibc/Makefile
@@ -14,7 +14,7 @@ UCLIBC_SOURCE:=uClibc-$(strip $(subst ",, $(BR2_USE_UCLIBC_SNAPSHOT))).tar.bz2
UCLIBC_SITE:=http://www.uclibc.org/downloads/snapshots
UCLIBC_VER:=PKG_VERSION:=0.${shell date +"%G%m%d"}
else
-UCLIBC_VER:=0.9.27
+UCLIBC_VER:=0.9.28
UCLIBC_DIR:=$(TOOL_BUILD_DIR)/uClibc-$(UCLIBC_VER)
UCLIBC_SOURCE:=uClibc-$(UCLIBC_VER).tar.bz2
UCLIBC_SITE:=http://www.uclibc.org/downloads
diff --git a/toolchain/uClibc/files/config.mips b/toolchain/uClibc/files/config.mips
index 32859af165..8c94447789 100644
--- a/toolchain/uClibc/files/config.mips
+++ b/toolchain/uClibc/files/config.mips
@@ -17,8 +17,10 @@ TARGET_mips=y
# TARGET_nios2 is not set
# TARGET_powerpc is not set
# TARGET_sh is not set
+# TARGET_sh64 is not set
# TARGET_sparc is not set
# TARGET_v850 is not set
+# TARGET_x86_64 is not set
#
# Target Architecture Features and Options
@@ -41,7 +43,6 @@ ARCH_HAS_MMU=y
UCLIBC_HAS_FLOATS=y
HAS_FPU=y
DO_C99_MATH=y
-WARNINGS="-Wall"
KERNEL_SOURCE="./toolchain_build_mipsel/linux"
C_SYMBOL_PREFIX=""
HAVE_DOT_CONFIG=y
@@ -60,11 +61,14 @@ LDSO_LDD_SUPPORT=y
LDSO_CACHE_SUPPORT=y
# LDSO_PRELOAD_FILE_SUPPORT is not set
LDSO_BASE_FILENAME="ld.so"
+# LDSO_RUNPATH is not set
+# DL_FINI_CRT_COMPAT is not set
UCLIBC_CTOR_DTOR=y
# HAS_NO_THREADS is not set
UCLIBC_HAS_THREADS=y
# PTHREADS_DEBUG_SUPPORT is not set
UCLIBC_HAS_LFS=y
+# UCLIBC_STATIC_LDCONFIG is not set
# MALLOC is not set
# MALLOC_SIMPLE is not set
MALLOC_STANDARD=y
@@ -112,6 +116,7 @@ UCLIBC_HAS_STDIO_BUFSIZ_4096=y
UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
+# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
UCLIBC_HAS_STDIO_GETC_MACRO=y
UCLIBC_HAS_STDIO_PUTC_MACRO=y
UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
@@ -148,8 +153,11 @@ DEVEL_PREFIX="/usr/"
#
# uClibc development/debugging options
#
+CROSS_COMPILER_PREFIX=""
# DODEBUG is not set
+# DODEBUG_PT is not set
# DOASSERTS is not set
# SUPPORT_LD_DEBUG is not set
# SUPPORT_LD_DEBUG_EARLY is not set
+WARNINGS="-Wall"
# UCLIBC_MJN3_ONLY is not set
diff --git a/toolchain/uClibc/patches/100-signal_handler_crash_workaround.patch b/toolchain/uClibc/patches/100-signal_handler_crash_workaround.patch
new file mode 100644
index 0000000000..72cdb7212e
--- /dev/null
+++ b/toolchain/uClibc/patches/100-signal_handler_crash_workaround.patch
@@ -0,0 +1,13 @@
+diff -ur uClibc-0.9.28/libc/sysdeps/linux/mips/sigaction.c uClibc-0.9.28.openwrt/libc/sysdeps/linux/mips/sigaction.c
+--- uClibc-0.9.28/libc/sysdeps/linux/mips/sigaction.c 2005-08-18 00:49:44.000000000 +0200
++++ uClibc-0.9.28.openwrt/libc/sysdeps/linux/mips/sigaction.c 2005-10-20 13:19:05.000000000 +0200
+@@ -49,7 +49,8 @@
+ memcpy (&kact.sa_mask, &act->sa_mask, sizeof (kact.sa_mask));
+ kact.sa_flags = act->sa_flags;
+
+- kact.sa_flags = act->sa_flags | SA_RESTORER;
++/* http://bugs.uclibc.org/view.php?id=480
++ kact.sa_flags = act->sa_flags | SA_RESTORER; */
+ #ifdef HAVE_SA_RESTORER
+ kact.sa_restorer = act->sa_restorer;
+ #endif
diff --git a/toolchain/uClibc/patches/110-mips_pipe.patch b/toolchain/uClibc/patches/110-mips_pipe.patch
new file mode 100644
index 0000000000..734310f07e
--- /dev/null
+++ b/toolchain/uClibc/patches/110-mips_pipe.patch
@@ -0,0 +1,27 @@
+diff -ur uClibc-0.9.28/libc/sysdeps/linux/mips/pipe.S uClibc-0.9.28.openwrt/libc/sysdeps/linux/mips/pipe.S
+--- uClibc-0.9.28/libc/sysdeps/linux/mips/pipe.S 2005-08-18 00:49:44.000000000 +0200
++++ uClibc-0.9.28.openwrt/libc/sysdeps/linux/mips/pipe.S 2005-10-20 12:34:52.000000000 +0200
+@@ -10,22 +10,17 @@
+ .globl pipe
+ .ent pipe, 0
+ pipe:
+- addiu sp,sp,-24
+- sw a0,16(sp)
+ li v0,__NR_pipe
+ syscall
+ beqz a3, 1f
+- la t3, errno
+- sw v0, (t3)
++ sw v0, errno
+ li v0, -1
+ b 2f
+ 1:
+- lw a0, 16(sp)
+ sw v0, 0(a0)
+ sw v1, 4(a0)
+ li v0, 0
+ 2:
+- addiu sp,sp,24
+ j ra
+ .end pipe
+ .size pipe,.-pipe
diff --git a/toolchain/uClibc/patches/gcc4.0-fix.patch b/toolchain/uClibc/patches/gcc4.0-fix.patch
deleted file mode 100644
index 1dd50ce03c..0000000000
--- a/toolchain/uClibc/patches/gcc4.0-fix.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -urN uClibc-0.9.27.old/ldso/include/ldso.h uClibc-0.9.27.dev/ldso/include/ldso.h
---- uClibc-0.9.27.old/ldso/include/ldso.h 2005-01-12 08:59:21.000000000 +0100
-+++ uClibc-0.9.27.dev/ldso/include/ldso.h 2005-04-29 17:44:05.000000000 +0200
-@@ -42,8 +42,6 @@
- extern char *_dl_preload; /* Things to be loaded before the libs */
- extern char *_dl_ldsopath; /* Where the shared lib loader was found */
- extern const char *_dl_progname; /* The name of the executable being run */
--extern unsigned char *_dl_malloc_addr; /* Lets _dl_malloc use the already allocated memory page */
--extern unsigned char *_dl_mmap_zero; /* Also used by _dl_malloc */
- extern int _dl_secure; /* Are we dealing with setuid stuff? */
- extern size_t _dl_pagesize; /* Store the page size for use later */
- extern const char *_dl_progname; /* The name of the shared library loader */
-diff -urN uClibc-0.9.27.old/libc/stdlib/malloc-standard/free.c uClibc-0.9.27.dev/libc/stdlib/malloc-standard/free.c
---- uClibc-0.9.27.old/libc/stdlib/malloc-standard/free.c 2005-01-12 08:59:21.000000000 +0100
-+++ uClibc-0.9.27.dev/libc/stdlib/malloc-standard/free.c 2005-04-29 17:46:43.000000000 +0200
-@@ -16,6 +16,7 @@
-
- #include "malloc.h"
-
-+static int __malloc_trim(size_t pad, mstate av);
-
- /* ------------------------- malloc_trim -------------------------
- malloc_trim(size_t pad);
diff --git a/toolchain/uClibc/patches/inet6_hosts_resolve.patch b/toolchain/uClibc/patches/inet6_hosts_resolve.patch
deleted file mode 100644
index fd1aaa1d25..0000000000
--- a/toolchain/uClibc/patches/inet6_hosts_resolve.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -urN uClibc-0.9.27.old/libc/inet/resolv.c uClibc-0.9.27/libc/inet/resolv.c
---- uClibc-0.9.27.old/libc/inet/resolv.c 2005-01-12 08:59:21.000000000 +0100
-+++ uClibc-0.9.27/libc/inet/resolv.c 2005-04-04 22:14:38.000000000 +0200
-@@ -2029,7 +2029,7 @@
- int old_errno = errno; /* Save the old errno and reset errno */
- __set_errno(0); /* to check for missing /etc/hosts. */
-
-- if ((i=__get_hosts_byname_r(name, AF_INET, result_buf,
-+ if ((i=__get_hosts_byname_r(name, AF_INET6, result_buf,
- buf, buflen, result, h_errnop))==0)
- return i;
- switch (*h_errnop) {
-diff -urN uClibc-0.9.27.old/libc/inet/resolv.c uClibc-0.9.27/libc/inet/resolv.c
---- uClibc-0.9.27.old/libc/inet/resolv.c 2005-04-04 22:16:54.000000000 +0200
-+++ uClibc-0.9.27/libc/inet/resolv.c 2005-04-04 22:46:59.000000000 +0200
-@@ -1513,7 +1513,7 @@
- } else {
- DPRINTF("Error\n");
- ret=TRY_AGAIN;
-- break; /* bad ip address */
-+ continue; /* bad ip address, ignore */
- }
-
- if (action!=GETHOSTENT) {