From: Marcelo E. M. <mar...@bi...> - 2001-05-21 20:05:03
|
>> "Sven M. Hallberg" <pe...@gm...> writes: > M = CURRENT-AGE > m = AGE > r = REVISION This is not generally true (it holds true for Linux, and BSD, IIRC, among others) > Executables are linked using -soname=libX.so.M ! The soname is embedded in the library (try readelf -d libfoo | grep SONAME on some dynamic library on your system). The compiler (linker, really) reads this information and writes in on the object it produces (grep for NEEDED instead of SONAME). The dynamic linker reads this from the object and maps it to a filename. The dynamic linker can perfom other tricks (like loading optimized versions of a library) but that's outside the scope of this discussion. > I don't know, maybe that discovery isn't new to you, but at least I > couldn't directly derive this from the libtool docs. :} It's not documented because it's not portable. Some dynamic linkers have more features, some less (IRIX's and AIX's, respectively IIRC). > My fingers hurt. :-\ -- Marcelo |