I use this PROC, several grains of salt and much IEAEYEBALL

//LOADCMPR PROC OLDLIB=,NEWLIB=                  
//IEBGEN1  EXEC PGM=IEBGENER,REGION=1M,TIME=10   
//SYSPRINT DD DUMMY,SYSOUT=*                     
//SYSIN    DD DUMMY                              
//SYSUT2   DD DSN=&&ZAPIN,DISP=(,PASS),          
//            SPACE=(80,(1,1)),RECFM=FB          
//IEBGEN2  EXEC PGM=IEBGENER,REGION=1M,TIME=10   
//SYSPRINT DD DUMMY,SYSOUT=*                     
//SYSIN    DD DUMMY                              
//SYSUT2   DD DSN=&&AMBIN,DISP=(,PASS),          
//            SPACE=(80,(1,1)),RECFM=FB          
//AMBLIST  EXEC PGM=AMBLIST,REGION=5M            
//SYSPRINT DD DSN=&&DT1,SPACE=(CYL,(1,1)),       
//            DISP=(NEW,PASS),LRECL=133,RECFM=FBA
//LOADLIB  DD DSN=&OLDLIB,DISP=SHR               
//SYSIN    DD DSN=&&AMBIN,DISP=(OLD,PASS)        
//ZAPPING  EXEC PGM=AMASPZAP,REGION=5M           
//SYSPRINT DD DSN=&&DT1,SPACE=(CYL,(1,1)),       
//            DISP=(MOD,PASS),LRECL=133,RECFM=FBA
//SYSLIB   DD DSN=&OLDLIB,DISP=SHR               
//SYSIN    DD DSN=&&ZAPIN,DISP=(OLD,PASS)        
//AMBLIST2 EXEC PGM=AMBLIST,REGION=5M            
//SYSPRINT DD DSN=&&DT2,SPACE=(CYL,(1,1)),        
//            DISP=(NEW,PASS),LRECL=133,RECFM=FBA 
//LOADLIB  DD DSN=&NEWLIB,DISP=SHR                
//SYSIN    DD DSN=&&AMBIN,DISP=(OLD,PASS)         
//ZAPPING2 EXEC PGM=AMASPZAP,REGION=5M            
//SYSPRINT DD DSN=&&DT2,SPACE=(CYL,(1,1)),        
//            DISP=(MOD,PASS),LRECL=133,RECFM=FBA 
//SYSLIB   DD DSN=&NEWLIB,DISP=SHARE              
//SYSIN    DD DSN=&&ZAPIN,DISP=SHR                
//SUPERC  EXEC PGM=ISRSUPC,TIME=1439,             
//            PARM=(DELTAL,LINECMP,               
//            '',                                 
//            '')                                 
//OLDDD    DD DSN=&&DT1,DISP=(OLD,PASS)           
//NEWDD    DD DSN=&&DT2,DISP=(OLD,PASS)           
//OUTDD    DD SYSOUT=*                            
//SYSIN    DD DSN=GIBNEY.PROCLIB(CMPCOLM),DISP=SHR
//IEBGENE1 EXEC PGM=IEBGENER,REGION=1M,TIME=10    
//SYSPRINT DD DUMMY,SYSOUT=*                      
//SYSIN    DD DUMMY                               
//SYSUT1   DD DSN=&&DT1,DISP=(OLD,PASS)           
//SYSUT2   DD SYSOUT=*                            
//IEBGENE2 EXEC PGM=IEBGENER,REGION=1M,TIME=10    
//SYSPRINT DD DUMMY,SYSOUT=*             
//SYSIN    DD DUMMY                      
//SYSUT1   DD DSN=&&DT2,DISP=(OLD,PASS)  
//SYSUT2   DD SYSOUT=*                   

//COMPARE  EXEC LOADCMPR,                                          
 //         NEWLIB='GIBNEY.LOAD',                                   
 //         OLDLIB='SYS1.VTAMLIB.WSU'                               
 //IEBGEN1.SYSUT1   DD *                                            
   DUMPT USSTAZ FRED                                                
 //IEBGEN2.SYSUT1   DD *                                            
   LISTIDR  OUTPUT=ALL,DDN=LOADLIB,TITLE=('IDR',50),MEMBER=USSTAZ   
   LISTLOAD OUTPUT=BOTH,DDN=LOADLIB,TITLE=('LOAD',50),MEMBER=USSTAZ

I wouldn't even attempt this at the scale the OP was proposing. Like others, 
I'd look at a fresh install and migration.


> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:[email protected]]
> On Behalf Of Seymour J Metz
> Sent: Wednesday, January 10, 2018 12:23 PM
> To: [email protected]
> Subject: Re: Comparing load modules
> 
> I'm talking about the size field in the directory, not the size of the memory.
> 
> There's a reason that I wrote "but it's not for the faint of heart, and it 
> might
> go wrong in ways that I haven't thought of" ;-)
> 
> 
> --
> Shmuel (Seymour J.) Metz
> https://urldefense.proofpoint.com/v2/url?u=http-3A__mason.gmu.edu_-
> 7Esmetz3&d=DwIFAw&c=C3yme8gMkxg_ihJNXS06ZyWk4EJm8LdrrvxQb-
> Je7sw&r=u9g8rUevBoyCPAdo5sWE9w&m=AO_KA3LFia469X_npaZWx8FkNg
> DDiC3ACzHXhSXPzOo&s=qkK2P8kGzBiQJvJic4ZSpYVsmL9zWwclHuKhn7z8SSE
> &e=
> 
> ________________________________________
> From: IBM Mainframe Discussion List <[email protected]> on behalf
> of John Eells <[email protected]>
> Sent: Wednesday, January 10, 2018 3:12 PM
> To: [email protected]
> Subject: Re: Comparing load modules
> 
> Whether differently-sized modules are inequal cannot be determined from
> size alone when measured on disk (at least) for the reasons I posted earlier.
> The same is true of record-based, LOAD-based, and even Binder API-based
> binary compares.
> 
> Comparing LOADed modules is also not reliable in the general case for
> somewhat different reasons that I mentioned in the same post.  In addition to
> those reasons, it occured to me that different ordering can cause different
> amounts of storage to be consumed to maintain alignment boundaries (and
> the owner of the Binder confirms that).
> 
> (This is *way* harder than it looks at first glance.)
> 
> Seymour J Metz wrote:
> > Yes, but it's not for the faint of heart, and it might go wrong in ways 
> > that I
> haven't thought of. If the two load modules are not of the same size, then
> they're not equal. Otherwise, obtain a zeroed storage area (loadbuf) large
> enough to hold one, and a second storage area (comparebuf) of the same
> size.  Do a directed load of the first, copy it, then load the second and
> compare.
> <snip>
> --
> John Eells
> IBM Poughkeepsie
> [email protected]
> 
> ----------------------------------------------------------------------
> 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

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

Reply via email to