Supported program modules

IBM® Automatic Binary Optimizer for z/OS® optimizes program modules output from the binder and load modules output from the linkage editor. The program modules output from the binder can be either program objects or load modules. Load modules produced by the linkage editor must be acceptable input to the binder for ABO to optimize them.

ABO is able to optimize both fully bound or partially bound program modules. A partially bound module is one that has been bound with CALL=NO or NCAL option and are often contained in a link library. If the ALLOW=NOUNRESEXE option has been specified, ABO will not optimize partially bound program modules. See the ALLOW option for more details.

ABO does not support the following COBOL modules:
Table 1. COBOL modules that ABO does not support
COBOL modules that ABO does not support Messages issued
Modules that the binder will not process

BOZ4116I followed by BOZ1429U

For example, the binder will not process load modules that have ESD names with invalid characters. When ABO encounters a module with an invalid ESD name, ABO will produce a BOZ4116I message and the BOZ4116I message includes the text of binder message IEW2512E. The text of IEW2512E includes the name of the invalid ESD name.

Modules bound with EDIT=NO BOZ1423S
Signed modules BOZ1424S
Modules marked not executable BOZ1422S
Modules that include object files from a prelink step but the prelink step was not done properly

BOZ4116I followed by BOZ1419S

For example, prelinking may be improper if it was not performed on all object files. This improper prelink could result in load modules that the binder and ABO will not process. ABO would produce a BOZ4116I message followed by a BOZ1419S message if the binder would not process the module. Prelinking is also not proper if the module includes output from multiple prelink steps. In this case, the original module would normally not run properly and ABO would produce a module that would also not run properly.

ABO scans the CSECTs within the program modules for those that are eligible for optimization. A CSECT is eligible for optimization by ABO if it was generated by an eligible COBOL compiler and all COBOL features used in the original COBOL program are supported by ABO.