int foo ();
double dfoo ();
-main ()
+/* We don't want __main here because that can drag in atexit (among other
+ things) which won't necessarily exist yet. */
+
+main_without__main ()
{
int a = foo (), b = foo ();
unsigned int au = foo (), bu = foo ();
return table[idx++];
}
+/* Provide functions that some versions of the linker use to default
+ the start address if -e symbol is not used, to avoid the warning
+ message saying the start address is defaulted. */
+extern void start() __asm__("start");
+extern void _start() __asm__("_start");
+extern void __start() __asm__("__start");
+
+void start() {}
+void _start() {}
+void __start() {}
+void mainCRTStartup() {}