about summary refs log tree commit diff
path: root/src/ldso/x86_64/start.s
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2011-06-18 19:48:42 -0400
committerRich Felker <dalias@aerifal.cx>2011-06-18 19:48:42 -0400
commit51e2d8310222ddd4d4e895f55c627100d863aa95 (patch)
treed64c18bacc3fc0609abc2d88d6d336f84d3e4e74 /src/ldso/x86_64/start.s
parentd43ff110bcb258df61448d21da3b1a89088388f6 (diff)
downloadmusl-51e2d8310222ddd4d4e895f55c627100d863aa95.tar.gz
musl-51e2d8310222ddd4d4e895f55c627100d863aa95.tar.xz
musl-51e2d8310222ddd4d4e895f55c627100d863aa95.zip
experimental dynamic linker!
some notes:
- library search path is hard coded
- x86_64 code is untested and may not work
- dlopen/dlsym is not yet implemented
- relocations in read-only memory won't work
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
new file mode 100644
index 00000000..efb27454
--- /dev/null
+++ b/src/ldso/x86_64/start.s
@@ -0,0 +1,8 @@
+.text
+.global _start
+_start:
+	mov (%rsp),%rdi
+	lea 8(%rsp),%rsi
+	lea _GLOBAL_OFFSET_TABLE_(%rip),%rdx
+	call __dynlink
+	jmp *%rax