On Thu, 20 Dec 2018 10:17:12 -0500, Pierre Fichaud wrote:

>You can get around stack processing in 31-bit mode by using #pragma
>linkage(fred,OS) where fred is a non-LE module. I've done this often.

I haven't used #pragma linkage(fred,OS), but I have used 
extern "OS_NOSTACK" {int fred(void);}
in a 31-bit C program as well as in a 64-bit C program. I assume you can use 
the #pragma as well.

But the fact remains that C must provide a save area to fred when it is called. 
As far as I know, that save area comes from the stack, and for XPLINK-64, that 
stack is above the bar.

Perhaps the reason fetch will not allow you to load an AMODE(31) program is to 
prevent you from calling it, since an AMODE(31) program will fail as soon as it 
used the low 31 bits of the save area address to save its caller's registers.

-- 
Tom Marchant

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to