As before, the C/C++ compiler takes the source program and produces
an XOBJ. The binder has been extended to accept not only object modules
(in all structures, for example, traditional, XOBJ and GOFF), load
modules, program objects and z/OS UNIX files, as
earlier, but also z/OS UNIX archive
files and C370LIBs for autocall functions. It also accepts all prelinker
control statements. In addition, a C renaming routine was added to
the existing interface validation logic in the binder. The result
is that the prelinker step can be eliminated when SYSLMOD specifies
a PDSE program library because all the work previously performed by
the prelinker is now done by the binder. (This control flow is shown
on Figure 2.)
Eliminating the prelinker step has several advantages:
Improved performance with the elimination of a job step
Easier incorporation of new functions, released from the format
restrictions imposed by an intermediate data structure
Rebindable module as output, for example, it is not necessary
to return to object files to rebind
More efficient code distribution and servicing since single object
files can be shipped in PTFs rather than the fully bound C module.
Figure 1. Invoking the prelinker. This diagram shows where the prelinker is invoked when the binder
'prelinker' function is not used.
Figure 2. Prelinker
elimination. This is the optional control flow in the z/OS binder.