From b94608ca10051e7911250aaa53f1435b0512018c Mon Sep 17 00:00:00 2001
From: Rich Felker <dalias@aerifal.cx>
Date: Sun, 27 May 2012 14:49:55 -0400
Subject: cleanup dynamic linker start code cruft

two actual issues: one is that __dynlink no longer wants/needs a GOT
pointer argument, so the code to generate that argument can be
removed. the other issue was that in the i386 code, argc/argv were
being loaded into registers that would be call-clobbered, then copied
to preserved registers, rather than just being loaded into the proper
call-preserved registers to begin with.

this cleanup is in preparation for adding new dynamic linker
functionality (ability to explicitly invoke the dynamic linker to run
a program).
---
 src/ldso/arm/start.s | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

(limited to 'src/ldso/arm')

diff --git a/src/ldso/arm/start.s b/src/ldso/arm/start.s
index 359711e1..25675782 100644
--- a/src/ldso/arm/start.s
+++ b/src/ldso/arm/start.s
@@ -3,12 +3,9 @@
 _start:
 	ldr r0,[sp]
 	add r1,sp,#4
-	ldr r2,2f
-	add r2,pc,r2
-1:	bl __dynlink
+	bl __dynlink
 	mov r1,r0
 	mov r0,#0
 	tst r1,#1
 	moveq pc,r1
 	bx r1
-2:	.word _GLOBAL_OFFSET_TABLE_ - 1b - 4
-- 
cgit v1.2.3-70-g09d2