I don't think LOAD would obviate the CSECT order issue. I also think
separate checksums by CSECT would be nice as a way to pinpoint any
differences.

I think one could defer overlay support until Version 2. <g>

I have certainly not thought the utility through thoroughly. I have
experience dealing with load modules at the record and byte level (I wrote
software that copied a load module PDS -> PC -> PDS, resulting in an
executable load module) but I know next to nothing about the DASD structure
of program objects.

Charles


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On
Behalf Of Farley, Peter x23353
Sent: Wednesday, May 4, 2022 1:46 PM
To: [email protected]
Subject: Re: Checksum of "legacy" load module?

Why not checksum (or otherwise securely hash) the memory images of the
module after each one to be compared is LOADed to the same starting storage
address so that address resolution doesn't cause irrelevant differences?
Wouldn't that be simpler?

Of course, then you would have to somehow deal with overlay modules and
RMODE SPLIT modules . . .  Never mind, dumb idea.

Peter

-----Original Message-----
From: IBM Mainframe Discussion List <[email protected]> On Behalf Of
Charles Mills
Sent: Wednesday, May 4, 2022 4:28 PM
To: [email protected]
Subject: Re: Checksum of "legacy" load module?

I should close the loop on this. I never actually did this, having
determined that the checksum test would be negative (different) in any
event.

It appears that depending on the order that PTFs were applied, the CSECTs
are in a different order in the load module, and so two programs that are
utterly functionally equivalent would have different checksums.

You know what would be an interesting product? A program that would take a
load module, "decompose" it into its constituent CSECTs, and checksum them
(including RLDs and ESDs), both individually and as a whole (in some
consistent order, such as collating sequence by name). That would let you
compare two load modules "logically," and if they were different, tell you
which CSECTs were different, independent of CSECT order, block size, etc. 

(Yes, you can hypothesize a program where CSECT order made a difference, but
it sounds unusual to me.)

Charles


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On
Behalf Of Charles Mills
Sent: Thursday, April 28, 2022 8:57 AM
To: [email protected]
Subject: Re: Checksum of "legacy" load module?

I apologize. Other things got in the way and I have not yet done this.

I recognize the great possibility of "false negatives": two load modules
could be functionally identical but checksum differently.

One might even quibble about the meaning of "functionally identical": if one
load module does LHI R0,0 and another does LA R0,0 are they functionally
identical? Most people would say they were, but obviously a checksum program
would (or should!) disagree.

Charles


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On
Behalf Of Seymour J Metz
Sent: Thursday, April 28, 2022 5:23 AM
To: [email protected]
Subject: Re: Checksum of "legacy" load module?

If you do a COPY then the records, and hence the hash, should be identical.
It's COPYMOD that reblocks.

I don't know of any utility that will compare only the csect text. Further,
two load modules might differ only in the RLD records, and that definitely
should be picked up as a change in version.

----------------------------------------------------------------------

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 [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to