Frank, ...being with IBM, I have some contacts that sometimes help me out. I passed your question along to our COBOL compiler lab and they think you may have encountered a shortcoming in COBOL 6.3. They recommended that you should call IBM support and open a case. I hope this helps..... Regards, Mitch McCluhan -----Original Message----- From: Frank Swarbrick <[email protected]> To: [email protected] Sent: Mon, Aug 16, 2021 2:46 pm Subject: Static CEEPCALL to COBOL 5/6
I have a very simple LE-enabled assembler program: SYSSTATE ARCHLVL=2 CALLER CEEENTRY MAIN=YES,RMODE=ANY CEEPCALL COBTEST,MF=(E,) CEETERM PPA CEEPPA , CEEDSA , CEECAA , END CALLER This works under the following conditions: - COBTEST is a COBOL V6.3 DLL and is "DLL linked" with CALLER. - COBTEST is a COBOL V4.2 non-DLL and is static linked with CALLER. However, if COBTEST is a COBOL V6.3 non-DLL and is static linked with CALLER, it abends with an S0C1. It appears that when a COBOL V6.3 program is static linked with an LE-assembler main program it's wiping our or not properly setting CEECAACRENT, the address of the writable static area. Specifically, the CEEPCALL macro expansion has the following statement: L 15,500(,12) LOAD 15 WITH CEECAACRENT When working properly, this loads R15 with a valid address. But in the not working scenario it's loading address 0. Should this be working? Is this a bug? Am I doing something wrong? Thanks, Frank ---------------------------------------------------------------------- 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
