Programming Release Notes
5.29 Linker Utility for OpenVMS Alpha
5.29.1 Linker Appears to Hang When Many Files Are Specified
V8.3
When the RMS_RELATED_CONTEXT linker option is on (the default is RMS_
RELATED_CONTEXT=YES) and a nonexistent file is specified in a list of files for
the LINK command, the linker’s call to LIB$FIND_FILE may take a long time to
complete and the linker may appear to hang. Depending on the number of files
being linked and the use of logical names in their specification, the linker may
take hours to finish because LIB$FIND_FILE locates every combination of the
missing file’s prefix before displaying a "file not found" message. Note that you
cannot terminate the linker process by pressing Ctrl/Y after the linker has called
LIB$FIND_FILE.
To determine which file is missing, follow the steps described with the RMS_
RELATED_CONTEXT= option in the Linker Manual, Part IV, LINK Command
Reference.
5.29.2 Change in Linker Default Behavior with Library Check
V7.3-1
Previously, the linker’s check between the library and the shareable image was
too sensitive. It compared against the exact date and time, signaling LINK-I-
DATMISMCH, if no match was found. Now, however, it makes only the same
check that the image activator does: that is, it uses the GSMATCH criteria to
verify compatibility.
The old behavior (check for date and time) can be obtained by setting the logical
name LINK$SHR_DATE_CHECK.
For more information, see the /LIBRARY qualifier in the Linker Manual Part IV,
LINK Command Reference.
Shareable image libraries do not contain a copy of an image. They contain the
image’s name, the image’s identification information, and a table including the
image’s universal symbols. The identification information is provided by the
GSMATCH=
option when the shareable image is linked. For more information, see
the
GSMATCH=
option in the Linker Manual Part IV, LINK Command Reference.
It may happen that a shareable image is relinked but that a library is not
updated. To handle such a case, the linker checks for compatibility. The linker
makes the same check that the image activator does: that is, it uses the
GSMATCH
criteria to verify compatibility.
For VAX, the linker also compares against the date and time, signaling
LINK-I-
DATMISMCH
, if they are different.
For Alpha, the initial behavior of linker was the same as the VAX linker. The
check was seen as too sensitive and the default behavior was changed to use only
the GSMATCH criteria. The old VAX behavior can be obtained by setting the
logical name
LINK$SHR_DATE_CHECK
.
5.29.3 Limit of 25 Elements on Stack
Permanent Restriction
Developers who are creating object files should be aware that the linker’s internal
stack is guaranteed for only 25 elements. Any calculations must be done within
this constraint.
5–26 Programming Release Notes