Patches a file at absolute virtual addresses. This is the
default for Alpha and Integrity server systems. The /ABSOLUTE
function allows a user to patch any file (not just image files)
at absolute virtual addresses relative to the beginning of the
file. This feature allows replacement of existing data with new
data of the same length. If the data is smaller than that of
the original data, PATCH uses the appropriate fill character for
the mode in use. For example, if the current mode is instruction
mode, a NOP is used for fill; if it is data (numeric or ASCII)
mode, a NULL is used for fill. Any PATCH operation that results
in a data replacement longer than the length of the original
data generates an error message and terminates the command in
progress; either the PATCH or DCL prompt is then displayed,
whichever is appropriate.
Also, note that there is no default patch area, and none will be
created, because of the tendency to corrupt a file. Patch area is
meaningless in other than an image file.
If you patch a file in absolute mode, remember that there are no
symbols available to assist you in locating data locations. You
must exercise great care to ascertain that the correct locations
are modified.
Most PATCH commands will work in their normal fashion. However,
only REPLACE and DEPOSIT should be used for write operations;
other commands are acceptable for read operations. Commands that
attempt to expand the file, such as ALIGN and INSERT, should
be avoided because they will probably corrupt the file. (These
commands will be trapped by PATCH and an error message will be
issued indicating that the replacement data must not exceed the
length of the original data.)
File attributes are propagated from the original input file to
the output file. These include ALQ, TYPE, MRS, RAT, RFM, and RAC.