Compatibility with prelinker functions

The binder can directly process XOBJ modules in the format accepted by the IBM® Language Environment® for MVS™ & VM prelinker, a utility used as an interim step in the binding of many Language Environment-enabled programs. See z/OS Language Environment Programming Guide for additional information.

Added capability in the binder allows for direct processing of XOBJ object modules, obviating the need for the prelinker and simplifying the process for binding such programs. This provides for the creation of rebindable modules, since the binder preserves sufficient information in the saved module to allow the replacement of one or more compilation units.

The binder supports control statements that are functionally equivalent to those offered by the prelinker. The following table shows the relationships between binder and prelinker control statements.

Binder Prelinker
AUTOCALL LIBRARY with OE options
LIBRARY* LIBRARY with NOOE option
IMPORT IMPORT
RENAME RENAME

*The binder LIBRARY statement also accepts the same syntax used with the binder AUTOCALL statement (that is, specification of only a library name). The difference is that AUTOCALL is for incremental (immediate) autocall, while LIBRARY adds to the libraries used for final autocall. This latter LIBRARY capability is unique to the binder, it is not available with the Prelinker.

Note: Prelinker replacement is supported by the binder only for program objects in PO3 (or later) format. It is not supported for output saved in a load module.

Each XOBJ module will be converted to one or more named or unnamed sections in the program object. The input XOBJ text will be moved to specific binder text classes. The recipe cards in the XOBJ that provide instructions for initializing writable static will be converted into actual initialized text. The following table shows the major classes generated during XOBJ conversion.

Input XOBJ Class in output program object
reentrant code C_CODE
writeable static C_WSA
text in csect STINIT C_@@STINIT
text in csect DLLI C_@@DLLI
text in csect PPA2 C_@@PPA2

The binder also creates a table for use by Language Environment runtime routines in class B_LIT. If they are generated, these classes can be seen in the binder map output for section IEWBLIT.