H-Series Application Migration Guide (H06.07+, J06.03+)
The TNS/E Native Development Environment
H-Series Application Migration Guide—429855-008
2-8
TNS/E Native Linker and Loader
TNS/E Native Linker and Loader
The TNS/E native linker, eld, links one or more native position-independent code
(PIC) linkfiles (object files generated by the TNS/E native compilers or by eld) to
produce a PIC loadfile. The loadfile is either a program or a dynamic-link library (DLL),
which can be loaded into memory and executed. eld can also modify process
attributes, such as HIGHPIN, of executable object files and strip nonessential
information from native object files.
eld runs in the Guardian and OSS environments and on the PC. eld syntax and
capabilities are nearly identical in the OSS and Guardian environments.
The PIC run-time loader, rld, works with the operating system to dynamically link and
load PIC loadfiles and their requisite DLLs into memory at execution time. You do not
call rld directly (at the command prompt), but you can access it programmatically
through the rld run-time linking functions. See the eld Manual and the rld Manual for
more information about eld and rld.
Comparing ld and eld
The TNS/E linker eld has the same purpose as the TNS/R PIC linker ld. Both linkers
work with PIC files and both enable you to create and link DLLs. eld has nearly
identical command line syntax to ld; it supports the same option flags as ld, but
provides a number of additional option flags that are not provided by ld. In addition,
some command options have changed. For example, the OKTOSETTYPE option is
not meaningful and is not recognized by the eld -set and -change flags. See the eld
Manual for details.
eld has some additional functionality compared to ld. One significant difference is
that eld has the combined functionality of ld and the TNS/R native non-PIC linker
nld. For example, eld can create relinkable object files (linkfiles) as well as loadfiles,
whereas ld can create only loadfiles. See the eld Manual for details.
The TNS/E run-time loader rld is identical to the TNS/R run-time loader rld.
Comparing ndl and eld
eld provides the same functionality and most of the same command line options as
nld. The main difference between eld and nld is that eld supports DLLs but not
SRLs. nld, by contrast, supports SRLs but not DLLs. To understand the differences
between eld and nld, you need to understand how DLLs are created and used. The
recommended sources of information are the DLL Programmer’s Guide for TNS/E
Systems and the eld Manual.
DLLs Replace SRLs
The nld options related to the building and linking of SRLs are either not supported
by eld or have a different behavior when used with DLLs in eld. eld provides several
new options related to the creation and linking of DLLs.










