This is the mail archive of the libc-help@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: lazy library loading


> Glad to hear that! We are always interested in new developers helping
> with the project.

Very glad also!
Please correct me if I am wrong, but at this moment my vision of problems is:

- To solve how analysis of inter-object data references will work. It
must help to be sure that library is suitable for lazy loading.

- To define name of library containing needed symbol in the set of
libraries in dependencies without their loading. We need to know which
exactly object we must load.
To solve it we propose to save this information statically in object’s
ELF during building of library or executable. Runtime liker must use
this information. Also required to have ability to mark some libraries
for lazy loading and some not (during building).

- To have ability to load library just on first call from that
library. Here we need to find out how current runtime linker resolves
symbols in loaded libraries with lazy binding, and find a way of
combining this existent functionality with addition of loading needed
library just before it. (May be reuse dlopen() functionality for
library loading in this case?)

- In case of library containing constructor/destructor we need to have
ability execute constructor after loading and addition of destructor
to the destructor’s list. (But it works with dlopen(), so this
functionality seems already implemented.)



--
WBR,
Andrew


2013/2/18 Carlos O'Donell <carlos@systemhalted.org>:
> On Fri, Feb 15, 2013 at 4:24 AM, Andrew Senkevich
> <andrew.n.senkevich@gmail.com> wrote:
>> I am interesting in lazy library loading technology, and how to enable
>> it in libc/eglibc.
>
> Glad to hear that! We are always interested in new developers helping
> with the project.
>
>> May be some implementation plan already exist?
>
> I am not aware of any implementation of lazy library loading for GNU/Linux.
>
> So the next question I have is: What problem are you trying to solve?
>
> One of the most expensive operation is symbol binding and that is
> already deferred by lazy symbol resolution.
>
> Why do you need lazy library loading?
>
> Have you experimented with this and do you have any relative
> performance numbers?
>
> Cheers,
> Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]