Programming Release Notes
5.30 Linker Utility for OpenVMS Integrity servers
5.30 Linker Utility for OpenVMS Integrity servers
The following release notes pertain to the Integrity servers Linker utility.
For Alpha Linker release notes, see Section 5.29.
5.30.1 Linker Writes Incorrect Interimage Debug Fixups into Debug Symbol
File
V8.3-1H1
In some situations, the linker creates interimage fixups for the OpenVMS
debugger. The inter-image debug fixup is a result of compiler-generated debug
relocations, which the linker cannot resolve. That is, the debugger requires these
fixups to determine a value from a shareable image at run time. Compilers might
differ on how often they require the linker to create interimage fixups for the
debugger. The C compiler rarely uses inter-image debugger fixups, although the
C++ compiler often uses them. When linking such images with the /DEBUG
qualifier, the linker writes the debug information followed by the interimage
debug fixups. With the /NODSF qualifier (the default) the information is written
correctly into the image file, but with /DSF the information is sometimes written
incorrectly into the DSF file.
For example, the DEBUG informationals and the DEBUG error in the following
sample occur because the linker has written the DSF file incorrectly:
$ RUN/DEBUG MINIREF
%DEBUG-I-INFODWARF, error reading Dwarf info: Section 0a exten ds outside file
%DEBUG-I-INFODWARF, error reading Dwarf info: Section 0c exten ds outside file
%DEBUG-I-INFODWARF, error reading Dwarf info: SHT_VMS_FIXUP section 10 size 17eb
e0 not multiple of 18
%DEBUG-I-INFODWARF, error reading Dwarf info: SHT_VMS_FIXUP section 12 size 17ec
30 not multiple of 18
OpenVMS I64 Debug64 Version V8.3-003
%DEBUG-F-ACCVIO, access violation, reason mask=00, virtual address=000000000014A
000, PC=000000007BD73100, PS=0000001B
%DEBUG-I-INITIAL, Language: C, Module: MINIREF
DBG>
The image file is not affected; it can be executed with the RUN command
without any problem:
$ RUN MINIREF
This error is corrected in the OpenVMS Version 8.3-1H1 Linker.
5.30.2 /SELECTIVE_SEARCH Qualifier Might Incorrectly Ignore Transfer
Address
V8.3-1H1
If you have an Integrity server object module containing a transfer address and
you include the module in the link operation with the /SELECTIVE_SEARCH
qualifier, the linker cannot find its transfer address.
In the following example, the object module (MAIN.OBJ) contains a transfer
address but /SELECTIVE_SEARCH qualifier ignores it:
$ LINK MAIN/SELECTIVE_SEARCH
%ILINK-W-USRTFR, image USER:[JOE]MAIN.EXE;1 has no user transfer address
Programming Release Notes 5–27