diff options
Diffstat (limited to 'toolchain/uClibc/patches')
-rw-r--r-- | toolchain/uClibc/patches/100-signal_handler_crash_workaround.patch | 13 | ||||
-rw-r--r-- | toolchain/uClibc/patches/110-mips_pipe.patch | 27 | ||||
-rw-r--r-- | toolchain/uClibc/patches/gcc4.0-fix.patch | 23 | ||||
-rw-r--r-- | toolchain/uClibc/patches/inet6_hosts_resolve.patch | 24 |
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) { |