summaryrefslogtreecommitdiffstats
path: root/libc-top-half/musl/arch/i386/crt_arch.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc-top-half/musl/arch/i386/crt_arch.h')
-rw-r--r--libc-top-half/musl/arch/i386/crt_arch.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/libc-top-half/musl/arch/i386/crt_arch.h b/libc-top-half/musl/arch/i386/crt_arch.h
new file mode 100644
index 0000000..43c8477
--- /dev/null
+++ b/libc-top-half/musl/arch/i386/crt_arch.h
@@ -0,0 +1,16 @@
+__asm__(
+".text\n"
+".weak _DYNAMIC \n"
+".hidden _DYNAMIC \n"
+".global " START "\n"
+START ":\n"
+" xor %ebp,%ebp \n"
+" mov %esp,%eax \n"
+" and $-16,%esp \n"
+" push %eax \n"
+" push %eax \n"
+" call 1f \n"
+"1: addl $_DYNAMIC-1b,(%esp) \n"
+" push %eax \n"
+" call " START "_c \n"
+);