There are four common options for the linkage editor and one free-form text field where any other options may be specified as described in the MVS Program Management: User’s Guide and Reference manual. The common linkage editor options are:
| Link Edit | ||
| Option: | Value: | Description: |
| CALL | CALL |
Automatic library call option
During input processing AUTOCALL control statements instruct the binder to resolve external references against a specified library. At the end of input processing the binder performs final AUTOCALL, where libraries specified on LIBRARY control statements and the SYSLIB DD are used to resolve any remaining external references. External references that are unresolved at the end of final AUTOCALL are treated as severity 8 errors. When the no automatic library include option is specified, the binder does not search any library members to resolve external references. Unresolved external references will be treated as severity 4 errors. If this option is specified, you do not need to use the LIBRARY statement to negate the automatic library call for selected external references, and you do not need to supply a SYSLIB DD statement. Unless the LET option is also specified, other errors might still cause the module to be marked not executable. |
| NCAL | Specifies that AUTOCALL processing is turned off. | |
| NOCALL | Specifies that AUTOCALL processing is turned off. | |
| LET | LET |
Let execute option
Ordinarily, the binder marks an output program module as non-executable when an error with a severity level of 8 or higher is encountered. You can override this by specifying a different severity level using the LET option. The binder then marks the module as non-executable only if an error is encountered whose severity level is higher than what you specified. LET=4 is the default value. Coding the NOLET keyword will cause the binder to mark the output module as non-executable when an error occurs with a severity level of 4 or higher. If LET is specified without a value, LET(8) is assumed. If LET=4 is specified, XCAL does not need to be specified. |
| LET(0) | Mark module non-executable for errors 0 or higher. | |
| LET(4) | Mark module non-executable for errors 4 or higher. | |
| LET(8) | Mark module non-executable for errors 8 or higher. | |
| LET(12) | Mark module non-executable for errors 12 or higher. | |
| NOLET | Mark module non-executable for errors 4 or higher. | |
| REUS | NONE |
Reusability options
The REUS option allows you to specify how a program can be reused. (Reusability means that the same copy of a program module can be used by more than one task either concurrently or one after another.) Note that the value of the REUS option always overrides the reusability of any included load modules or program objects. For NONE, the module cannot be reused. A new copy must be brought into virtual storage for each use. NONE is the default value. |
| SERIAL | The module is serially reusable. It can only be executed by one task at a time; when one task has finished executing it another task can begin. A serially reusable module can modify its own code, but when it is reexecuted it must initialize itself or restore any instructions or data that have been altered. | |
| RENT | The module is reenterable. It can be executed by more than one task at a time. A task can begin executing it before a previous task has completed execution. A reenterable module is ordinarily expected not to modify its own code. In some cases, MVS protects the reentrant module’s virtual storage so that it cannot be modified except by a program running in key 0. These cases include programs which the system treats as having been loaded from an authorized library, and also programs running under UNIX unless a debugging environment has been specified. Reenterable modules are also serially reusable. | |
| REFR |
The module is refreshable. It can be replaced by a new copy during execution without changing the sequence or results of processing. A refreshable module cannot be modified during execution. A module can only be refreshable if all the control sections within it are refreshable. The refreshable attribute is negated if any input modules are not refreshable. Refreshable modules are also reenterable and serially reusable. The refreshable attribute can be specified for any nonmodifiable module. |
|
| XREF | XREF |
Cross reference table option
When the XREF option is specified, the binder produces a cross-reference table of the program module in the SYSPRINT data set. In the case of an empty module, no program module map will be generated. If you also need a module map, you must request one using the MAP option. When a bind specifying the XREF option fails resulting in a not-executable (NX) module, a cross-reference table will be included in the binder listing. XREF=NO is the default value and can also be specified with the keyword NOXREF. |
| NOXREF | Do not produce a cross-reference table. | |
All other link edit options can be coded in the free-form text field labeled Other options. Specify each link edit option separated by a comma.