mescc: Mes C Library: Support make: Support main with envp.
* lib/linux/x86-mes-gcc/crt1.c (_start): Also push envp. * lib/linux/x86-mes/crt1.c (_start): Also push envp. * lib/linux/x86_64-mes-gcc/crt1.c (_start): Also mov environment,%rdx.
This commit is contained in:
parent
8b9d51e4a4
commit
2fe2e556e8
|
@ -19,7 +19,7 @@
|
|||
*/
|
||||
|
||||
char **environ = 0;
|
||||
int main (int argc, char *argv[]);
|
||||
int main (int argc, char *argv[], char *envp[]);
|
||||
|
||||
void
|
||||
_start ()
|
||||
|
@ -32,6 +32,7 @@ _start ()
|
|||
"shl $2,%%eax\n\t"
|
||||
"add %%ebp,%%eax\n\t"
|
||||
"mov %%eax,%0\n\t"
|
||||
"push %%eax\n\t"
|
||||
: "=r" (environ)
|
||||
: //no inputs ""
|
||||
);
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
*/
|
||||
|
||||
char **environ = 0;
|
||||
int main (int argc, char *argv[]);
|
||||
int main (int argc, char *argv[], char *envp[]);
|
||||
|
||||
int
|
||||
_start ()
|
||||
|
@ -33,6 +33,7 @@ _start ()
|
|||
asm ("shl____$i8,%eax !0x02");
|
||||
asm ("add____%ebp,%eax");
|
||||
asm ("mov____%eax,0x32 &environ");
|
||||
asm ("push___%eax");
|
||||
|
||||
asm ("mov____%ebp,%eax");
|
||||
asm ("add____$i8,%eax !8");
|
||||
|
|
|
@ -35,6 +35,7 @@ _start ()
|
|||
"shl $3,%%rax\n\t"
|
||||
"add %%rbp,%%rax\n\t"
|
||||
"mov %%rax,%0\n\t"
|
||||
"mov %%rax,%%rdx\n\t"
|
||||
: "=r" (environ)
|
||||
: //no inputs ""
|
||||
);
|
||||
|
|
Loading…
Reference in a new issue