On Fri, 11 May 2018 23:24:51 +0200, Bernd Oppolzer <bernd.oppol...@t-online.de> wrote:
>> Note that he achieved this by allocating 4 GiB >> above the 4 GiB bar, in order to get 2 GiB. While >> this technique certainly has its merits, it would >> be easier to write the compiler if IBM simply >> provided an IARV64 GETSTOR USE2GBTO4GB. >> Although that wouldn't guarantee a full 2 GiB >> like he was able to get with his technique. > >I don't think that he gets only 2 GiB; He said that he allocated 4 GiB, with the purpose of getting a guaranteed 2 GiB that can be aligned in a manner that addresses with the high bit of a 32 bit register can actually point to valid addresses. You seem to be proposing a full 4 GiB continent. That should also work, and may be a superior way of doing things so long as, as you mentioned, you can change the compiler to do whatever you want. >Back to your original question: a program generated in this >compatible way could IMO grow up to 4 GB in size, when run in AMODE 64; >this way you have what you want: a program which can be up to 4 GB in size, >runs in AMODE 64 and has 4 byte pointers. But no change from IBM is needed. Yes, I agree that it is possible to construct a defacto AM64 32-bit program by making the compiler generate an unusual z/OS-specific module. But I am after compatibility with MVS 3.8j so would like a GETMAIN LOC=32 (the LOC=32 will be ignored on MVS 3.8j). BFN. Paul. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN