1
Index: ipxe/src/arch/i386/prefix/linuxprefix.S
2
===================================================================
3
--- ipxe.orig/src/arch/i386/prefix/linuxprefix.S 2011-08-05 16:56:49.028882032 -0600
4
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
6
-#include <linux/unistd.h>
11
- .type _linux_start, @function
16
- popl %esi // save argc
17
- movl %esp, %edi // save argv
19
- andl $~15, %esp // 16-byte align the stack
21
- pushl %edi // argv -> C arg2
22
- pushl %esi // argc -> C arg1
26
- /* Our main doesn't use any arguments */
29
- movl %eax, %ebx // rc -> syscall arg1
30
- movl $__NR_exit, %eax
33
- .size _linux_start, . - _linux_start
34
Index: ipxe/src/arch/x86_64/prefix/linuxprefix.S
35
===================================================================
36
--- ipxe.orig/src/arch/x86_64/prefix/linuxprefix.S 2011-08-05 16:56:49.058882032 -0600
37
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
39
-#include <linux/unistd.h>
44
- .type _linux_start, @function
49
- popq %rdi // argc -> C arg1
50
- movq %rsp, %rsi // argv -> C arg2
52
- andq $~15, %rsp // 16-byte align the stack
56
- /* Our main doesn't use any arguments */
59
- movq %rax, %rdi // rc -> syscall arg1
60
- movq $__NR_exit, %rax
63
- .size _start, . - _start