summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/i386/start.S
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/dietlibc/i386/start.S')
-rw-r--r--mdk-stage1/dietlibc/i386/start.S28
1 files changed, 28 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/i386/start.S b/mdk-stage1/dietlibc/i386/start.S
new file mode 100644
index 000000000..8a2ba7e38
--- /dev/null
+++ b/mdk-stage1/dietlibc/i386/start.S
@@ -0,0 +1,28 @@
+#include "start.h"
+
+#ifdef __i386__
+.text
+.globl _start
+_start:
+#if 0
+ popl %ecx
+ movl %esp, %edx
+ leal 4(%esp,%ecx,4),%eax
+#else
+ movl (%esp),%ecx /* %ecx = argc */
+ leal 4(%esp),%edx /* %edx = argv */
+
+ leal 4(%edx,%ecx,4),%eax /* eax = 4*ecx+4 = envp */
+#endif
+ pushl %eax
+ pushl %edx
+ pushl %ecx
+ movl %eax,environ
+
+ call main
+ pushl %eax
+ call exit
+.Lfefe:
+ .size _start,.Lfefe-_start
+#endif
+