diff --git a/src/system/glue/start_dyn.c b/src/system/glue/start_dyn.c index e2f141a160..5cb8d116c5 100644 --- a/src/system/glue/start_dyn.c +++ b/src/system/glue/start_dyn.c @@ -35,10 +35,12 @@ _start(int argc, char **argv, char **environment) argv_save = argv; __main_thread_id = find_thread(NULL); +#ifdef _BEOS_R5_COMPATIBLE_ // These two are called to make our glue code usable under BeOS R5 // - in Haiku, they are both empty. _init_c_library_(argc, argv, environment); _call_init_routines_(); +#endif returnCode = main(argc, argv, environment); diff --git a/src/system/libroot/libroot_init.c b/src/system/libroot/libroot_init.c index 6da22d4bbd..ddffec08be 100644 --- a/src/system/libroot/libroot_init.c +++ b/src/system/libroot/libroot_init.c @@ -82,6 +82,13 @@ initialize_before(image_id imageID) } +void +terminate_after(image_id id) +{ + __heap_terminate_after(); +} + +#ifdef _BEOS_R5_COMPATIBLE_ void _init_c_library_(void); void _init_c_library_(void) @@ -91,10 +98,4 @@ _init_c_library_(void) // Our libroot functions are already initialized above, so we don't have to // do anything here. } - - -void -terminate_after(image_id id) -{ - __heap_terminate_after(); -} +#endif diff --git a/src/system/libroot/os/image.cpp b/src/system/libroot/os/image.cpp index 8edba44348..664110bafb 100644 --- a/src/system/libroot/os/image.cpp +++ b/src/system/libroot/os/image.cpp @@ -489,6 +489,7 @@ __flatten_process_args(const char* const* args, int32 argCount, } +#ifdef _BEOS_R5_COMPATIBLE_ extern "C" void _call_init_routines_(void); void _call_init_routines_(void) @@ -496,4 +497,4 @@ _call_init_routines_(void) // This is called by the original BeOS startup code. // We don't need it, because our loader already does the job, right? } - +#endif