Re: Why do all entry points have to be in the same class?
B_TEXT? C_CODE? That sounds like load modules are not relevant, only program objects and Unix files. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 עַם יִשְׂרָאֵל חַי From: IBM Mainframe Discussion List on behalf of Schmitt, Michael Sent: Monday, October 23, 2023 10:21 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Why do all entry points have to be in the same class? But B_TEXT is both for assembler and Enterprise COBOL v4 and earlier. This COBOL requires LE, as does any COBOL after LE was introduced in 1998. That certainly includes COBOL/370, COBOL for MVS & VM, COBOL for OS/390 & VM, COBOL for z/OS & OS/390, and COBOL for z/OS. And C_CODE doesn't mean COBOL or LE. As far as I know, it just means Compiler Code, which could be any compiler, including one that doesn't use LE. My guess is that something is treating the alias as an offset from the start of the class, not from the load module load address or EPA. And since the class isn't in the alias, it is from the start of the class of the main entry. Whatever it is, it is annoying. The only way I could get my load module to work was to downgrade the COBOL program to COBOL v4, so that it was in the same B_TEXT class as the assembler program. -Original Message- From: IBM Mainframe Discussion List On Behalf Of Jon Perryman Sent: Friday, October 20, 2023 8:26 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Why do all entry points have to be in the same class? On Fri, 20 Oct 2023 16:38:54 +, Schmitt, Michael wrote: > main module entry point is assembler (CLASS B_TEXT) > and the alternate entry I wanted was to IBM Enterprise COBOL for z/OS v6 > (CLASS C_CODE). > >This is not permitted. *why* do all entry points have to be in the same class? > I thought a directory alias entry is just an offset into the module. The most obvious answer is incompatible entry point types. Language Environment entry points require LE initialization whereas no pre-processing is required for an assembler entry point. -- 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: Why do all entry points have to be in the same class?
On Mon, 23 Oct 2023 14:21:55 +, Schmitt, Michael wrote: >And C_CODE doesn't mean COBOL or LE. As far as I know, it just means Compiler >Code, > which could be any compiler, including one that doesn't use LE. My guess is that C_CODE came into existence when IBM wrote the IBM C / C++ compiler. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Why do all entry points have to be in the same class?
But B_TEXT is both for assembler and Enterprise COBOL v4 and earlier. This COBOL requires LE, as does any COBOL after LE was introduced in 1998. That certainly includes COBOL/370, COBOL for MVS & VM, COBOL for OS/390 & VM, COBOL for z/OS & OS/390, and COBOL for z/OS. And C_CODE doesn't mean COBOL or LE. As far as I know, it just means Compiler Code, which could be any compiler, including one that doesn't use LE. My guess is that something is treating the alias as an offset from the start of the class, not from the load module load address or EPA. And since the class isn't in the alias, it is from the start of the class of the main entry. Whatever it is, it is annoying. The only way I could get my load module to work was to downgrade the COBOL program to COBOL v4, so that it was in the same B_TEXT class as the assembler program. -Original Message- From: IBM Mainframe Discussion List On Behalf Of Jon Perryman Sent: Friday, October 20, 2023 8:26 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Why do all entry points have to be in the same class? On Fri, 20 Oct 2023 16:38:54 +, Schmitt, Michael wrote: > main module entry point is assembler (CLASS B_TEXT) > and the alternate entry I wanted was to IBM Enterprise COBOL for z/OS v6 > (CLASS C_CODE). > >This is not permitted. *why* do all entry points have to be in the same class? > I thought a directory alias entry is just an offset into the module. The most obvious answer is incompatible entry point types. Language Environment entry points require LE initialization whereas no pre-processing is required for an assembler entry point. -- 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: Why do all entry points have to be in the same class?
On Fri, 20 Oct 2023 20:25:31 -0500, Jon Perryman wrote: > >The most obvious answer is incompatible entry point types. Language >Environment entry points require LE initialization whereas no pre-processing >is required for an assembler entry point. > Long ago (when "any" meant just one of two), I had a similar question about AMODE. I could have readily envisioned a module with ENTRYs of various AMODEs which contained suitable bridge code. Alas, AMODE applied to an entire CSECT, not to individual ENTRY points. Of course such a module would be RMODE 24. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Why do all entry points have to be in the same class?
On Fri, 20 Oct 2023 16:38:54 +, Schmitt, Michael wrote: > main module entry point is assembler (CLASS B_TEXT) > and the alternate entry I wanted was to IBM Enterprise COBOL for z/OS v6 > (CLASS C_CODE). > >This is not permitted. *why* do all entry points have to be in the same class? > I thought a directory alias entry is just an offset into the module. The most obvious answer is incompatible entry point types. Language Environment entry points require LE initialization whereas no pre-processing is required for an assembler entry point. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN