When building a load module with CALLLIBS, SMP/E may first need
to link-edit the "base" version of the load module into the SMPLTS
data set before link-editing the load module into its true target
libraries:
- If the UPGLEVEL subentry exists for the set-to zone, a load module
should exist in the SMPLTS data set only if it has both CALLLIBS subentries
and an XZMOD subentry, indicating that at least one cross-zone module
was linked into the load module. Therefore:
- For a load module with CALLLIBS, but with no XZMOD subentries,
SMP/E rebuilds the load module from scratch and links the rebuilt
load module into its true system libraries by passing the CALL parameter
with a SYSLIB data set allocated using the load module's CALLLIBS
subentries. Typically, SMP/E does not link-edit the load module into
the SMPLTS, although it may need to create a temporary member in SMPLTS
to resolve certain warning conditions identified by the binder.
This temporary member (if created) is deleted from the SMPLTS after
a successful link-edit into the target library.
- For a load module with both CALLLIBS and XZMOD subentries, SMP/E
first looks for the "base" version of the load module in the SMPLTS
data set. If the load module does not exist in the SMPLTS, SMP/E rebuilds
the "base" version of load module from scratch and saves it in the
SMPLTS data set. SMP/E next links the load module into its true system
libraries by including the "base" version from the SMPLTS and passing
the CALL parameter with a SYSLIB data set allocated using the load
module's CALLLIBS subentries.
- If no UPGLEVEL subentry exists for the set-to zone, SMP/E first
looks for the "base" version of the load module in SMPLTS. If the
load module does not exist in the SMPLTS data set, SMP/E rebuilds
the load module from scratch and saves it in the SMPLTS data set.
SMP/E next links the load module into its true system libraries by
including the base version from the SMPLTS and passing the CALL parameter
with a SYSLIB data set allocated using the load module's CALLLIBS
subentries.