add support for init/finit (constructors and destructors)
[oweals/musl.git] / crt / i386 / crt1.s
index 3e88c7850635c7e5511bc2ac7dac7e8025b53e86..66ee11ab1a8bdf4342ad6d5bb3c442e76499170c 100644 (file)
@@ -1,3 +1,5 @@
+.weak _init
+.weak _fini
 .text
 .global _start
 _start:
@@ -8,8 +10,10 @@ _start:
        pushl %esp
        pushl %esp
        pushl %edx
-       pushl %ebp
-       pushl %ebp
+       call 1f
+1:     addl $[_fini-.],(%esp)
+       call 1f
+1:     addl $[_init-.],(%esp)
        pushl %eax
        pushl %ecx
        call 1f