Subject: Re: why ld.elf_so is slow starting mozilla
To: <>
From: David Laight <david@l8s.co.uk>
List: tech-toolchain
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
with
dldagsym - libraries in same namespace as this library
(dagmembers stays the same)
This requires:
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
is unloaded.
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
--
David Laight: david@l8s.co.uk