summaryrefslogtreecommitdiff
path: root/ldso/ldso/dl-elf.c
diff options
context:
space:
mode:
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>2005-04-23 05:16:30 +0000
committerJoakim Tjernlund <joakim.tjernlund@transmode.se>2005-04-23 05:16:30 +0000
commitfdaf1b4fa8a79ce82b0c5f5a840ae98c7cb74786 (patch)
tree8f32f9fb71053ca7776233b7512c6f3c570c417d /ldso/ldso/dl-elf.c
parentb62904030b988d8ee0b9af5f7a6ad4b977481d12 (diff)
Cleanup library loading.
Diffstat (limited to 'ldso/ldso/dl-elf.c')
-rw-r--r--ldso/ldso/dl-elf.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/ldso/ldso/dl-elf.c b/ldso/ldso/dl-elf.c
index 089fca986..558eeaa20 100644
--- a/ldso/ldso/dl-elf.c
+++ b/ldso/ldso/dl-elf.c
@@ -273,13 +273,14 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
if (pnt1) {
libname = pnt1 + 1;
}
-#if 0
+
/* Critical step! Weed out duplicates early to avoid
* function aliasing, which wastes memory, and causes
* really bad things to happen with weaks and globals. */
- if ((tpnt1=_dl_check_if_named_library_is_loaded(libname, trace_loaded_objects))!=NULL)
+ if ((tpnt1=_dl_check_if_named_library_is_loaded(libname, trace_loaded_objects))!=NULL) {
+ tpnt1->usage_count++;
return tpnt1;
-#endif
+ }
#if defined (__SUPPORT_LD_DEBUG__)
if(_dl_debug) _dl_dprintf(_dl_debug_file, "\tfind library='%s'; searching\n", libname);