vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Hi All, I have some questions related to shared libraries on AIX: 1. Is they are any good way to know order in which shared libraries are loaded on AIX. On SUN, I can get this information using LD_DEBUG=files... I need this information because I am assuming that with runtime linking enabled, symbols are searched in libraries in order in which they are loaded. 2. When are shared libraries that are attached to 0xd segment removed? I see shared libs loaded by prog (genkld) even 2 hrs after prog stopped. I tried rm *.so too. 3.If I want to get lazyloading behavior AND make sure that all references to given symbol bind to same definition, I figured I need to use -blazy -G -bexpall when building libraries specify all dependent libraries. -blazy -brtllib -bnosymbolic -bexpall when linking main (since -brtl destorys lazyloading). This worked if I have interposed symbols among shared libraries only. If I had data symbol defined in main executable and multiple libraries, in all libraries it uses same definition while in main it uses local definition. Is this correct thing to do if I want to get lazyloading+RTL (all references bind to same definition). I cannot use -brtl as that prevents lazyloading. I also noticed that data section of one of my libraries was on 0X2 segment even though 0xF is not full and library permissions are 775. Ideas? 5.Is heap segment on 32 bit AIX address space(0x3-0xB) available for loading shared libraries if oxd,ox2 segments are full? If so, are the text segments of shared libraries loaded in this heap space shared among processes? If not, is it possible to use mmap to acheive this? Can 0x2,0X3-OXB be used for loading both text and data segments of shared libraries? Can I use -bmaxdata for changing this heap size? 6.Are segments reserved for shared memory services 0xC,0XE? 7.Whats the correct way to record runtime path. -L records runtime path too. I noticed that if I recorded absolute paths with -L, different versions of same library can be loaded (which are in different paths) and so -L is safest thing to use in that sense make sure my own local copy of library is used even if another process already loaded a library with same name at different path. 8. As on SUN's is it good convention to use libname.so for shared libraries or should it be put in a .a. Thanks, Sunil. |