DragonFly BSD
DragonFly bugs List (threaded) for 2005-03
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Stale files in /usr/X11/bin ?

From: Joerg Sonnenberger <joerg@xxxxxxxxxxxxxxxxx>
Date: Sat, 26 Mar 2005 15:43:17 +0100
Mail-followup-to: bugs@crater.dragonflybsd.org

On Fri, Mar 25, 2005 at 10:22:55AM +0100, Jeroen Ruigrok/asmodai wrote:
> -On [20050325 09:22], Yury Tarasievich (grog@xxxxxxx) wrote:
> >BTW, is there any standard method to force linking against specific 
> >revision of shared lib, so one could generally link against lib.so, 
> >being symlink to lib.so.x, vs. lib.so.x itself?

Do you want to link directly against lib.so instead of lib.so.x? That's

> ELF annex the ELF loader does not cater for this.


> ELF looks at the libname.so entries in its cache.  These are typically
> symbolically linked to the highest versioned libname.so.N.

Nope. The dynamic loader looks up the Shared Object Name in the cache
or tries it via some special patterns as file name in standard locations.
That's what "objdump -x $lib | grep SONAME" gives you. In our case,
the soname is used directly as path name.

> Entries with minor numbers, such as the old a.out styled libname.so.N.M, are
> not an official part of the ELF standard.  Nor is the Linux standard of
> libname.so.N.M.T (number, major, trivial) an official standard (they symlink
> the .so.N to the .so.N.M.T).

Exactly. The dynamic linker doesn't care at all about version numbers.

> No standard way short of changing symbolic links, but this also influences
> run-time behaviour.

Not really. The libc.so --> libc.so.4 link is used by the _static_ linker,
You could use varsyms to change the behaviour on a per-case base.


[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]