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


Hello Ángel!

> What are you trying to do?
I am trying to clarify how to implement Lazy library loading in GNU libc. :)

> ... but Linux already does lazy-loading by default ...
If I not mistaken, "-z now" give us ability to turn off runtime
binding of symbols.
Lazy symbol binding works in Linux, but it is not lazy loading of DSO.

> ... but lazy loading libc wouldn't make much sense either ...
Yes, libc will be always loaded. Main sense of lazy loading is for all
other libraries.

> Maybe you were talking about deferred dependencies?
May be. For example libraries not required for first application
window appearing, could be loaded later.
It can improve application startup time - this is one of benefits of
lazy loading.


--
WBR,
Andrew


2013/2/15 Ángel González <keisial@gmail.com>:
> On 15/02/13 10:24, Andrew Senkevich wrote:
>> Hello Libc Community!
>>
>> I am interesting in lazy library loading technology, and how to enable
>> it in libc/eglibc.
>>
>> I just started to investigate this area, and I see how lazy loading
>> works in Open Solaris 11.
>>
>> Some description available here -
>> http://docs.oracle.com/cd/E19963-01/html/819-0690/chapter3-7.html
>>
>> May be some implementation plan already exist?
>>
>> I understand that support from binutils (at least linker) is also
>> required and does not exists for now.
>>
>> Thank you in advance for any help on this question!
>
> What are you trying to do? I first thought you wanted to copy the
> feature of lazy library loading into Linux, but Linux already does
> lazy-loading by default (you have -z now in the linker to disable it for
> one library). Then that perhaps you wanted to make libc in OpenSolaris
> to use that, but lazy loading libc wouldn't make much sense either,
> since you will always call libc in your program (unless it's a static
> binary, but then there's no need to link with it!). Maybe you were
> talking about deferred dependencies?
>
>


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