banan-os/libc/arch/x86_64/crt0.S

36 lines
408 B
ArmAsm

.section .text
.global _start
_start:
pushq $0
pushq %rdi
pushq %rsi
pushq %rdx
# STACK LAYOUT
# null
# argc
# argv
# envp
xorq %rbp, %rbp
# init libc
movq 0(%rsp), %rdi
call _init_libc
# call global constructors
call _init
# call main
movq 16(%rsp), %rdi
movq 8(%rsp), %rsi
movq 0(%rsp), %rdx
call main
# call exit
movq %rax, %rdi
call exit
.size _start, . - _start