aboutsummaryrefslogtreecommitdiff
path: root/sys/rt/thunk.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/rt/thunk.c')
-rw-r--r--sys/rt/thunk.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/rt/thunk.c b/sys/rt/thunk.c
new file mode 100644
index 0000000..3e9fa35
--- /dev/null
+++ b/sys/rt/thunk.c
@@ -0,0 +1,17 @@
+#include <u.h>
+#include <rt.h>
+
+int main();
+void _init() __attribute__((weak));
+void _fini() __attribute__((weak));
+
+void rt·boot(int (*)(), int , char **, void (*)(), void (*)(), void (*)());
+
+void
+rt·thunk(intptr *stack)
+{
+ int argc = stack[0];
+ char **argv = (void *)(stack+1);
+
+ rt·boot(main, argc, argv, _init, _fini, 0);
+}