From fdaf1b4fa8a79ce82b0c5f5a840ae98c7cb74786 Mon Sep 17 00:00:00 2001 From: Joakim Tjernlund Date: Sat, 23 Apr 2005 05:16:30 +0000 Subject: Cleanup library loading. --- ldso/ldso/dl-elf.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'ldso/ldso/dl-elf.c') 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); -- cgit v1.2.3