summaryrefslogtreecommitdiff
path: root/src/user/lib/_start2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/user/lib/_start2.c')
-rw-r--r--src/user/lib/_start2.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/user/lib/_start2.c b/src/user/lib/_start2.c
new file mode 100644
index 0000000..6d1431f
--- /dev/null
+++ b/src/user/lib/_start2.c
@@ -0,0 +1,13 @@
+#include <camellia/syscalls.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <user/lib/elfload.h>
+
+int main(int argc, char **argv, char **envp);
+
+_Noreturn void _start2(struct execdata *ed) {
+ elf_selfreloc();
+ __setinitialcwd(ed->cwd);
+ exit(main(ed->argc, ed->argv, ed->envp));
+}