DLL Programmer's Guide for TNS/E Systems
Essential DLL Facility Controls
DLL Programmer’s Guide for TNS/E Systems—527252-006
2-6
At a Glance: Controlling Linker Output When
Producing a Loadfile
When it comes to parameters that are symbol names, no such rules apply. An equal
sign at the start of a symbol name has no special significance to the linker.
There is a special case. In the case of the -libname (or -set libname, or -change
libname) option, usually, it is an error if the parameter is not exactly of the form
$a.b.c. However, a DEFINE can be used for this, even though a DEFINE always
expands to the form \system.$a.b.c. In these contexts, after expanding the DEFINE,
the linker also removes the system name.
Choosing a DLL Name
On the execution target, you must store a DLL in a file having the same name as that
DLL, or else the loader will be unable to find it. This is because when a loadfile being
linked requires that DLL, the linker uses that DLL’s internal name to enter in this
loadfile’s libList. Then, when the loader (on the execution target) searches for DLLs
this loadfile requires, it searches the file system using names from this loadfile’s libList.
The ability to name a DLL differently from its linker-output file is useful when linking on
an auxiliary system, so you can name that DLL for the file you want to store it in on the
execution target.
On the other hand, names in a libList may be used on both the linker platform and the
execution target systems, so since libList names come from internal DLL names,
portable names are recommended. A portable name is a proper Guardian name, which
can be up to eight-characters long, expressed in lower-case.
There is one more consideration for making simple names portable: If they are
lowercase, begin with a letter, contain only letters and digits, and are at most eight
characters long, they work as either Guardian or OSS names. This can be important
for a DLL that serves both environments.
To change a DLL’s internal name, you must relink it.
At a Glance: Controlling Linker Output When Producing a
Loadfile
The one command, eld, invokes the linker for all operations; options control all
subsequent linker steps.
The following table summarizes the options for creating loadfiles and for naming the
files they are stored in.
To: Action:
Output a program This happens by default
Output a DLL Insert the -dll option










