Subject: Re: why ld.elf_so is slow starting mozilla
From: David Laight <firstname.lastname@example.org>
Date: 10/03/2002 11:06:07
> I *think* that this is always safe -- _rtld_list_main is always
> searched first, and the objects cannot be unloaded...
It isn't quite safe...
I think dlsym() ought to search the items loaded by 'needed' requests
even if these are global libraries.
(see XXX comment in _rtld_dlsym code).
The following ought to work.
Replace the current
dldags - dlopen()ed libraries that caused this module to be loaded
dldagsym - libraries in same namespace as this library
(dagmembers stays the same)
1) dagmembers be generated first (maybe by _rtld_load_needed_objects)
2) for each 'dagmembers' add non-main dagmembers to dldagsym
3) scan and remove stale dldagsym entries whenever a library
Both lists need only contain each object once.
dlsym should then scan the dagmembers list.
I see a 'broken' ld.elf_so comming to a system near me soon :-)
David Laight: email@example.com