commit a45777479c8c2950aed0b0fe1ced74b6c4d45057 Author: Khem Raj 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 (cherry picked from commit 9c343fd4030dcd7a52616f365893177dded50346) Signed-off-by: Carmelo Amoroso Index: 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 13:22:31.000000000 -0800 +++ uClibc-0.9.30.2/libc/sysdeps/linux/mips/crt1.S 2010-01-21 22:07:44.385612531 -0800 @@ -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 @@ -148,4 +129,3 @@ .weak data_start data_start = __data_start -