Kenwood HP 9000 Personal Computer User Manual


 
86 Chapter 3
Linker Tasks
Using Linker commands
the previous example were /apps/lib::xyz, the dynamic loader would
search for /apps/lib/libfoo.sl, /usr/local/lib/libfoo.sl,
then ./xyz/libfoo.sl.
If the dynamic loader cannot find a required library in any of the
directories specified in the path list, it searches for the library in the
default location () recorded by the linker.
Moving Libraries After Linking with +s and
SHLIB_PATH
A library can be moved even after an application has been linked with it.
Linking the program with +s, enables the program to use the path list
defined by the SHLIB_PATH environment variable at run time.
Specifying a Path List with +s and SHLIB_PATH
When a program is linked with +s, the dynamic loader will get the
library path list from the SHLIB_PATH environment variable at run time.
This is especially useful for application developers who don't know where
the libraries will reside at run time. In such cases, they can have the user
or an install script set SHLIB_PATH to the correct value.
For More Information:
“The Path List” provides additional details about the path list to
SHLIB_PATH.
“Moving Libraries after Linking with +b” provides another way to
move libraries.
Passing Linker Options in a file with -c
The -c file option causes the linker to read command line options from
the specified file. This is useful if you have many -h or +e options to
include on the ld command line, or if you have to link with numerous
object files. For example, suppose you have over a hundred +e options
that you need when building a shared library. You could place them in a
file named eopts and force the linker to read options from the file as
follows:
$ ld -o libmods.sl -b -c eopts mod*.o
$ cat eopts Display the file.
+e foo
+e bar