AW: Re: Can AMODE 31 C/C++ get a signal on a S0C1/4 in AMODE 64 assembler?

2017-08-30 Thread Peter Hunkeler
>An easier approach by far would be to have my recovery routine retry to a 
>routine that issued a distinct user ABEND in AMODE 31, perhaps first copying 
>the SDWA to some storage that could subsequently be displayed.



I was about to propose something the like. Handle all the AMDOE 64 stuff in you 
assembler code, i.e. let your ESTAE retry. Your retry routine saves all the 
information your signal handler must know, goes back to AMODE 31, deregisters 
your ESTAE and ABENDs with some user abend code. LE's ESTAE will catch up and 
your signal handler should finally be driven.


--
Peter Hunkeler

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


AW: Re: Can AMODE 31 C/C++ get a signal on a S0C1/4 in AMODE 64 assembler?

2017-08-29 Thread bernd.oppol...@t-online.de
some years ago I Had to call a openssl library from Pl/1. the Openssl 
library was compiled using XPlink (31 Bit). it worked in the End. the only 
Problem was that there Had to be a Interface Module doing a dynamic fetch 
on the XPlink object, because static linkage was Not possible. And Posix 
(on) was needed. But No Problems with Switching enclaves etc.



Gesendet mit der Telekom Mail App




--- Original-Nachricht ---
Von: John McKown
Betreff: Re: Can AMODE 31 C/C++ get a signal on a S0C1/4 in AMODE 64 
assembler?
Datum: 29.08.2017, 17:34 Uhr
An: IBM-MAIN@LISTSERV.UA.EDU





On Tue, Aug 29, 2017 at 10:28 AM, Don Poitras 
> ; wrote:

> But you _can_ address data above the bar in "pure" C. Just compile and 
link
> the C code as 64-bit.
>

I've no experience, but from what I've read, this is "CPU costly" in that
the 31 bit C is running in a "normal" (non-XPLINK) LE enclave whereas 64
bit C _must_ run in an XPLINK LE enclave. Starting and stopping the XPLINK
LE enclave is "expensive", again from what I've read. Of course, with some
hard work, I think it might be possible to use a CEEPIPI to create and
maintain an XPLINK 64 bit LE enclave and dynamically swap between the LE
enclaves.

--
Caution! The OP is an hyperpolysyllabicsesquipedalianist and this email may
cause stress to those with hippopotomonstrosesquipedaliophobia.

Maranatha! <><
John McKown

--
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


AW: Re: Can AMODE 31 C/C++ get a signal on a S0C1/4 in AMODE 64 assembler?

2017-08-29 Thread Peter Hunkeler
>If I had nothing better to do I would open an RFE on that. Even assuming AMODE 
>31, how can LE assume that the high halves of the registers are of no 
>debugging value? 64-bit register arithmetic -- or even using the high halves 
>of registers as a temporary holding area -- is a valid technique even in the 
>absence of AMODE 64. The C/C++ compiler itself does so.


Have a look at the "Language Environment Programming Guide for 64-bit Virtual 
Addressing Mode" manual, chapter "Chapter 21. Assembler considerations". It has 
some description about AMODE 64 assembler. I browsed it quickly, only. It talks 
about XPLINK convention to be a prerequisite for AMODE 64 assembler in a LE 
supported way. I never did anything with XPLINK, so I cannot say how much 
effort this is, but maybe you can change your assembler code to be LE AMODE 64 
compatible.
While your "SDWA hack" seems to work (today), it is cheating, as you said 
yourself. May hurt you, or your customer in the future.


--
Peter Hunkeler





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


AW: Re: Can AMODE 31 C/C++ get a signal on a S0C1/4 in AMODE 64 assembler?

2017-08-29 Thread Peter Hunkeler
>I believe that with AMODE 31 this should be possible (establishing another
ESTAE routine, when LE is active), because IIRC this is what I did when
calling C and PL/1 routines from APL ...



Is it possible? Yes.
Is it supported by LE? No. Read my comment on Charle's previous thread.


--
Peter Hunkeler

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


AW: Re: Can AMODE 31 C/C++ get a signal on a S0C1/4 in AMODE 64 assembler?

2017-08-28 Thread bernd.oppol...@t-online.de
it was 2005 ca., when we decided at my Former customer's Site to replace 
the four or five different Abend Handling and dump printing Routines by 
one. The Input was different, the Output should be the Same. only one of 
the Input Variants then Had 32 Bit Registers, all others were alresdy 64. 
Of course, we Always showed 64 Bit register contents, when possible.



Gesendet mit der Telekom Mail App




--- Original-Nachricht ---
Von: Charles Mills
Betreff: Re: Can AMODE 31 C/C++ get a signal on a S0C1/4 in AMODE 64 
assembler?
Datum: 28.08.2017, 15:15 Uhr
An: IBM-MAIN@LISTSERV.UA.EDU





I can see all 64 bits in the SDWA.
CharlesSent from a mobile; please excuse the brevity.
 Original message From: Steve Smith  
Date: 8/28/17 8:47 AM (GMT-05:00) To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: 
Can AMODE 31 C/C++ get a signal on a S0C1/4 in AMODE 64 assembler?
I can only guess that this particular register dump comes from a
32-bit savearea.  Deliberately masking off the high-halves when
available would be profoundly asinine.  Say it ain't so, LE!

sas

On Sun, Aug 27, 2017 at 5:01 PM, Charles Mills 
> ; wrote:
...
>
> LE fails to print the high register halves, for example
>
> GPR0. _00C6  GPR1. _0020  GPR2. 
_  GPR3. _0002
>
> If I had nothing better to do I would open an RFE on that. Even assuming 
AMODE 31, how can LE assume that the high halves of the registers are of no 
debugging value? 64-bit register arithmetic -- or even using the high 
halves of registers as a temporary holding area -- is a valid technique 
even in the absence of AMODE 64. The C/C++ compiler itself does so.
>

--
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