Binding of References
eld Manual—527255-009
3-11
Creating Import Libraries
On Guardian, the linker knows that it is building a program that uses a user library
because either
-set libname
or
-local_libname
is given. If only one of these is
given, it provides a default for the other one. Specifically, if
-local_libname
is not
given, the linker uses the parameter of
-set libname
for the value of
-
local_libname
. Or, if
-set libname
is not given, the linker uses the name
specified for
-local_libname
, but fully qualifying it by adding the volume and
subvolume name if necessary, and omitting the system name. The volume and
subvolume names used are the defaults that this instance of the linker would use for
opening files with partially qualified names.
The rules on OSS are similar to those of Guardian. If
-local_libname
is not given,
the linker converts the name specified in
-set libname
to the form
/G/a/b/c
for use
at link time (not converting it to upper case). Conversely, if
-set libname
is not
given, the linker requires that the name specified for
-local_libname
be located in
the Guardian name space, and then the fully qualified Guardian name of the file, not
including the system name, is used for
-set libname
.
The linker is not required to open the
-local_libname
file unless it is either
presetting the main program or checking for unresolved references. If it can’t open the
file, that is handled the same way as if
-allow_missing_libs
was specified and
the linker couldn’t find a DLL, including the production of a warning message.
Creating Import Libraries
There are three kinds of import libraries:
A complete import library may represent a single DLL, providing the linker all the same
information at link time as if the DLL itself were present.
An incomplete import library similarly represents a DLL but with only some of the
information
that the linker needs at link time.
A special import library with the DLL name “__IMPLICIT_LIB__” represents the entire
set of implicit libraries.
The linker can create an import library at the same time that it is creating the
corresponding DLL, and it can also create an import library from one or more DLLs that
already exist.
Whenever an import library is created, by default, it is a complete import library. If the
-set incomplete on
option is provided then the import library is incomplete. This
doesn’t necessarily change what is in the import library; it just marks it incomplete to
indicate that the symbolic addresses within it are not to be considered reliable. The
import library that represents the implicit libraries must always be complete (so it is an
error to specify
-set incomplete on
in that case).
In all cases, the linker creates the import library file by following the same rules as
given earlier in
The Creation of Output Object Files
on page 2-5, except that the name
of the work file is ZLDAI
nnn
rather than ZLDAF
nn
n, the name of the intermediate file, if
desired, is specified by the
-temp_i
option rather than the
-temp_o
option, and
Summary of Contents for eld
Page 4: ......
Page 8: ...Contents eld Manual 527255 009 iv ...
Page 12: ...What s New in This Manual eld Manual 527255 009 viii Changes to the 527255 005 Manual ...
Page 34: ...Introduction to eld eld Manual 527255 009 1 14 Example of Use ...
Page 54: ...eld Input and Output eld Manual 527255 009 2 20 Using Archives ...
Page 98: ...Other eld Processing eld Manual 527255 009 4 20 Merging Source RTDUs ...
Page 242: ...Output Listings and Error Handling eld Manual 527255 009 6 132 Glossary of Errors ...