MPE/iX System Utilities Reference Manual (32650-90908)

Chapter 22
SOMPATCH
Operation
186
Syntax
MO[DIFY] [symbol][+/-off][,count] [?mode] [oval] nval ...‘lb‘
Parameters
symbol Specifies the name of the associated level 1 symbol. This is normally a CODE type symbol,
but SOMPATCH accepts a DATA symbol. If the symbol has duplicates (that is, the same name
is used more than once in a multi-SOM library), the SOM command must be used to tell
SOMPATCH which SOM to look in for the desired symbol. If the symbol is not specified,
absolute addressing from 0 is assumed.
off The offset (in bytes) from the start of the symbol. It can be specified as a simple numeric
expression. The default is 0. If no symbol is specified, the offset must be positive.
count The word count (32-bit words) for the command. The default is 1. It is not needed for
character mode.
mode Indicates how the values are coming in, which can be one of hex, decimal, character, or octal.
The default is hex. Refer to the DISPLAY command for syntax.
oval The current value of specified location. Oval should be given whenever possible so that
SOMPATCH can verify that the modification instruction does indeed reference the correct area
in the file. Mode specification is the same as given under the nval entry.
nval The new value for a specified location. The default base specification mode is hex.
NOTE To specify verify on only part of the word, use a "#" character to specify each digit to be ignored.
All modifications are made in a buffer. However, if you issue a DISPLAY command following a MODIFY
command and reference the same location, you will see the oldvalue|newvalue pair.
Multi-SOM patches
If a MODIFY command belongs to a symbol in a different SOM from the last symbol encountered, and there is
no new LOG command, and the relevant SOMs have been built with a ypatch file, then the following action is
taken:
1. The current patch is written.
2. A new patch is generated, with the same information as the last one (user, patchid, srnumber), but
with comments truncated.
3. An informational message is displayed.
Error handling
If there is an error in a MODIFY command, the SOMPATCH utility takes one of the following actions, depending
on its state:
When running the program interactively, the current MODIFY command is not applied, but all previous
good MODIFY commands are applied.
If the input to the SOMPATCH utility is coming from a patch file, and the SOM being patched has not been
built with a ypatch file, then the current MODIFY command is not applied, but all previous good MODIFY
commands are applied.
If the input to the SOMPATCH utility is coming from a patch file, and the SOM being patched has been built
with a ypatch file, then none of the current patch (as specified by the last LOG command) is applied.
Example