support _BSD_SOURCE feature test macro
[musl] / crt / x86_64 / Scrt1.s
1 /* Written 2011 Nicholas J. Kain, released as Public Domain */
2 .weak _init
3 .weak _fini
4 .text
5 .global _start
6 _start:
7         xor %rbp,%rbp   /* rbp:undefined -> mark as zero 0 (ABI) */
8         mov %rdx,%r9    /* 6th arg: ptr to register with atexit() */
9         pop %rsi        /* 2nd arg: argc */
10         mov %rsp,%rdx   /* 3rd arg: argv */
11         andq $-16,%rsp  /* align stack pointer */
12         lea _fini(%rip),%r8           /* 5th arg: fini/dtors function */
13         lea _init(%rip),%rcx          /* 4th arg: init/ctors function */
14         mov main@GOTPCREL(%rip),%rdi  /* 1st arg: application entry ip */
15         call __libc_start_main@PLT    /* musl init will run the program */
16 1:      jmp 1b