.section .text .global _start _start: pushl $0 pushl %edi pushl %esi pushl %edx # STACK LAYOUT # null # argc # argv # envp xorl %ebp, %ebp # init libc (envp already as argument) call _init_libc # call global constructors call _init # call main movl 0(%esp), %eax xchgl %eax, 8(%esp) movl %eax, (%esp) call main subl $12, %esp pushl %eax call exit .size _start, . - _start