Mercurial > hg > aboriginal
changeset 1018:e2f4f7431ec4
Upgrade to uClibc 0.9.30.3.
author | Rob Landley <rob@landley.net> |
---|---|
date | Sun, 28 Mar 2010 15:12:23 -0500 |
parents | 58d61ccd3f3b |
children | dab0e08d2de8 |
files | download.sh sources/patches/uClibc-fixmips.patch sources/patches/uClibc-mips64.patch sources/patches/uClibc-realpath.patch sources/patches/uClibc-sigaction.patch |
diffstat | 5 files changed, 2 insertions(+), 216 deletions(-) [+] |
line wrap: on
line diff
--- a/download.sh Sun Mar 28 13:48:48 2010 -0500 +++ b/download.sh Sun Mar 28 15:12:23 2010 -0500 @@ -26,8 +26,8 @@ UNSTABLE=http://kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.32-rc7.tar.bz2 \ maybe_fork "download || dienow" -URL=http://www.uclibc.org/downloads/uClibc-0.9.30.2.tar.bz2 \ -SHA1=a956b1c37e3163c961dad7fdf96b6d4c7e176d1f \ +URL=http://www.uclibc.org/downloads/uClibc-0.9.30.3.tar.bz2 \ +SHA1=6856b5c0ed4134a555c408d4b0bd9a098b7f1cca \ UNSTABLE=http://uclibc.org/downloads/uClibc-snapshot.tar.bz2 \ maybe_fork "download || dienow"
--- a/sources/patches/uClibc-fixmips.patch Sun Mar 28 13:48:48 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ -This is half of the following commit, which fixes mips. (The rest is TLS -stuff, not applicable here, and doesn't apply anyway.) - -commit a45777479c8c2950aed0b0fe1ced74b6c4d45057 -Author: Khem Raj <raj.khem@gmail.com> -Date: Tue Jan 12 17:51:32 2010 -0800 - - mips/nptl: Pass correct parameters to dl_find_hash when resolving TLS relocations. - - Make use of macros from sys/asm.h in crt1.S - These two changes are needed for mips nptl to boot once again. - - Signed-off-by: Khem Raj <raj.khem@gmail.com> - (cherry picked from commit 9c343fd4030dcd7a52616f365893177dded50346) - - Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com> - -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 - --
--- a/sources/patches/uClibc-mips64.patch Sun Mar 28 13:48:48 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -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> ---- - 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 6a38772..5dda190 100644 ---- a/libc/sysdeps/linux/common/getdents.c -+++ b/libc/sysdeps/linux/common/getdents.c -@@ -133,10 +133,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) */ -@@ -167,4 +163,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
--- a/sources/patches/uClibc-realpath.patch Sun Mar 28 13:48:48 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -Add cheesy malloc() support to realpath(). Still limited to PATH_MAX, but eh. - -diff -ur uClibc/libc/stdlib/realpath.c uClibc.new/libc/stdlib/realpath.c ---- uClibc/libc/stdlib/realpath.c 2008-06-04 09:02:56.000000000 -0500 -+++ uClibc.new/libc/stdlib/realpath.c 2009-10-25 13:17:42.000000000 -0500 -@@ -55,7 +55,7 @@ - char *max_path; - char *new_path; - size_t path_len; -- int readlinks = 0; -+ int readlinks = 0, allocated = 0; - #ifdef S_IFLNK - int link_len; - #endif -@@ -68,6 +68,10 @@ - __set_errno(ENOENT); - return NULL; - } -+ if (!got_path) { -+ got_path = alloca(PATH_MAX); -+ allocated ++; -+ } - /* Make a copy of the source path since we may need to modify it. */ - path_len = strlen(path); - if (path_len >= PATH_MAX - 2) { -@@ -168,5 +172,6 @@ - new_path--; - /* Make sure it's null terminated. */ - *new_path = '\0'; -+ if (allocated) got_path = strdup(got_path); - return got_path; - } -diff -ur uClibc/include/stdlib.h uClibc2/include/stdlib.h ---- uClibc/include/stdlib.h 2008-09-11 11:17:43.000000000 -0500 -+++ uClibc2/include/stdlib.h 2009-10-26 03:43:36.000000000 -0500 -@@ -637,7 +637,7 @@ - name in RESOLVED. */ - /* we choose to handle __resolved==NULL as crash :) */ - extern char *realpath (__const char *__restrict __name, -- char *__restrict __resolved) __THROW __wur __nonnull((2)); -+ char *__restrict __resolved) __wur; - #endif - -
--- a/sources/patches/uClibc-sigaction.patch Sun Mar 28 13:48:48 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -Fix sparc build break. See: - - http://lists.uclibc.org/pipermail/uclibc/2010-February/043563.html - -for details. - ---- uClibc/libc/sysdeps/linux/sparc/sigaction.c 2010-01-13 15:22:31.000000000 -0600 -+++ uClibc.bak/libc/sysdeps/linux/sparc/sigaction.c 2010-02-01 03:06:43.000000000 -0600 -@@ -34,7 +34,8 @@ - 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; -@@ -64,11 +65,13 @@ - } - return ret; - } -+libc_hidden_def(sigaction) -+weak_alias(sigaction,__libc_sigaction) - --#ifndef LIBC_SIGACTION --weak_alias(__libc_sigaction,sigaction) --libc_hidden_weak(sigaction) --#endif -+//#ifndef LIBC_SIGACTION -+//weak_alias(__libc_sigaction,sigaction) -+//libc_hidden_weak(sigaction) -+//#endif - - static void - __rt_sigreturn_stub(void)