On 23 July 2012 15:42, John Gilmore <jwgli...@gmail.com> wrote:
> Frank,
>
> I take your point about the use of the binder option COMPAT(LKED).  It
> does ensure that no load module that contains a non-reentrant HLASM
> module will be marked RENT.

I think I've missed a bit in all this discussion. As you point out,
the assembler RENT option provides (inadequate but still helpful)
checks for coding that might be non-reenterable. It does not mark the
resulting object output with its conclusions, and indeed the
traditional object deck format has no mechanism for encoding such an
attribute, either at the CSECT or object module level. The GOFF format
does appear to have such a mechanism, but the HLASM documentation
suggests that it is not used in output from HLASM.

So when we speak of having the Binder ensure that load modules will
not contain assembler modules with NORENT (or indeed other undesirable
attributes), this will not be enforced if the Binder input includes
classic object modules, and I believe it will not happen with GOFF
either. It is, rather, a matter of discipline in managing assembler
object output, and this can be helped by processing these outputs one
at a time with the Binder, storing them as stub load modules or
Program Objects, and marking them appropriately at that first partial
bind. Then later Binder processing can warn appropriately on a more
automated basis.

> I am not, however, sure that COMPAT(LKED) is free of other disabilities.
>
> It ensures, for example, that target executables will be PDS-resident
> load modules, not PDSE-resident program objects.

The Binder book is more than a little confusing in its explanation of
the COMPAT option, but it does not say that COMPAT(LKED) forces
Linkage-Editor-like *output*, but just that "certain binder
*processing* options are to work in a manner compatible with the
linkage editor". In particular, if this option were to force load
module output, the explanation would conflict with the earlier "If
SYSLMOD is allocated to a PDSE or a z/OS UNIX file, the output is
saved as a program object in the format specified by the COMPAT
option. If the user specified a COMPAT value that does not support the
contents of the module, binder will issue a level 12 message and fail
the bind."

Tony H.
feeling unaccountably language-lawyerly today...

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to