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 | |
| parent | d7ef0f73170a1b40741767aa3c75fcaebf013e95 (diff) | |
Fix PPC wrt new __uClibc_start_main.
Diffstat (limited to 'libc')
| -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  | 
