1 |
>>>>> pageexec writes: |
2 |
pageexec> On 17 Apr 2008 at 20:38, Ashish Shukla wrote: |
3 |
|
4 |
>> Just to confirm, is LAZY loading means delay loading of all |
5 |
>> dependencies (shared objects) unless they're required (i.e. function |
6 |
>> present in one of the dependencies being invoked), right ? |
7 |
|
8 |
pageexec> it's not lazy loading but lazy binding (of .plt/.got entries), that is, |
9 |
pageexec> the .so modules are loaded as usual as required by DT_NEEDED entries. |
10 |
|
11 |
pageexec> what differs is the time when undefined symbols are resolved. BIND_NOW |
12 |
pageexec> enforces that resolution at .so load time so if there're any unresolved |
13 |
pageexec> symbols (which may never be used in a given run or at all) in the given |
14 |
pageexec> .so, ld.so will complain. normally an .so should have all dependent libs |
15 |
pageexec> listed in DT_NEEDED (and not have unresolvable symbols at all) but the X |
16 |
pageexec> module load code is a bit weird and bends these rules, hence the problems. |
17 |
|
18 |
Thanks for this explanation. |
19 |
-- |
20 |
Ashish Shukla आशीष शुक्ल http://wahjava.wordpress.com/ |
21 |
·-- ·- ···· ·--- ·- ···- ·- ·--·-· --· -- ·- ·· ·-·· ·-·-·- -·-· --- -- |