The dynamic tokens $OSNAME, $OSREL and $PLATFORM are expanded at runtime to provide system specific information. $OSNAME expands to reflect the name of the operating system, as displayed by the utility uname(1) with the -s option. $OSREL expands to reflect the operating system release level, as displayed by uname -r. $PLATFORM expands to reflect the underlying hardware implementation, as displayed by uname -i.
The following example shows how the auxiliary filter libfoo.so.1 can be designed to access a platform specific filtee libbar.so.1:
$ LD_OPTIONS='-f /usr/platform/$PLATFORM/lib/libbar.so.1' \ cc -o libfoo.so.1 -G -K pic -h libfoo.so.1 -R. foo.c $ dump -Lv libfoo.so.1 | egrep "SONAME|AUXILIARY" [1] SONAME libfoo.so.1 [2] AUXILIARY /usr/platform/$PLATFORM/lib/libbar.so.1 |
This mechanism is used on Solaris to provide platform specific extensions to the shared object /usr/lib/libc.so.1.
The environment variable LD_NOAUXFLTR
can be set to disable the runtime linkers auxiliary filter processing. As auxiliary filters
are frequently employed to provide platform specific optimizations, this option can be useful in evaluating a filtees use and performance impact.