Binding of References
eld Manual—527255-009
3-22
Public Libraries and DLLs
When creating a linkfile, the linker similarly concatenates the relocation tables that
accompany the code and data sections.
The linker’s input linkfiles may also contain
common dat
a. Such data items are defined,
but not assigned addresses within sections. If a normal definition of the same symbol is
found, the common data definitions are ignored. If there is no normal definition, and the
linker is creating a loadfile, the linker converts the common data symbol into a data
symbol that is allocated space in the
.bss
section. Common data cannot have initial
values.
If you are creating an implicit DLL (with the
-make_implicit_lib
option)
eld
reports an
error if you have any data that would need to go into the data variable segment (i.e.,
-
instance_data data1constant
is imposed).
Public Libraries and DLLs
TNS/E supports public libraries.
Public libraries are a set of (DLL) libraries, available to
all users of the system, and managed as part of the system
software.
They are mostly
supplied by HP, although you and third party software providers can also provide DLLs
to be added to the public DLLs. You use DSM/SCM to add your DLLs to the public
libraries. Note that these must be loadfiles, not linkfiles.
Public libraries include:
•
TNS/E compiler run-time libraries.
•
Libraries that support connections to TNS/E communication facilities.
•
Certain TNS/E tools, utilities, and the loader library (
rld
).
TNS/E compilers generate needed linkages from PIC programs and DLLs to the
compilers’ run-time libraries.
In addition to accessing public libraries, PIC programs and DLLs will automatically
access the system and millicode libraries, without your specifying this linkage
requirement. The system and millicode libraries are PIC libraries that the system loads
before loading any application code, and the loader and operating system
automatically link your application to these libraries as appropriate. These are known
as implicit libraries
because every loadfile is implicitly a user of them.
This can be contrasted with the public DLLs, which are explicit because a loadfile must
explicitly ask to use a public DLL, although you need not specify where to find the
public DLL. The combination of the ZREG file (the Public LIbrary Registry file) and
ZREGPTR (pointer) file specifies the location.
One main user of the ZREG file (and the ZREGPTR) is the preloader. Public DLLs are
preloaded during coldload, reload of a CPU or when a set of public DLLs is replaced
online. The other main user is the linker (
eld
). Typically,
eld
“finds” the DLLs by
finding the ZREG file that is in the same subdirectory, then searches the registry. The
linker does not use the ZREGPTR pointer directly, but acquires its information from the
preloader by use of a procedure call.
Содержание eld
Страница 4: ......
Страница 8: ...Contents eld Manual 527255 009 iv ...
Страница 12: ...What s New in This Manual eld Manual 527255 009 viii Changes to the 527255 005 Manual ...
Страница 34: ...Introduction to eld eld Manual 527255 009 1 14 Example of Use ...
Страница 54: ...eld Input and Output eld Manual 527255 009 2 20 Using Archives ...
Страница 98: ...Other eld Processing eld Manual 527255 009 4 20 Merging Source RTDUs ...
Страница 242: ...Output Listings and Error Handling eld Manual 527255 009 6 132 Glossary of Errors ...