From fd3f36b329acc823764bb43cb8452e8b41ec511b Mon Sep 17 00:00:00 2001 From: John Hodge Date: Fri, 2 Dec 2011 11:02:31 +0800 Subject: [PATCH] Usermode/crt0 - Fixed crt0 not calling _exit --- Usermode/Libraries/crt0.o_src/crt0.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Usermode/Libraries/crt0.o_src/crt0.c b/Usermode/Libraries/crt0.o_src/crt0.c index 7c0e3ff9..cb427722 100644 --- a/Usermode/Libraries/crt0.o_src/crt0.c +++ b/Usermode/Libraries/crt0.o_src/crt0.c @@ -8,8 +8,9 @@ typedef void (*constructor_t)(void); exithandler_t _crt0_exit_handler; extern constructor_t _crtbegin_ctors[]; +extern void _exit(int status) __attribute__((noreturn)); -int start(int argc, char *argv[], char **envp) +void start(int argc, char *argv[], char **envp) { int i; int rv; @@ -21,6 +22,6 @@ int start(int argc, char *argv[], char **envp) if( _crt0_exit_handler ) _crt0_exit_handler(); - - return rv; + + _exit(rv); } -- 2.20.1