libc

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

start.s (300B)


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