rtld enhancement to add osversion sub-directory search

David Schultz das at FreeBSD.ORG
Thu Feb 12 16:18:40 PST 2009


On Thu, Feb 12, 2009, Doug Ambrisko wrote:
> Kostik Belousov writes:
> | There is a popular feature, unfortunately, not supported by FreeBSD
> | ld.so, called Dynamic String Tokens, see
> | http://docs.sun.com/app/docs/doc/817-1984/appendixc-4?l=en&a=view
> | 
> | I have almost abandoned patch that adds support for $ORIGIN, $OSREL,
> | $OSNAME, and $PLATFORM. Quite amazingly, it merged with today CURRENT
> | without serious conflicts.
> | http://people.freebsd.org/~kib/misc/rtld_locks.4.patch
> 
> That is an interesting feature, however, it almost seems backwards for
> me if I understand it correctly.  I need old binaries to find the library 
> it was built with and not new ones based on the base OS.  The plus that 
> I see with their feature is for a library that has been optimized for a 
> specific type of CPU etc.

The Solaris rtld features are very useful when you want to
export a volume with a bunch of apps over NFS, and the clients are
running different releases or different architectures. It can
probably also solve your problem if you bother to place different
library versions in different directories and set your library
path appropriately.

As you mention, it's also useful for optimization; people who
install binary releases don't need to tolerate libraries that have
been compiled to run on an 80486 DX.


More information about the freebsd-arch mailing list