From b3b48218d1d31b4f6c2675524ae1062fc3bd6a20 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 30 Jan 2010 11:26:38 +0100 Subject: update uclibc to latest upstream version MIPS problem is solved, no extension patch needed anymore. uClibc can be compiled again with optimization for size. getline patch is already included upstream. New patch backported from uclibc-current, to compile fastat on 64 Bit Host and Target. ICE for Etrax also fixed. --- toolchain/uClibc/patches/mips.patch | 66 +++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 toolchain/uClibc/patches/mips.patch (limited to 'toolchain/uClibc/patches/mips.patch') diff --git a/toolchain/uClibc/patches/mips.patch b/toolchain/uClibc/patches/mips.patch new file mode 100644 index 000000000..59bf5963c --- /dev/null +++ b/toolchain/uClibc/patches/mips.patch @@ -0,0 +1,66 @@ +diff -Nur uClibc-0.9.30.2.orig/libc/sysdeps/linux/mips/crt1.S uClibc-0.9.30.2/libc/sysdeps/linux/mips/crt1.S +--- uClibc-0.9.30.2.orig/libc/sysdeps/linux/mips/crt1.S 2010-01-13 22:22:31.000000000 +0100 ++++ uClibc-0.9.30.2/libc/sysdeps/linux/mips/crt1.S 2010-01-24 20:33:06.297867491 +0100 +@@ -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 @@ + /* 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 +- -- cgit v1.2.3