libc

my libc
git clone git://git.evenfri.pw/libc.git
Log | Files | Refs | README

start.s (303B)


      1 .intel_syntax noprefix
      2 .global _start
      3 .extern environ
      4 .extern _exit
      5 .text
      6 
      7 _start:
      8   xor rbp, rbp
      9   pop rdi
     10   mov rsi, rsp
     11 
     12   lea rdx, [rsi + rdi*8 + 8]
     13 
     14   # save envp to environ
     15   lea rax, [rip + environ]
     16   mov [rax], rdx
     17 
     18   and rsp, -16
     19   call main
     20 
     21   # exit(rax)
     22   mov rdi, rax
     23   call _exit
     24 
     25   jmp .