about summary refs log tree commit diff
path: root/src/ldso/x86_64/start.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/ldso/x86_64/start.s')
-rw-r--r--src/ldso/x86_64/start.s8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ldso/x86_64/start.s b/src/ldso/x86_64/start.s
index 65e238b7..80c1d08d 100644
--- a/src/ldso/x86_64/start.s
+++ b/src/ldso/x86_64/start.s
@@ -4,5 +4,13 @@ _start:
 	mov (%rsp),%rdi
 	lea 8(%rsp),%rsi
 	call __dynlink
+	pop %rdi
+1:	dec %edi
+	pop %rsi
+	cmp $-1,%rsi
+	jz 1b
+	inc %edi
+	push %rsi
+	push %rdi
 	xor %edx,%edx
 	jmp *%rax