summaryrefslogtreecommitdiff
path: root/lib/libc/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/src/main.c')
-rw-r--r--lib/libc/src/main.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/libc/src/main.c b/lib/libc/src/main.c
index 1154b21..b178c07 100644
--- a/lib/libc/src/main.c
+++ b/lib/libc/src/main.c
@@ -30,10 +30,25 @@
#include <stdint.h>
#include <stddef.h>
+extern int __libc_stdio_init(void);
+extern int __malloc_mem_init(void);
+
int main(int argc, char **argv);
int
__libc_entry(uint64_t *ctx)
{
- return main(0, NULL);
+ int status;
+ uint64_t argc;
+ char **argv;
+
+ argc = *(ctx++);
+ argv = (char **)((ctx++));
+
+ if ((status = __libc_stdio_init()) != 0) {
+ return status;
+ }
+
+ __malloc_mem_init();
+ return main(argc, argv);
}