about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/ldso/arm/start.s5
-rw-r--r--src/ldso/i386/start.s13
-rw-r--r--src/ldso/x86_64/start.s1
3 files changed, 6 insertions, 13 deletions
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
diff --git a/src/ldso/i386/start.s b/src/ldso/i386/start.s
index 8e6a777d..f6d49291 100644
--- a/src/ldso/i386/start.s
+++ b/src/ldso/i386/start.s
@@ -2,16 +2,13 @@
 .global _start
 _start:
 	xor %ebp,%ebp
-	pop %ecx
-	mov %esp,%eax
+	pop %edi
+	mov %esp,%esi
 	and $-16,%esp
-	mov %eax,%esi
-	mov %ecx,%edi
 	push %ebp
-	call 1f
-1:	addl $_GLOBAL_OFFSET_TABLE_,(%esp)
-	push %eax
-	push %ecx
+	push %ebp
+	push %esi
+	push %edi
 	call __dynlink
 	mov %esi,%esp
 	push %edi
diff --git a/src/ldso/x86_64/start.s b/src/ldso/x86_64/start.s
index cb0a9e1f..65e238b7 100644
--- a/src/ldso/x86_64/start.s
+++ b/src/ldso/x86_64/start.s
@@ -3,7 +3,6 @@
 _start:
 	mov (%rsp),%rdi
 	lea 8(%rsp),%rsi
-	lea _GLOBAL_OFFSET_TABLE_(%rip),%rdx
 	call __dynlink
 	xor %edx,%edx
 	jmp *%rax