From: Sven M. H. <pe...@gm...> - 2001-05-21 21:05:23
|
On Mon, May 21, 2001 at 10:05:03PM +0200, Marcelo E. Magallon wrote: > > M = CURRENT-AGE > > m = AGE > > r = REVISION > > This is not generally true (it holds true for Linux, and BSD, IIRC, > among others) Right. See my other post. > > 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. Ah. Thanks for the explanation. > > 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). Right, I figured it would be something like that. Nice to know for sure though (I've personally never seen any other linker than GNU ld on Linux. :/). -- "Would the All-Seeing Eye please look in my direction?" [ KeyID........: 0xC297FEAB ] [ Fingerprint..: FEA5 0F93 7320 3F39 66A5 AED3 073F 2D5F C297 FEAB ] |