RENAME control statement

The RENAME control statement has the following syntax:

Read syntax diagramSkip visual syntax diagram
Syntax

>>-RENAME--L-name--S-name--+--------+--------------------------><
                           '-SEARCH-'   

L-name
The name of the input L-name to be renamed on output. All occurrences of this L-name are renamed.
S-name
The name of the output S-name to which the L-name will be changed. This name can be at most 8 characters and case is respected.
SEARCH
An optional parameter specifying that if the S-name is undefined, the prelinker searches by an automatic library call for the definition of the S-name. SEARCH is not supported under z/OS UNIX.
The RENAME control statement is processed by the prelinker and can be used for several purposes:
  • To explicitly override the default name given to an L-name when an L-name is mapped to an S-name.

    You can explicitly control the names presented to the system linkage editor so that external variable and function names are consistent from one linkage editor run to the next. This consistency makes it easier to recognize control section and label names that appear in system dumps and linkage editor listings. Another mapping rule (described in Mapping L-Names to S-Names) can provide the suitable name, but if you need to replace the linkage editor control section, you need to maintain consistent names.

  • To explicitly bind an L-name to an S-name. This binding might be necessary when communicating with objects from other language and assembler processors, because these processors generate only S-names.
  • A RENAME control statement cannot be used to rename a writable static object because its name is not contained in the output from the prelinker.

RENAME control statements can be placed before, between, or after other control statements or object modules. An object module can contain only RENAME statements. Also, RENAME statements can be placed in input that is included because of other RENAME statements.