diff options
author | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2004-11-10 15:27:26 +0000 |
---|---|---|
committer | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2004-11-10 15:27:26 +0000 |
commit | 0038f6a2297be2b66a0177bc74b468dddb0a89fa (patch) | |
tree | 2413de564ae1751210c6fd82924636d2b09cebda /ldso/ldso/ldso.c | |
parent | 0657ab0d0b7d9a879091653b2e23f0b46c3ecefa (diff) |
Add RTLD_LOCAL support for dlopened libs. Reported by
Andrew de Quincey, who has been most helpful getting this sorted
out, thanks. Thanks also to Peter Mazinger who did alot of testing.
Removed all traces of dl_parse_copy_information() since it is no longer used.
Diffstat (limited to 'ldso/ldso/ldso.c')
-rw-r--r-- | ldso/ldso/ldso.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c index d231969f8..476dae629 100644 --- a/ldso/ldso/ldso.c +++ b/ldso/ldso/ldso.c @@ -774,7 +774,7 @@ next_lib2: * ld.so.1, so we have to look up each symbol individually. */ - _dl_envp = (unsigned long *) (intptr_t) _dl_find_hash("__environ", _dl_symbol_tables, 0); + _dl_envp = (unsigned long *) (intptr_t) _dl_find_hash("__environ", _dl_symbol_tables, NULL, 0); if (_dl_envp) *_dl_envp = (unsigned long) envp; @@ -798,10 +798,10 @@ next_lib2: } #endif - _dl_atexit = (int (*)(void *)) (intptr_t) _dl_find_hash("atexit", _dl_symbol_tables, ELF_RTYPE_CLASS_PLT); + _dl_atexit = (int (*)(void *)) (intptr_t) _dl_find_hash("atexit", _dl_symbol_tables, NULL, ELF_RTYPE_CLASS_PLT); #if defined (__SUPPORT_LD_DEBUG__) _dl_on_exit = (int (*)(void (*)(int, void *),void*)) - (intptr_t) _dl_find_hash("on_exit", _dl_symbol_tables, ELF_RTYPE_CLASS_PLT); + (intptr_t) _dl_find_hash("on_exit", _dl_symbol_tables, NULL, ELF_RTYPE_CLASS_PLT); #endif /* Notify the debugger we have added some objects. */ @@ -853,7 +853,7 @@ next_lib2: _dl_debug_state(); /* Find the real malloc function and make ldso functions use that from now on */ - _dl_malloc_function = (void* (*)(size_t)) (intptr_t) _dl_find_hash("malloc", _dl_symbol_tables, ELF_RTYPE_CLASS_PLT); + _dl_malloc_function = (void* (*)(size_t)) (intptr_t) _dl_find_hash("malloc", _dl_symbol_tables, NULL, ELF_RTYPE_CLASS_PLT); } char *_dl_getenv(const char *symbol, char **envp) |