14#include <stdnoreturn.h>
19extern char* _heap_size;
22extern char* _stack_size;
28void _libcglue_args_parse(
int argc,
char** argv);
30void _libcglue_deinit();
31int main(
int argc,
char** argv);
35static struct sargs args;
60 "# Save first argument \n"
66 "la $6, _stack_size \n"
68 "la $8, ExitThread \n"
78 :
"m"(args_start),
"r"(pargs),
"Csy"(_main)
79 :
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8");
91 SetupHeap(&_end, (
int)&_heap_size);
98 if (_ps2sdk_memory_init)
99 _ps2sdk_memory_init();
106 if (args.argc == 0 && args_start != NULL && args_start->args.argc != 0)
107 pa = &args_start->args;
110 _libcglue_args_parse(pa->argc, pa->argv);
123 retval = main(pa->argc, pa->argv);
136noreturn
void _exit(
int status)