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