Re: Why do all entry points have to be in the same class?

2023-10-24 Thread Seymour J Metz
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?

2023-10-23 Thread Jon Perryman
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?

2023-10-23 Thread Schmitt, Michael
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?

2023-10-20 Thread Paul Gilmartin
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?

2023-10-20 Thread Jon Perryman
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