1 #include <linux/unistd.h>
6 .type _linux_start, @function
11 popl %esi // save argc
12 movl %esp, %edi // save argv
14 andl $~15, %esp // 16-byte align the stack
16 pushl %edi // argv -> C arg2
17 pushl %esi // argc -> C arg1
21 /* Our main doesn't use any arguments */
24 movl %eax, %ebx // rc -> syscall arg1
28 .size _linux_start, . - _linux_start