diff options
author | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2004-08-09 08:11:54 +0000 |
---|---|---|
committer | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2004-08-09 08:11:54 +0000 |
commit | 97688568dea693a1bd1c9f7a2320f316af25a16d (patch) | |
tree | fb26c0a5c15237e45b73847b30d551ca798f54f6 /ldso/ldso/ldso.c | |
parent | 758d1c9ff67def05e29859d4698eadc29ebb24de (diff) |
This should fix the dlsym problem Peter van Hoyweghen reported.
However RTLD_LOCAL still doesn't work. Everything is RTLD_GLOBAL.
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 eaa8a8ff0..a4e4595bb 100644 --- a/ldso/ldso/ldso.c +++ b/ldso/ldso/ldso.c @@ -612,12 +612,12 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, struct elf_resolve *app_tpnt up each symbol individually. */ - _dl_brkp = (unsigned long *) (intptr_t) _dl_find_hash("__curbrk", NULL, 0); + _dl_brkp = (unsigned long *) (intptr_t) _dl_find_hash("__curbrk", _dl_symbol_tables, 0); if (_dl_brkp) { *_dl_brkp = brk_addr; } - _dl_envp = (unsigned long *) (intptr_t) _dl_find_hash("__environ", NULL, 0); + _dl_envp = (unsigned long *) (intptr_t) _dl_find_hash("__environ", _dl_symbol_tables, 0); if (_dl_envp) { *_dl_envp = (unsigned long) envp; @@ -641,10 +641,10 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, struct elf_resolve *app_tpnt } #endif - _dl_atexit = (int (*)(void *)) (intptr_t) _dl_find_hash("atexit", NULL, ELF_RTYPE_CLASS_PLT); + _dl_atexit = (int (*)(void *)) (intptr_t) _dl_find_hash("atexit", _dl_symbol_tables, ELF_RTYPE_CLASS_PLT); #if defined (__SUPPORT_LD_DEBUG__) _dl_on_exit = (int (*)(void (*)(int, void *),void*)) - (intptr_t) _dl_find_hash("on_exit", NULL, ELF_RTYPE_CLASS_PLT); + (intptr_t) _dl_find_hash("on_exit", _dl_symbol_tables, ELF_RTYPE_CLASS_PLT); #endif /* Notify the debugger we have added some objects. */ |