summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc/sysdeps/linux/powerpc/crt1.S7
1 files changed, 3 insertions, 4 deletions
diff --git a/libc/sysdeps/linux/powerpc/crt1.S b/libc/sysdeps/linux/powerpc/crt1.S
index a97b0d142..eef12faf0 100644
--- a/libc/sysdeps/linux/powerpc/crt1.S
+++ b/libc/sysdeps/linux/powerpc/crt1.S
@@ -40,9 +40,8 @@
.type __uClibc_main,%function
_start:
- mr r10,r1 /* Save the stack pointer */
+ mr r9,r1 /* Save the stack pointer and pass it to __uClibc_main */
clrrwi r1,r1,4 /* Align stack ptr to 16 bytes */
- mr r9,r1 /* Pass aligned stack ptr */
#ifdef __PIC__
bl _GLOBAL_OFFSET_TABLE_-4@local
mflr r31
@@ -53,9 +52,9 @@ _start:
mtlr r0
stw r0,0(r1)
/* find argc from the stack pointer */
- lwz r4,0(r10)
+ lwz r4,0(r9)
/* find argv one word offset from the stack pointer */
- addi r5,r10,4
+ addi r5,r9,4
mr r8,r7 /* Pass _dl_fini from ldso or NULL if statically linked */
/* Ok, now run uClibc's main() -- shouldn't return */
#ifdef __PIC__