eld Input and Output
eld Manual—527255-009
2-18
Using Archives
The linker does not make use of any environment variables other than
COMP_ROOT
.
When
eld
is creating a new object file X from a set of linkfiles, or processing a loadfile
X with the
-alf
option, it is desired that DLL’s of the appropriate data model match the
data model of X. Therefore, if X is neutral then it is desired that all the DLL’s used are
neutral, and if X is not neutral then it is desired that all the DLL’s used are either neutral
or same as X. During a search, if a DLL that is not desired is encountered, the search
continues. If the search function later finds an archive or a DLL which is desired, the
previously found DLL that was not desired is ignored. If the search does not succeed,
the DLL found earlier is used, even though it is not desired. A warning is issued if a
DLL of the undesired model is used.
Finding Public DLLs
This section explains how the linker looks for a public DLL based on the file identifier.
(The file identifier may have been specified in a
-l
option in the command stream, or
may have been found in the liblist of some other DLL).
As described in
Finding and Reading The Public DLL Registry (ZREG) File
on
page 3-23, the linker may or may not have located the public DLL registry file. If the
linker did not locate the public DLL registry file, it does not look for public DLLs. (It
continues to look for this DLL in other ways). The rest of this section assumes that the
linker did locate the public DLL registry file.
The linker verifies whether the file identifier matches with one of the public DLL
filenames found in the public DLL registry. If there is no such match and the linker is
either creating a 64-bit object file or the
-alf
option processes a 64-bit loadfile. The
linker verifies whether the name added with prefix “y” and suffix “DLL”, matches one of
the public DLL filenames found in the public registry. Later, the linker verifies whether
the name added with prefix “z” and suffix “DLL” matches the public DLL filenames
found in the public DLL registry.
If the linker does not find the file in the appropriate place as described above, or finds it
but cannot open it for reading, or if the file is not a DLL,
eld
reports an error.
If the linker is creating a 64-bit object file or the
-alf
option is processing a 64-bit
loadfile, and if a file exists with the name
lib
instead of “y” prepended, and
y.so
instead of “DLL” appended, then linker uses this file. If a file exists, with the name
lib
instead of “
z
” prepended and
.so
instead of “DLL” appended, then linker uses
this file. The linker considers it an error only if these files do not exist, or are not DLLs.
In other words, as a result of the special cases described above, it is possible to put a
copy of the real
zreg
file into a location on the PC or OSS so that it lists the public
DLLs with names like
zcredll
or
ycredll
, etc., but in the same location. Instead of
having files named
zcredll
or
ycredll
, etc., you can rename them as:
libcre.so,
or
libcrey.so
, and so on.
eld
does not consider it as an error when
Note.
All of these matches are case insensitive.
Note.
There is also an exception which applies to platforms other than Guardian.
Содержание 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 ...