Moved the rld_export structure from <user_runtime.h> to

<runtime_loader.h>, since it isn't a kernel <-> userland interface.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28456 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold 2008-11-02 03:43:01 +00:00
parent ca618b2259
commit 19d40f9eb7
13 changed files with 51 additions and 37 deletions

View File

@ -15,6 +15,39 @@
#include <elf32.h>
// #pragma mark - runtime loader libroot interface
struct user_space_program_args;
struct rld_export {
// runtime loader API export
image_id (*load_add_on)(char const *path, uint32 flags);
status_t (*unload_add_on)(image_id imageID);
status_t (*get_image_symbol)(image_id imageID, char const *symbolName,
int32 symbolType, void **_location);
status_t (*get_nth_image_symbol)(image_id imageID, int32 num, char *symbolName,
int32 *nameLength, int32 *symbolType, void **_location);
status_t (*test_executable)(const char *path, char *interpreter);
status_t (*get_next_image_dependency)(image_id id, uint32 *cookie,
const char **_name);
status_t (*reinit_after_fork)();
void (*call_atexit_hooks_for_range)(addr_t start, addr_t size);
void (*call_termination_hooks)();
const struct user_space_program_args *program_args;
};
extern struct rld_export *__gRuntimeLoader;
// #pragma mark - runtime loader debugger interface
typedef struct elf_region_t {
area_id id;
addr_t start;

View File

@ -30,27 +30,4 @@ struct user_space_program_args {
char **env;
};
struct rld_export {
// runtime linker API export
image_id (*load_add_on)(char const *path, uint32 flags);
status_t (*unload_add_on)(image_id imageID);
status_t (*get_image_symbol)(image_id imageID, char const *symbolName,
int32 symbolType, void **_location);
status_t (*get_nth_image_symbol)(image_id imageID, int32 num, char *symbolName,
int32 *nameLength, int32 *symbolType, void **_location);
status_t (*test_executable)(const char *path, char *interpreter);
status_t (*get_next_image_dependency)(image_id id, uint32 *cookie,
const char **_name);
status_t (*reinit_after_fork)();
void (*call_atexit_hooks_for_range)(addr_t start, addr_t size);
void (*call_termination_hooks)();
const struct user_space_program_args *program_args;
};
extern struct rld_export *__gRuntimeLoader;
#endif /* KERNEL_USER_RUNTIME_H_ */

View File

@ -1,13 +1,13 @@
SubDir HAIKU_TOP src system libroot ;
UsePrivateHeaders libroot ;
UsePrivateHeaders libroot runtime_loader ;
UsePrivateSystemHeaders ;
UnarchiveObjects $(TARGET_GCC_LIBGCC_OBJECTS) : $(TARGET_GCC_LIBGCC) ;
# we need to link against libgcc.a objects and make
# it available to other applications as in BeOS
local librootObjects =
local librootObjects =
os_main.o
os_arch_$(TARGET_ARCH).o

View File

@ -3,13 +3,13 @@
* Distributed under the terms of the MIT License.
*/
#include <string.h>
#include <libroot_private.h>
#include <user_runtime.h>
#include <fork.h>
#include <image.h>
#include <string.h>
#include <libroot_private.h>
#include <runtime_loader.h>
#include <user_runtime.h>
void initialize_before(image_id imageID);

View File

@ -3,7 +3,7 @@ SubDir HAIKU_TOP src system libroot os ;
UsePrivateSystemHeaders ;
UsePrivateHeaders kernel ;
# for util/KMessage.h
UsePrivateHeaders libroot ;
UsePrivateHeaders libroot runtime_loader ;
MergeObject os_main.o :
area.c

View File

@ -5,8 +5,9 @@
#include <libroot_private.h>
#include <user_runtime.h>
#include <runtime_loader.h>
#include <syscalls.h>
#include <user_runtime.h>
#include <OS.h>
#include <image.h>

View File

@ -4,7 +4,7 @@ UsePrivateHeaders app shared [ FDirName syslog_daemon ] ;
UsePrivateSystemHeaders ;
UsePrivateHeaders kernel ;
# For util/KMessage.h
UsePrivateHeaders libroot ;
UsePrivateHeaders libroot runtime_loader ;
if $(HAIKU_MULTIUSER_QUERY) = 1 {
PWD_BACKEND = pwd_query.c ;

View File

@ -8,11 +8,13 @@
#include <libroot_private.h>
#include <user_runtime.h>
#include <dlfcn.h>
#include <string.h>
#include <runtime_loader.h>
#include <user_runtime.h>
static status_t sStatus;
// Note, this is not thread-safe

View File

@ -1,6 +1,6 @@
SubDir HAIKU_TOP src system libroot posix stdlib ;
UsePrivateHeaders drivers libroot ;
UsePrivateHeaders drivers libroot runtime_loader ;
UsePrivateSystemHeaders ;
MergeObject posix_stdlib.o :

View File

@ -13,6 +13,7 @@
#include <libroot_lock.h>
#include <libroot_private.h>
#include <runtime_loader.h>
#include <user_runtime.h>

View File

@ -15,8 +15,8 @@
#include <stdlib.h>
#include <signal.h>
#include <runtime_loader.h>
#include <syscalls.h>
#include <user_runtime.h>
extern void _IO_cleanup(void);

View File

@ -1,7 +1,7 @@
SubDir HAIKU_TOP src system libroot posix unistd ;
UsePrivateSystemHeaders ;
UsePrivateHeaders libroot ;
UsePrivateHeaders libroot runtime_loader ;
MergeObject posix_unistd.o :
access.c

View File

@ -11,8 +11,8 @@
#include <errno.h>
#include <libroot_private.h>
#include <runtime_loader.h>
#include <syscalls.h>
#include <user_runtime.h>
typedef struct fork_hook {