add ldd and main program loading support to dynamic linker
[musl] / src / ldso / x86_64 / start.s
index 65e238b..80c1d08 100644 (file)
@@ -4,5 +4,13 @@ _start:
        mov (%rsp),%rdi
        lea 8(%rsp),%rsi
        call __dynlink
        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
        xor %edx,%edx
        jmp *%rax