constructor_t _crtbegin_ctors[0] __attribute__((section(".ctors")));
exithandler_t _crt0_exit_handler;
-//extern constructor_t _crtbegin_ctors[];
extern void _init(void);
extern void _fini(void);
extern void _exit(int status) __attribute__((noreturn));
void start(int argc, char *argv[], char **envp)
{
- int i;
- int rv;
-
- for( i = 0; _crtbegin_ctors[i]; i ++ )
+ // TODO: isn't this handled by _init?
+ for( int i = 0; _crtbegin_ctors[i]; i ++ )
_crtbegin_ctors[i]();
_init();
- rv = main(argc, argv, envp);
+ int rv = main(argc, argv, envp);
if( _crt0_exit_handler )
_crt0_exit_handler();