DLL Programmer's Guide for TNS/E Systems
Essential DLL Facility Controls
DLL Programmer’s Guide for TNS/E Systems—527252-006
2-18
The Link-Time-Defined Search Path of the Loader
2. The public libraries.
3. The directory or subvolume specified in a -RLD_L <parameter> option in
the linker’s command stream, where <parameter> is a path or paths to a
specified directory or subvolume. The -RLD_L option is not required but when
used, is repeatable with different path strings.
4. Following default locations:
32-bit process:
For OSS: /lib, /usr/lib, /usr/local/lib, and
/G/SYSTEM/ZDLL in the order of the paths specified here.
For Guardian: $SYSTEM.ZDLL
64-bit process:
For OSS: /lib64, /usr/lib64, /usr/local/lib64, /lib,
/usr/lib, /usr/local/lib, /G/SYSTEM/YDLL, and
/G/SYSTEM/ZDLL in the order of the paths specified here.
Unlike the previously discussed options that guide the linker’s search, -RLD_first_L
and -RLD_L, which guide the loader’s search, allow you to specify multiple colon-
separated paths as a single argument for each option. You can also insert multiple
such options, and the linker concatenates their arguments in the order you insert them
to present the loader with a single list of colon-separated paths. The loader follows this
list in the order listed. The path names themselves cannot have colons embedded
within them.
The loader ignores invalid path names, so you can mix OSS paths and Guardian
subvolumes to create a loader search path that will work on either.
As mentioned above, the loader offers the ability to specify paths at load time, but for
security reasons you may wish to ensure that the loader accepts no load-time
directives and uses only the paths in 1 through 4 above. To disable such run-time
directives, insert the linker option -limit_runtime_paths, which is a one-time
option.
The following command-stream fragment might appear when linking on Win32. It
directs the linker to look for dllfile1 in a directory called mydir before it searches
the public libraries.
eld... -L mydir -lib dllfile1 ... -o mainout
However, this example passes no search directions to the loader running on the
execution target; so the loader will search for dllfile1 in only the target’s default
places. If dllfile1 (or its equivalent) is stored on the execution target in a private
subvolume named pvtsvol, you can direct the loader to search there before looking
anywhere but in the public libraries by altering the previous example:
eld... -L mydir -lib dllfile1 ... -o mainout -RLD_L pvtsvol










