summaryrefslogtreecommitdiff
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