summaryrefslogtreecommitdiff
path: root/crt
diff options
context:
space:
mode:
Diffstat (limited to 'crt')
-rw-r--r--crt/Scrt1.c1
-rw-r--r--crt/crt1.c16
2 files changed, 17 insertions, 0 deletions
diff --git a/crt/Scrt1.c b/crt/Scrt1.c
index e69de29b..822f10bb 100644
--- a/crt/Scrt1.c
+++ b/crt/Scrt1.c
@@ -0,0 +1 @@
+#include "crt1.c"
diff --git a/crt/crt1.c b/crt/crt1.c
index e69de29b..14c4a52a 100644
--- a/crt/crt1.c
+++ b/crt/crt1.c
@@ -0,0 +1,16 @@
+#include <features.h>
+
+#include "crt_arch.h"
+
+int main();
+void _init() __attribute__((weak));
+void _fini() __attribute__((weak));
+_Noreturn int __libc_start_main(int (*)(), int, char **,
+ void (*)(), void(*)(), void(*)());
+
+void __cstart(long *p)
+{
+ int argc = p[0];
+ char **argv = (void *)(p+1);
+ __libc_start_main(main, argc, argv, _init, _fini, 0);
+}