Merge branch 'master' of git://git.ucc.asn.au/tpg/acess2
[tpg/acess2.git] / Usermode / Libraries / crt0.o_src / crt0S.c
diff --git a/Usermode/Libraries/crt0.o_src/crt0S.c b/Usermode/Libraries/crt0.o_src/crt0S.c
new file mode 100644 (file)
index 0000000..1f35ce4
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * Acess2
+ * - CRT0 Shared library version
+ */
+
+typedef        void    (*exithandler_t)(void);
+typedef        void    (*constructor_t)(void);
+
+extern void    _SysDebug(const char *, ...);
+extern void    _init(void);
+extern void    _fini(void);
+extern int     SoMain(void *Base, int argc, char *argv[], char **envp) __attribute__((weak));
+
+int SoStart(void *Base, int argc, char *argv[], char **envp)
+{
+       //_SysDebug("SoStart(%p,%i,%p)", Base, argc, argv);
+       _init();
+
+       if( SoMain )
+               return SoMain(Base, argc, argv, envp);
+       else
+               return 0;
+}

UCC git Repository :: git.ucc.asn.au