Re: COBOL compiler option to list libraries from which COPY members were loaded?

2021-09-05 Thread Farley, Peter x23353
Thanks Sri.  As a prior poster pointed out, it is already there.  I just missed 
finding it in the listings that I browsed.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of Sri 
h Kolusu
Sent: Sunday, September 5, 2021 8:34 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: COBOL compiler option to list libraries from which COPY members 
were loaded?

> I was looking around at listings from multiple incarnations of COBOL 
> compilers and did not find any which listed the libraries from which 
> copy members were loaded, as HLASM does for macros and copy members.
>
> Has there ever been such a compiler option?


Peter,

You can use XREF(FULL)  compiler option

https://urldefense.com/v3/__https://www.ibm.com/docs/en/cobol-zos/6.3?topic=options-xref__;!!Ebr-cpPeAnfNniQ8HSAI-g_K5b7VKg!Ym5rdXc2PlrfKhGjo5-AqV6Mny2uMooqRDoj1KZ0R8xkErmaW8TLfVL3TsGCX2_mnxilKg$
 

and here is an example of the output

https://urldefense.com/v3/__https://www.ibm.com/docs/en/cobol-zos/6.3?topic=references-example-xref-output-copybasis-cross__;!!Ebr-cpPeAnfNniQ8HSAI-g_K5b7VKg!Ym5rdXc2PlrfKhGjo5-AqV6Mny2uMooqRDoj1KZ0R8xkErmaW8TLfVL3TsGCX29p8X7-Xg$
 


Thanks,
Kolusu
--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.

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


Re: COBOL compiler option to list libraries from which COPY members were loaded?

2021-09-05 Thread Farley, Peter x23353
<*Doh!*>

I missed seeing that part of the listings entirely.  And it has the same page 
title back at least as far back as ECOBOL V4.1.0.

Many thanks for enlightening me.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Peter Vels
Sent: Sunday, September 5, 2021 7:15 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: COBOL compiler option to list libraries from which COPY members 
were loaded?

I use "IBM Enterprise COBOL for z/OS  6.3.0 P210301" and there is a "COPY/BASIS 
cross-reference of text-names, library names and dataset information" section 
near the bottom of the compiler listing.

I also use "HLASM R6.0" and it has a "Macro and Copy Code Source Summary"
near the bottom of the listing.


> On Sun, Sep 5, 2021 at 13:57 Farley, Peter x23353 < 
> 031df298a9da-dmarc-requ...@listserv.ua.edu> wrote:
>
> > I was looking around at listings from multiple incarnations of COBOL 
> > compilers and did not find any which listed the libraries from which 
> > copy members were loaded, as HLASM does for macros and copy members.
> >
> > Has there ever been such a compiler option?
--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


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


Re: RENT binder option

2021-09-05 Thread David Spiegel

Hi R'Shmuel AMV"SH,
You said: "... That's why you have to rebuild from the object modules if 
a reentrant module was incorrectly linked as REUS. ...".
If you have the PDS Command Processor (CBT File 182) or Startool, you 
can "edit" the directory entry to add/remove these and other attributes 
(e.g. AC(0)/AC(1)).


Shana Tovah

Regards,
David

On 2021-09-05 17:44, Seymour J Metz wrote:

There used to be a children's game called telegram, where a group of children 
sat in a circle, one got a text and quietly read a short text to an adjacent 
chile, who quietly repeated it to the next child, etc., until it came back to 
the first child, who compared it to the original text. Those who know wrote 
what they aactually wrote, not what was attributed to them.

BTW, the text that you cited is incorrect;it's not whether the icluded module 
actually is refreshable or reentrant that affects the linkage editor, it's 
whether it is flagged with the attribute. That's why you have to rebuild from 
the object modules if a reentrant module was incorrectly linked as REUS.


--
Shmuel (Seymour J.) Metz
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmason.gmu.edu%2F~smetz3data=04%7C01%7C%7C843fac68f3a241365cd808d970b6669c%7C84df9e7fe9f640afb435%7C1%7C0%7C637664751026547371%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000sdata=OKM89FQ1NHIocWcpseIqFif00l3K4gvK1QpKtrha4AQ%3Dreserved=0


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of CM 
Poncelet [ponce...@bcs.org.uk]
Sent: Saturday, September 4, 2021 8:06 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: RENT binder option

Sure. Thank you for confirming that those who know agree with what I
have said - for the benefit of those who do not know and who might
otherwise be misled into thinking that REFR and RENT LMODs need to be
'protected' from modifying themselves and/or can modify themselves or
whatever nonsense else.

BTW Off-topic, my hard-copy "MVS/Extended Architecture Linkage Editor
and Loader Users's Guide" version 2 release 2.0 (order number
GC26-4143-1) second edition (June 1986) agrees with your MVS/370 linkage
editor user's guide from 1985, as quoted. And I would most respectfully
point out that e.g. "If the refreshable attribute is specified, and any
load modules that are not refreshable become a part of the input to the
linkage editor, the attribute is negated" does indeed apply if any
module's OBJ code has not been link-edited with the REFR attribute but
is then included in the LMOD's link-edit SYSLIN cards, *then* the
resulting LMOD is marked not REFR regardless of all other link-edited
modules included in the said SYSLIN cards having been marked REFR.

Thanks again for 'absolving' me from having to defend and protect
systems programming from being reduced to mere systems administration,
then to level-2 and then level-1 tech support, then to help-desk support
- as per Micro$oft Windoze. I thoroughly appreciate your supporting
mainframe systems programming.

I can now gladly drop out of this thread.

Cheers, Chris Poncelet (retired etc.)


On 04/09/2021 11:31, Joe Monk wrote:

"A module is REFR or RENT - not if it is link-edited as REFR or RENT, but
if it never modifies its own storage."

Why do you keep lecturing us on things we already know?

Jim Mulder knows it best as he is the frickin author of z/OS (well he and
Peter Relson).

Please stop.

"But it is the
programmer/developer who is responsible for ensuring that the module's
code is indeed REFR or RENT - and it is not the linkage-editor or
binder's responsibility."

To quote the MVS/370 linkage editor user's guide from 1985:

"If the reenterable attribute is specified, and any load modules that are
not reenterable become a part of the input to the linkage editor, the
attribute is negated."

"If the refreshable attribute is specified, and any load modules that are
not refreshable become a part of the input to the linkage editor, the
attribute is negated."

So, it has been the case since 1985 that the linkage editor does check the
input load modules, and will not mark a non-RENT/REFR load module as having
those attributes. Jim Mulder has been at IBM for 42 years, so 1985 ... yeah
he would've been working on MVS then.

Thanks.

Joe



On Fri, Sep 3, 2021 at 9:05 PM CM Poncelet  wrote:


At the risk of inviting 'flak', I suspect that there is a misconception
of what RENT and REFR modules actually are.

By definition, RENT and REFR modules should never modify themselves
(excluding the peculiar case of a RENT module that ENQ's on part of its
code, modifies it, restores it to what it was, then DEQ's it - as this
would not violate the definition of RENT modules being concurrently
executable by multiple tasks.)

A module is REFR or RENT - not if it is link-edited as REFR or RENT, but
if it never modifies its own storage. In other words, all modifiable
storage must first be 

Re: COBOL compiler option to list libraries from which COPY members were loaded?

2021-09-05 Thread Sri h Kolusu
> I was looking around at listings from multiple incarnations of COBOL
> compilers and did not find any which listed the libraries from which
> copy members were loaded, as HLASM does for macros and copy members.
>
> Has there ever been such a compiler option?


Peter,

You can use XREF(FULL)  compiler option

https://www.ibm.com/docs/en/cobol-zos/6.3?topic=options-xref

and here is an example of the output

https://www.ibm.com/docs/en/cobol-zos/6.3?topic=references-example-xref-output-copybasis-cross


Thanks,
Kolusu

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


Re: COBOL compiler option to list libraries from which COPY members were loaded?

2021-09-05 Thread Paul Gilmartin
On Sun, 5 Sep 2021 21:33:49 +, Farley, Peter x23353 wrote:
>...
>I know you have pointed out several flaws in that support already like needing 
>at least one (possibly empty) PDS/E in the concatenation ahead of the Unix 
>directories.
> 
I encountered that problem/circumvention with Rexx SYSEXEC.  Support
says DSORG=PO is required.  Alas, JCL makes DSORG mutex with PATH.

HLASM SYSLIB works well after IBM fixed a couple APARS for nested
COPYs in a mixed PDS/UNIX SYSLIB concatenation,

And similar problem/circumvention with AMATERSE UNPACK SYSUT1.

When I report such problems, Support tends to say, "That needs to be a
data set."  They are unmoved when I read them the definition from
"Using Data Sets".

>I think I will write my own test of that DESERV functionality just to see 
>where the bumps in the road are.
>
Good luck,
gil

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


Re: COBOL compiler option to list libraries from which COPY members were loaded?

2021-09-05 Thread Paul Gilmartin
On Mon, 6 Sep 2021 09:15:05 +1000, Peter Vels wrote:

>I use "IBM Enterprise COBOL for z/OS  6.3.0 P210301" and there is a
>"COPY/BASIS cross-reference of text-names, library names and dataset
>information" section near the bottom of the compiler listing.
> 
How are UNIX members reported?

>I also use "HLASM R6.0" and it has a "Macro and Copy Code Source Summary"
>near the bottom of the listing.
>
And HLASM re;ports UNIX members nicely.

-- gil

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


Re: COBOL compiler option to list libraries from which COPY members were loaded?

2021-09-05 Thread Peter Vels
I use "IBM Enterprise COBOL for z/OS  6.3.0 P210301" and there is a
"COPY/BASIS cross-reference of text-names, library names and dataset
information" section near the bottom of the compiler listing.

I also use "HLASM R6.0" and it has a "Macro and Copy Code Source Summary"
near the bottom of the listing.


> On Sun, Sep 5, 2021 at 13:57 Farley, Peter x23353 <
> 031df298a9da-dmarc-requ...@listserv.ua.edu> wrote:
>
> > I was looking around at listings from multiple incarnations of COBOL
> > compilers and did not find any which listed the libraries from which copy
> > members were loaded, as HLASM does for macros and copy members.
> >
> > Has there ever been such a compiler option?
>

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


Re: COBOL compiler option to list libraries from which COPY members were loaded?

2021-09-05 Thread Don Leahy
My shop uses Enterprise COBOL 6.2 and that information appears in the
compile listing.   I am not sure which compiler option influences that
behavior but it works by default.  I rely on it often.

On Sun, Sep 5, 2021 at 13:57 Farley, Peter x23353 <
031df298a9da-dmarc-requ...@listserv.ua.edu> wrote:

> I was looking around at listings from multiple incarnations of COBOL
> compilers and did not find any which listed the libraries from which copy
> members were loaded, as HLASM does for macros and copy members.
>
> Has there ever been such a compiler option?
>
> If not I suspect an RFE is in order.  Business justification: Needed as an
> aid to verification that the most recent COPY members were used during
> compilation as part of SDLC promotion process to QA/UAT/production status.
> Bonus points for listing the date/time of the member in each library (if
> available) as part of the compile listing.
>
> Peter
>
> This message and any attachments are intended only for the use of the
> addressee and may contain information that is privileged and confidential.
> If the reader of the message is not the intended recipient or an authorized
> representative of the intended recipient, you are hereby notified that any
> dissemination of this communication is strictly prohibited. If you have
> received this communication in error, please notify us immediately by
> e-mail and delete the message and any attachments from your system.
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

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


Re: RENT binder option

2021-09-05 Thread Seymour J Metz
There is no requirement that a self modifying reentrant module ever restore its 
original contents. The sole requirement is that concurrent invocations yield 
the correct result. it doesn't matter whether serialization is CS, ENQ, latch, 
lock, TS or "E. None of the above."

Likewise for RENT: the sole requirement is that it produce the correct result 
even if refreshed in meias res.

Now, for both REFR and REFR there are contexts where IBM imposses additional 
constraints, e.g., authorized concatenations, PLPA,  REFRPROT. And just because 
it is permissible for REFR and RENT code to modify itself doesn't mean that 
yoush should write self modifying code for production. IMHO such could should 
only be written as classroom exercises.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of CM 
Poncelet [ponce...@bcs.org.uk]
Sent: Friday, September 3, 2021 10:05 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: RENT binder option

At the risk of inviting 'flak', I suspect that there is a misconception
of what RENT and REFR modules actually are.

By definition, RENT and REFR modules should never modify themselves
(excluding the peculiar case of a RENT module that ENQ's on part of its
code, modifies it, restores it to what it was, then DEQ's it - as this
would not violate the definition of RENT modules being concurrently
executable by multiple tasks.)

A module is REFR or RENT - not if it is link-edited as REFR or RENT, but
if it never modifies its own storage. In other words, all modifiable
storage must first be GETMAINed (including the module's savearea
storage) and any WTO(R)s and DYNALLOC/SVC-99s, DCBs, ACBs and/or RPLs
etc. must then use the 'list' and 'executable' forms of these
macros/DSECTs to avoid modifying the module's own storage.)

As a 'first line of defence', such modules should be coded as RSECTs and
not as CSECTs - and the assembler will then trap (with a CC=08, IIRC)
any direct attempt to modify the module's own storage. But it is the
programmer/developer who is responsible for ensuring that the module's
code is indeed REFR or RENT - and it is not the linkage-editor or
binder's responsibility.

Arguing that REFR or RENT modules need to be 'protected' from modifying
themselves, or by others, is methinks beside the point - because such
modules should have been coded in such way that they *never* modify
themselves to begin with. If others can modify them, then it is these
other modules that should be investigated, not the REFR or RENT ones.


On 03/09/2021 13:34, Paul Gilmartin wrote:
> On Thu, 2 Sep 2021 16:02:07 -0400, Jim Mulder wrote:
>
>>  I found IBM  RENT modules that modified themselves
>> 15 years ago when I was experimenting to see what would
>> happen if we tried to page-protect RENT modules. I have a list:
>>
> Have you a similar list of IBM REFR modules that modify themselfes?
>
> Does the setting of REFRPROT affect processing of modules
> marked RENT but not REFR?
>
> What were the reusability attributes of the module in OA25089?
>
>> ANTMAIN
>> ANTSDMLK
>> IEAVNIPX
>> EZATNF
>> IOEFSKN
>> FNMVZJV
>> FNMVZCVA
>> EZAXVMCF
>> DSNHDECP
>> DSN9PARM
>> DSN3INI
>> CNMINIT
>> CNMCSSIM
>> CNMCSSIC
>>
>>  We subsequently removed the unintended RENT from IEAVNIPX.
>> So we don't page-protect RENT modules (except for experimental
>> purposes under control of another undocumented DIAGxx TRAP name),
>> and we implemented REFRPROT instead.  I haven't heard about
>> any IBM modules that get broken by REFRPROT.
> -- gil
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> .
>

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

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


Re: RENT binder option

2021-09-05 Thread Seymour J Metz
It is certainly true that there are cases where a self modifying REFR and RENT 
module is more efficient, but IMHO that is  asking for trouble. It's the sort 
of think that I would ask a student to do while learning the concepts, but warn 
against doing in production.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Andrew Rowley [and...@blackhillsoftware.com]
Sent: Saturday, September 4, 2021 4:34 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: RENT binder option

On 4/09/2021 12:05 pm, CM Poncelet wrote:
> By definition, RENT and REFR modules should never modify themselves
> (excluding the peculiar case of a RENT module that ENQ's on part of its
> code, modifies it, restores it to what it was, then DEQ's it - as this
> would not violate the definition of RENT modules being concurrently
> executable by multiple tasks.)
>
> A module is REFR or RENT - not if it is link-edited as REFR or RENT, but
> if it never modifies its own storage.
If a RENT module is not allowed to modify it's own storage, what is the
difference between RENT and REFR?

A RENT module can modify its own storage, it just needs to be done in a
way that is synchronized correctly between multiple tasks. As a
contrived example, imagine you had a module that counted how many times
it was invoked. You could keep that counter in program storage, as long
as the updates were appropriately synchronized. It doesn't actually
matter whether the counter is in GETMAINed storage or in the module
itself - either way updates need to be synchronized.

I wouldn't be surprised if a modifiable field in a RENT module is one of
the best performing ways to keep a reference to shared state
information. Conceptually it is the same as static fields in e.g. a C++
or Java class - the value is shared by every running instance, while
information that is specific to an instance is kept in GETMAINed storage.

I ran into this many years ago when I "cleaned up" and removed an empty
library from the STEPLIB of one of our subsystems. That suddenly meant
that the STEPLIB was considered APF authorized, which resulted in S0C4
abends when the subsystem was started and it tried to store information
in its RENT load module.

--
Andrew Rowley
Black Hill Software

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

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


Re: RENT binder option

2021-09-05 Thread Seymour J Metz
 1. Neither of those gentlemen is the author of z/OS, nor has either ever 
claimed to be.
They have both written code for z/OS, but so have many others.

 2. The quoted text is incorrect; the linkage editor tests how included load 
modules are flagged,
not how they should have been flagged.

 3. The testing of the attributes of included modules is much older than 1985.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Joe 
Monk [joemon...@gmail.com]
Sent: Saturday, September 4, 2021 6:31 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: RENT binder option

"A module is REFR or RENT - not if it is link-edited as REFR or RENT, but
if it never modifies its own storage."

Why do you keep lecturing us on things we already know?

Jim Mulder knows it best as he is the frickin author of z/OS (well he and
Peter Relson).

Please stop.

"But it is the
programmer/developer who is responsible for ensuring that the module's
code is indeed REFR or RENT - and it is not the linkage-editor or
binder's responsibility."

To quote the MVS/370 linkage editor user's guide from 1985:

"If the reenterable attribute is specified, and any load modules that are
not reenterable become a part of the input to the linkage editor, the
attribute is negated."

"If the refreshable attribute is specified, and any load modules that are
not refreshable become a part of the input to the linkage editor, the
attribute is negated."

So, it has been the case since 1985 that the linkage editor does check the
input load modules, and will not mark a non-RENT/REFR load module as having
those attributes. Jim Mulder has been at IBM for 42 years, so 1985 ... yeah
he would've been working on MVS then.

Thanks.

Joe



On Fri, Sep 3, 2021 at 9:05 PM CM Poncelet  wrote:

> At the risk of inviting 'flak', I suspect that there is a misconception
> of what RENT and REFR modules actually are.
>
> By definition, RENT and REFR modules should never modify themselves
> (excluding the peculiar case of a RENT module that ENQ's on part of its
> code, modifies it, restores it to what it was, then DEQ's it - as this
> would not violate the definition of RENT modules being concurrently
> executable by multiple tasks.)
>
> A module is REFR or RENT - not if it is link-edited as REFR or RENT, but
> if it never modifies its own storage. In other words, all modifiable
> storage must first be GETMAINed (including the module's savearea
> storage) and any WTO(R)s and DYNALLOC/SVC-99s, DCBs, ACBs and/or RPLs
> etc. must then use the 'list' and 'executable' forms of these
> macros/DSECTs to avoid modifying the module's own storage.)
>
> As a 'first line of defence', such modules should be coded as RSECTs and
> not as CSECTs - and the assembler will then trap (with a CC=08, IIRC)
> any direct attempt to modify the module's own storage. But it is the
> programmer/developer who is responsible for ensuring that the module's
> code is indeed REFR or RENT - and it is not the linkage-editor or
> binder's responsibility.
>
> Arguing that REFR or RENT modules need to be 'protected' from modifying
> themselves, or by others, is methinks beside the point - because such
> modules should have been coded in such way that they *never* modify
> themselves to begin with. If others can modify them, then it is these
> other modules that should be investigated, not the REFR or RENT ones.
>
>
> On 03/09/2021 13:34, Paul Gilmartin wrote:
> > On Thu, 2 Sep 2021 16:02:07 -0400, Jim Mulder wrote:
> >
> >>  I found IBM  RENT modules that modified themselves
> >> 15 years ago when I was experimenting to see what would
> >> happen if we tried to page-protect RENT modules. I have a list:
> >>
> > Have you a similar list of IBM REFR modules that modify themselfes?
> >
> > Does the setting of REFRPROT affect processing of modules
> > marked RENT but not REFR?
> >
> > What were the reusability attributes of the module in OA25089?
> >
> >> ANTMAIN
> >> ANTSDMLK
> >> IEAVNIPX
> >> EZATNF
> >> IOEFSKN
> >> FNMVZJV
> >> FNMVZCVA
> >> EZAXVMCF
> >> DSNHDECP
> >> DSN9PARM
> >> DSN3INI
> >> CNMINIT
> >> CNMCSSIM
> >> CNMCSSIC
> >>
> >>  We subsequently removed the unintended RENT from IEAVNIPX.
> >> So we don't page-protect RENT modules (except for experimental
> >> purposes under control of another undocumented DIAGxx TRAP name),
> >> and we implemented REFRPROT instead.  I haven't heard about
> >> any IBM modules that get broken by REFRPROT.
> > -- gil
> >
> > --
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> > .
> >
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Re: RENT binder option

2021-09-05 Thread Seymour J Metz
REFR pre-MVS was used by the Machine Check Handler (MCH) to determine whether 
it was allowed to refresh code after an uncorrectable memory failure. That 
recovery code does not exist in z/OS. RFER and RENT were independt options; a 
module could be both, one or neither.

RENT controlled serialization. Loading into SP252 key 0 was an RAS issue rather 
than required behavior.

There is and never has been frefreshing of main memory from cache, only from 
DASD.

I know of no IBM operating systems that test REFR in order to deternine whether 
to back up a page. Page-steal from PLPA discards modified pages whether the 
contains a flagged REFR or not.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of CM 
Poncelet [ponce...@bcs.org.uk]
Sent: Saturday, September 4, 2021 5:51 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: RENT binder option

AFAIK The difference between RENT and REFR is that REFR pages (or
frames) can be stolen without their having first to backed up - because
they can be REFReshed from cache or DASD without this affecting the
code's execution - whereas RENT code pages do need to be backed up
before they can be stolen.

On 04/09/2021 09:34, Andrew Rowley wrote:
> On 4/09/2021 12:05 pm, CM Poncelet wrote:
>> By definition, RENT and REFR modules should never modify themselves
>> (excluding the peculiar case of a RENT module that ENQ's on part of its
>> code, modifies it, restores it to what it was, then DEQ's it - as this
>> would not violate the definition of RENT modules being concurrently
>> executable by multiple tasks.)
>>   A module is REFR or RENT - not if it is link-edited as REFR or
>> RENT, but
>> if it never modifies its own storage.
> If a RENT module is not allowed to modify it's own storage, what is
> the difference between RENT and REFR?
>
> A RENT module can modify its own storage, it just needs to be done in
> a way that is synchronized correctly between multiple tasks. As a
> contrived example, imagine you had a module that counted how many
> times it was invoked. You could keep that counter in program storage,
> as long as the updates were appropriately synchronized. It doesn't
> actually matter whether the counter is in GETMAINed storage or in the
> module itself - either way updates need to be synchronized.
>
> I wouldn't be surprised if a modifiable field in a RENT module is one
> of the best performing ways to keep a reference to shared state
> information. Conceptually it is the same as static fields in e.g. a
> C++ or Java class - the value is shared by every running instance,
> while information that is specific to an instance is kept in GETMAINed
> storage.
>
> I ran into this many years ago when I "cleaned up" and removed an
> empty library from the STEPLIB of one of our subsystems. That suddenly
> meant that the STEPLIB was considered APF authorized, which resulted
> in S0C4 abends when the subsystem was started and it tried to store
> information in its RENT load module.
>

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

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


Re: RENT binder option

2021-09-05 Thread Seymour J Metz
There used to be a children's game called telegram, where a group of children 
sat in a circle, one got a text and quietly read a short text to an adjacent 
chile, who quietly repeated it to the next child, etc., until it came back to 
the first child, who compared it to the original text. Those who know wrote 
what they aactually wrote, not what was attributed to them.

BTW, the text that you cited is incorrect;it's not whether the icluded module 
actually is refreshable or reentrant that affects the linkage editor, it's 
whether it is flagged with the attribute. That's why you have to rebuild from 
the object modules if a reentrant module was incorrectly linked as REUS.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of CM 
Poncelet [ponce...@bcs.org.uk]
Sent: Saturday, September 4, 2021 8:06 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: RENT binder option

Sure. Thank you for confirming that those who know agree with what I
have said - for the benefit of those who do not know and who might
otherwise be misled into thinking that REFR and RENT LMODs need to be
'protected' from modifying themselves and/or can modify themselves or
whatever nonsense else.

BTW Off-topic, my hard-copy "MVS/Extended Architecture Linkage Editor
and Loader Users's Guide" version 2 release 2.0 (order number
GC26-4143-1) second edition (June 1986) agrees with your MVS/370 linkage
editor user's guide from 1985, as quoted. And I would most respectfully
point out that e.g. "If the refreshable attribute is specified, and any
load modules that are not refreshable become a part of the input to the
linkage editor, the attribute is negated" does indeed apply if any
module's OBJ code has not been link-edited with the REFR attribute but
is then included in the LMOD's link-edit SYSLIN cards, *then* the
resulting LMOD is marked not REFR regardless of all other link-edited
modules included in the said SYSLIN cards having been marked REFR.

Thanks again for 'absolving' me from having to defend and protect
systems programming from being reduced to mere systems administration,
then to level-2 and then level-1 tech support, then to help-desk support
- as per Micro$oft Windoze. I thoroughly appreciate your supporting
mainframe systems programming.

I can now gladly drop out of this thread.

Cheers, Chris Poncelet (retired etc.)


On 04/09/2021 11:31, Joe Monk wrote:
> "A module is REFR or RENT - not if it is link-edited as REFR or RENT, but
> if it never modifies its own storage."
>
> Why do you keep lecturing us on things we already know?
>
> Jim Mulder knows it best as he is the frickin author of z/OS (well he and
> Peter Relson).
>
> Please stop.
>
> "But it is the
> programmer/developer who is responsible for ensuring that the module's
> code is indeed REFR or RENT - and it is not the linkage-editor or
> binder's responsibility."
>
> To quote the MVS/370 linkage editor user's guide from 1985:
>
> "If the reenterable attribute is specified, and any load modules that are
> not reenterable become a part of the input to the linkage editor, the
> attribute is negated."
>
> "If the refreshable attribute is specified, and any load modules that are
> not refreshable become a part of the input to the linkage editor, the
> attribute is negated."
>
> So, it has been the case since 1985 that the linkage editor does check the
> input load modules, and will not mark a non-RENT/REFR load module as having
> those attributes. Jim Mulder has been at IBM for 42 years, so 1985 ... yeah
> he would've been working on MVS then.
>
> Thanks.
>
> Joe
>
>
>
> On Fri, Sep 3, 2021 at 9:05 PM CM Poncelet  wrote:
>
>> At the risk of inviting 'flak', I suspect that there is a misconception
>> of what RENT and REFR modules actually are.
>>
>> By definition, RENT and REFR modules should never modify themselves
>> (excluding the peculiar case of a RENT module that ENQ's on part of its
>> code, modifies it, restores it to what it was, then DEQ's it - as this
>> would not violate the definition of RENT modules being concurrently
>> executable by multiple tasks.)
>>
>> A module is REFR or RENT - not if it is link-edited as REFR or RENT, but
>> if it never modifies its own storage. In other words, all modifiable
>> storage must first be GETMAINed (including the module's savearea
>> storage) and any WTO(R)s and DYNALLOC/SVC-99s, DCBs, ACBs and/or RPLs
>> etc. must then use the 'list' and 'executable' forms of these
>> macros/DSECTs to avoid modifying the module's own storage.)
>>
>> As a 'first line of defence', such modules should be coded as RSECTs and
>> not as CSECTs - and the assembler will then trap (with a CC=08, IIRC)
>> any direct attempt to modify the module's own storage. But it is the
>> programmer/developer who is responsible for ensuring that the module's
>> code is indeed REFR or RENT - and it is not the linkage-editor or
>> binder's 

Re: COBOL compiler option to list libraries from which COPY members were loaded?

2021-09-05 Thread Farley, Peter x23353
"If the member is any PDSE member, the information should be available from 
FAMS."

Or from DESERV for programmers whose company has not signed the NDA and paid 
the license fee to get FAMS documentation.

And since DESERV FUNC=GET requires only an open BPAM DCB which can be for a DD 
concatenation which may include Unix directories, I would hope that at least 
some of the same information would also be available (at least modify time, 
though probably not many of the other ISPF statistics) for Unix files used as 
copy members.

I know you have pointed out several flaws in that support already like needing 
at least one (possibly empty) PDS/E in the concatenation ahead of the Unix 
directories.

I think I will write my own test of that DESERV functionality just to see where 
the bumps in the road are.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Paul Gilmartin
Sent: Sunday, September 5, 2021 3:25 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: COBOL compiler option to list libraries from which COPY members 
were loaded?

On Sun, 5 Sep 2021 17:57:12 +, Farley, Peter x23353  wrote:

>I was looking around at listings from multiple incarnations of COBOL compilers 
>and did not find any which listed the libraries from which copy members were 
>loaded, as HLASM does for macros and copy members.
>...
>... Bonus points for listing the date/time of the member in each library 
> (if available) as part of the compile listing.
>
I don't believe HLASM shows that information either.  It would be useful.

If the  PDS/PDSE member was edited with ISPF, the information should be 
available from ISPF stats.

If the member is a UNIX file, the informattion should be available from tne 
file timestamp.

If the member is any PDSE member, the information should be available from FAMS.

Perhaps an RFE should request an API to extract such information independent of 
ISPF for each of those cases.

--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


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


Re: Shopz order eliminate superseded service

2021-09-05 Thread Seymour J Metz
It's a tradeoff; some superceding PTFs might have PEs.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Bill Giannelli [billgianne...@gmail.com]
Sent: Saturday, September 4, 2021 9:09 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Shopz order eliminate superseded service

When I order maintenance from Shopz there is the option to eliminate superseded 
service. should this be normally selected?
thanks
Bill

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

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


Re: COBOL compiler option to list libraries from which COPY members were loaded?

2021-09-05 Thread Tom Harper
The “Macro and Copy Code Cross Reference “ output of HLASM the concatenation 
number from which it is fetched is displayed. 

The MXREF(XREF) or MXREF(FULL) generates this section. 

Sent from my iPhone

> On Sep 5, 2021, at 3:24 PM, Paul Gilmartin 
> <000433f07816-dmarc-requ...@listserv.ua.edu> wrote:
> 
>> On Sun, 5 Sep 2021 17:57:12 +, Farley, Peter x23353  wrote:
>> 
>> I was looking around at listings from multiple incarnations of COBOL 
>> compilers and did not find any which listed the libraries from which copy 
>> members were loaded, as HLASM does for macros and copy members.
>>   ...
>>   ... Bonus points for listing the date/time of the member in each library 
>> (if available) as part of the compile listing.
>> 
> I don't believe HLASM shows that information either.  It would be useful.
> 
> If the  PDS/PDSE member was edited with ISPF, the information should be
> available from ISPF stats.
> 
> If the member is a UNIX file, the informattion should be available from tne
> file timestamp.
> 
> If the member is any PDSE member, the information should be available
> from FAMS.
> 
> Perhaps an RFE should request an API to extract such information independent
> of ISPF for each of those cases.
> 
> -- gil
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN



This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.

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


Re: COBOL compiler option to list libraries from which COPY members were loaded?

2021-09-05 Thread Steve Thompson
I think it does unless that info was dropped since I wrote ASYSLIB and pointed 
out the data display was wrong, as in wrong PDS. ASYSLIB changed the 
concatenation via changing the DDNAME being used. 

That was back about 1996 or so. 

Sent from my iPhone — small keyboarf, fat fungrs, stupd spell manglr. Expct 
mistaks 


> On Sep 5, 2021, at 3:25 PM, Paul Gilmartin 
> <000433f07816-dmarc-requ...@listserv.ua.edu> wrote:
> 
> On Sun, 5 Sep 2021 17:57:12 +, Farley, Peter x23353  wrote:
> 
>> I was looking around at listings from multiple incarnations of COBOL 
>> compilers and did not find any which listed the libraries from which copy 
>> members were loaded, as HLASM does for macros and copy members.
>>   ...
>>   ... Bonus points for listing the date/time of the member in each library 
>> (if available) as part of the compile listing.
>> 
> I don't believe HLASM shows that information either.  It would be useful.
> 
> If the  PDS/PDSE member was edited with ISPF, the information should be
> available from ISPF stats.
> 
> If the member is a UNIX file, the informattion should be available from tne
> file timestamp.
> 
> If the member is any PDSE member, the information should be available
> from FAMS.
> 
> Perhaps an RFE should request an API to extract such information independent
> of ISPF for each of those cases.
> 
> -- gil
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

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


Re: COBOL compiler option to list libraries from which COPY members were loaded?

2021-09-05 Thread Paul Gilmartin
On Sun, 5 Sep 2021 17:57:12 +, Farley, Peter x23353  wrote:

>I was looking around at listings from multiple incarnations of COBOL compilers 
>and did not find any which listed the libraries from which copy members were 
>loaded, as HLASM does for macros and copy members.
>...
>... Bonus points for listing the date/time of the member in each library 
> (if available) as part of the compile listing.
>
I don't believe HLASM shows that information either.  It would be useful.

If the  PDS/PDSE member was edited with ISPF, the information should be
available from ISPF stats.

If the member is a UNIX file, the informattion should be available from tne
file timestamp.

If the member is any PDSE member, the information should be available
from FAMS.

Perhaps an RFE should request an API to extract such information independent
of ISPF for each of those cases.

-- gil

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


Re: SMF field data

2021-09-05 Thread Bill Giannelli
finally found out that I had a zparm accumuid set to 1 once I changed it to 0 
the data started showing up.
Bill

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


COBOL compiler option to list libraries from which COPY members were loaded?

2021-09-05 Thread Farley, Peter x23353
I was looking around at listings from multiple incarnations of COBOL compilers 
and did not find any which listed the libraries from which copy members were 
loaded, as HLASM does for macros and copy members.

Has there ever been such a compiler option?

If not I suspect an RFE is in order.  Business justification: Needed as an aid 
to verification that the most recent COPY members were used during compilation 
as part of SDLC promotion process to QA/UAT/production status.  Bonus points 
for listing the date/time of the member in each library (if available) as part 
of the compile listing.

Peter

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.

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


Re: SMF field data

2021-09-05 Thread Charles Mills
Open a ticket with IBM.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Bill Giannelli
Sent: Saturday, September 4, 2021 6:15 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: SMF field data

It appears that these 2 fields, ENDUSERWN and ENDUSERWN_L in BMC (QWHCEUWN and 
QWHCEUWN_Var in SMF) are blank for all records from 2 of our LPARS for all DB2 
members on those LPARS.
The fields are populated from a third LPAR for all DB2 members on that LPAR.
I have not found any differences in the DB2 traces.
Is there something LPAR specific that would restrict this data?
thanks
Bill

   

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

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


Re: SMF field data

2021-09-05 Thread John S. Giltner, Jr.
Can you identify what the names may map back to?  Are they IP host names, 
NetBIOS computer names?

I know DB2 tries to do a reverse look-up when a remote I IP host when they 
connect to it.   If so, could 2 of your LPAR's be using different DNS servers 
than the 3rd?   Or maybe the hosts connecting to the one LPAR have PTR records 
while the hosts connecting to the other 2 LPAR's don't have PTR records.

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


Re: SMF field data

2021-09-05 Thread Martin Packer
I'm not aware of anything., I'd talk to BMC about this but I suspect it's 
how the clients are set up. You also didn't say what client connection 
types. Also it could be a Db2 bug. Again, not being a Db2 specialist, I 
wouldn't know about a Db2 bug.

Cheers, Martin

Martin Packer

WW z/OS Performance, Capacity and Architecture, IBM Technology Sales

+44-7802-245-584

email: martin_pac...@uk.ibm.com

Twitter / Facebook IDs: MartinPacker

Blog: https://mainframeperformancetopics.com

Mainframe, Performance, Topics Podcast Series (With Marna Walle): 
https://anchor.fm/marna-walle

Youtube channel: https://www.youtube.com/channel/UCu_65HaYgksbF6Q8SQ4oOvA



From:   "Bill Giannelli" 
To: IBM-MAIN@LISTSERV.UA.EDU
Date:   04/09/2021 14:15
Subject:[EXTERNAL] Re: SMF field data
Sent by:"IBM Mainframe Discussion List" 



It appears that these 2 fields, ENDUSERWN and ENDUSERWN_L in BMC (QWHCEUWN 
and QWHCEUWN_Var in SMF) are blank for all records from 2 of our LPARS for 
all DB2 members on those LPARS.
The fields are populated from a third LPAR for all DB2 members on that 
LPAR.
I have not found any differences in the DB2 traces.
Is there something LPAR specific that would restrict this data?
thanks
Bill

 

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



Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU


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


Re: ispf edit macro "HX" line command

2021-09-05 Thread Weizman arbel
>I do not understand your response, you asked;
I asked about  line commnad  

>ISREDIT HX .ZCSR
There was a suggestion
and my response was
that is a line command And it does not work.
Sorry for the misunderstanding

I did not know the option
"quote original message"
and It's tapping me to comment





On Thu, 2 Sep 2021 10:55:00 -0500, Carmen Vitullo  wrote:

>I do not understand your response, you asked;
>
>there is a way to execute  "HX"  line command
>from edit macro ?
>ISREDIT HX .ZCSR
>
>- is a line command
>
>now you are asking command line ?
>so
>ISREDIT (CMD) - 'HEX'
>
>Carmen
>
>On 9/2/2021 10:14 AM, Weizman arbel wrote:
>> ISREDIT HX .ZCSR  should work
>>
>> this is command line
>> and there is Does not exist HX in command line (the command is hex on / hex 
>> off)
>>
>> --
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>>
>--
>/I am not bound to win, but I am bound to be true. I am not bound to
>succeed, but I am bound to live by the light that I have. I must stand
>with anybody that stands right, and stand with him while he is right,
>and part with him when he goes wrong. *Abraham Lincoln*/
>
>--
>For IBM-MAIN subscribe / signoff / archive access instructions,
>send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

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