.section .text .global _start _start: # Set up end of the stack frame linked list. movq $0, %rbp pushq %rbp # rip=0 pushq %rbp # rbp=0 movq %rsp, %rbp # Save argc, argv, environ pushq %rdx pushq %rsi pushq %rdi # Prepare malloc, environment movq %rdx, %rdi call _init_libc # Call global constructos call _init # Restore argc, argv, environ popq %rdi popq %rsi popq %rdx # Run main call main # Cleanly exit the process movl %eax, %edi call exit .size _start, . - _start