Fixes static binary init issue (XCC)
[akaros.git] / tools / compilers / gcc-glibc / glibc-2.14.1-ros / sysdeps / ros / start.c
index b78c73a..beb02aa 100644 (file)
@@ -26,8 +26,21 @@ void __vcore_entry(void)
 }
 weak_alias(__vcore_entry, vcore_entry)
 
+void __vcore_event_init(void)
+{
+       fputs("Build your application with -lparlib\n", stderr);
+       abort();
+}
+weak_alias(__vcore_event_init, vcore_event_init)
+
 #define failmsg(str) write(2,str"\n",sizeof(str"\n")-1)
 
+void __ros_libc_csu_init(int argc, char **argv, char **envp)
+{
+       __libc_csu_init(argc, argv, envp);
+       vcore_event_init();
+}
+
 void
 _start(void)
 {
@@ -87,7 +100,8 @@ _start(void)
        extern char** _environ;
        _environ = argv+argc+1;
 
-       __libc_start_main(&main,argc,argv,&__libc_csu_init,&__libc_csu_fini,0,0);
+       __libc_start_main(&main, argc, argv, &__ros_libc_csu_init, &__libc_csu_fini,
+                         0, 0);
 
        failmsg("why did main() return?");
 
@@ -98,5 +112,3 @@ diediedie:
        #endif
        while(1);
 }
-
-weak_alias (_start, __start)