|
@@ -12,6 +12,9 @@
|
|
|
.extern _init
|
|
|
.extern atexit
|
|
|
.extern errno
|
|
|
+.extern operatingsystem_argc
|
|
|
+.extern operatingsystem_argv
|
|
|
+.extern operatingsystem_envp
|
|
|
|
|
|
.text
|
|
|
.byte 'N', 'I', 'A', 'M' /* Used by debugger for setting a break point */
|
|
@@ -40,17 +43,17 @@ _start:
|
|
|
// argc
|
|
|
movl 0(%esp),%esi
|
|
|
movl 0(%esp), %eax
|
|
|
- movl %eax, U_SYSTEM_ARGC
|
|
|
+ movl %eax, operatingsystem_argc
|
|
|
// argv
|
|
|
leal 4(%esp),%ecx
|
|
|
- movl %ecx, U_SYSTEM_ARGV
|
|
|
+ movl %ecx, operatingsystem_argv
|
|
|
// envp
|
|
|
leal (%ecx,%esi,4),%eax
|
|
|
// auxv vector pointer
|
|
|
leal 4(%eax),%edi
|
|
|
// pointer to environment
|
|
|
leal 8(%eax),%edx
|
|
|
- movl %edx, U_SYSTEM_ENVP
|
|
|
+ movl %edx, operatingsystem_envp
|
|
|
cmpl $0,4(%eax)
|
|
|
je .Ldoneargv
|
|
|
.align 4
|