diff options
author | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2005-05-26 22:27:40 +0000 |
---|---|---|
committer | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2005-05-26 22:27:40 +0000 |
commit | d1c09d398c53eb256db8860d9c36c913d0d1b474 (patch) | |
tree | bc6541814c1e447e419c30a2b985911a9e92c71d /libc/sysdeps/linux/powerpc/crt1.S | |
parent | d7ef0f73170a1b40741767aa3c75fcaebf013e95 (diff) |
Fix PPC wrt new __uClibc_start_main.
Diffstat (limited to 'libc/sysdeps/linux/powerpc/crt1.S')
-rw-r--r-- | libc/sysdeps/linux/powerpc/crt1.S | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/libc/sysdeps/linux/powerpc/crt1.S b/libc/sysdeps/linux/powerpc/crt1.S index a1aa96a9c..004114b8d 100644 --- a/libc/sysdeps/linux/powerpc/crt1.S +++ b/libc/sysdeps/linux/powerpc/crt1.S @@ -58,23 +58,18 @@ _start: lwz r4,0(r9) /* find argv one word offset from the stack pointer */ addi r5,r9,4 - /* find environment pointer (argv+argc+1) */ - lwz r6,0(r9) - addi r6,r6,1 - rlwinm r6,r6,2,0,29 - add r6,r6,r5 - mr r9,r7 /* Pass _dl_fini from ldso or NULL if statically linked */ + mr r8,r7 /* Pass _dl_fini from ldso or NULL if statically linked */ /* Ok, now run uClibc's main() -- shouldn't return */ # ifdef L_Scrt1 - lwz r7,_init@got(r31) - lwz r8,_fini@got(r31) + lwz r6,_init@got(r31) + lwz r7,_fini@got(r31) lwz r3,main@got(r31) b __uClibc_start_main@plt # else - lis r7,_init@ha # load top 16 bits - addi r7,r7,_init@l # load bottom 16 bits - lis r8,_fini@ha # load top 16 bits - addi r8,r8,_fini@l # load bottom 16 bits + lis r6,_init@ha # load top 16 bits + addi r6,r6,_init@l # load bottom 16 bits + lis r7,_fini@ha # load top 16 bits + addi r7,r7,_fini@l # load bottom 16 bits lis r3,main@ha # load top 16 bits addi r3,r3,main@l # load bottom 16 bits b __uClibc_start_main |