123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- 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
- -
|