Made our glue code compatible to BeOS again. IOW executables compiled for Haiku will

now run under BeOS as well (as long as they don't use any functions that are not
available under R5).
The solution is a bit messy, but we have to live with it :-)
The runtime loader now patches the __gRuntimeLoader symbol in libroot.so to point
to its exported structure instead of passing it to the init functions as an
argument.
(Hax0red by axeld and bonefish on stippi's assimilated machine -- resistence is futile)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15848 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stephan Aßmus
2006-01-06 03:48:11 +00:00
parent 269293b0ea
commit 34a9556215
22 changed files with 287 additions and 201 deletions
+1 -3
View File
@@ -1,5 +1,5 @@
/*
* Copyright 2004-2005, Axel Dörfler, [email protected].
* Copyright 2004-2006, Axel Dörfler, [email protected].
* Distributed under the terms of the MIT License.
*/
#ifndef LIBROOT_PRIVATE_H
@@ -15,8 +15,6 @@ struct real_time_data;
status_t __parse_invoke_line(char *invoker, char ***_newArgs,
char * const **_oldArgs, int32 *_argCount);
status_t __test_executable(const char *path, char *invoker);
void __init_image(const struct uspace_program_args *args);
void __init_dlfcn(const struct uspace_program_args *args);
void __init_env(const struct uspace_program_args *args);
void __init_heap(void);