Yet another victim of the bizarre ELF startup format...

diff --git a/arch/ppc/crt0.S b/arch/ppc/crt0.S
index 99db069..f7274b0 100644
--- a/arch/ppc/crt0.S
+++ b/arch/ppc/crt0.S
@@ -15,9 +15,12 @@
 	.globl _start
 _start:
 	lwz	3,0(1)
-	lwz	4,4(1)
-	lwz	5,8(1)
-	addi	1,1,-16
+	addi	4,1,4
+	addi	5,1,8
+	slwi	0,3,2
+	add	5,5,0
+	li	0,0
+	stwu	0,-16(1)
 	lis	9,environ@ha
 	stw	5,environ@l(9)
 	bl	main
diff --git a/klibc/arch/ppc/crt0.S b/klibc/arch/ppc/crt0.S
index 99db069..f7274b0 100644
--- a/klibc/arch/ppc/crt0.S
+++ b/klibc/arch/ppc/crt0.S
@@ -15,9 +15,12 @@
 	.globl _start
 _start:
 	lwz	3,0(1)
-	lwz	4,4(1)
-	lwz	5,8(1)
-	addi	1,1,-16
+	addi	4,1,4
+	addi	5,1,8
+	slwi	0,3,2
+	add	5,5,0
+	li	0,0
+	stwu	0,-16(1)
 	lis	9,environ@ha
 	stw	5,environ@l(9)
 	bl	main