aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/uClibc/patches
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/uClibc/patches')
-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
4 files changed, 40 insertions, 47 deletions
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) {