[Info-vax] VAX VMS going forward
Arne Vajhøj
arne at vajhoej.dk
Thu Jul 30 10:49:14 EDT 2020
On 7/30/2020 10:26 AM, Stephen Hoffman wrote:
> On 2020-07-30 00:45:18 +0000, John Reagan said:
>> On Wednesday, July 29, 2020 at 12:12:49 PM UTC-4, Stephen Hoffman wrote:
>>> Again, go write a 64-bit app on OpenVMS.
>>
>> I'm still not sure what you mean....
>>
>> The Itanium linker is 1/2 BLISS-64 and 1/2 C. For BLISS, it is pure
>> BLISS-64 and doesn't use any of those crutches like
>> /ASSUME=SIGNED_LONG. For C, it is built with /POINTER=LONG. The only
>> "fall back to 32-bit" is using SYS$FILESCAN (and they really didn't
>> need to) and some FAB/RAB/NAM/XAB pointers (we've already admitted
>> that RMS only partially 64-bit tolerant).
>
> There's rather more than the RMS structures that is either 32-bit only,
> or 64-bit only. Though those are. Some system services are sys$mumble
> and sys$mumble64, some sniff the arguments, etc. ODS-2 and ODS-5 are
> 32-bit, too.
>
> For the full experience, write up a non-trivial 64-bit app with file I/O
> and network I/O and with network connection and encrypted-file security
> and secure certificate and key storage, and with everything used by the
> app—code and data—all of it—in 64-bit P2 space, and then write up some
> documentation for it, and tell me how easy that experience was. And
> then load that new app in SYS$EXAMPLES, of course.
>
> I'm here not referring to a 32-bit app with 64-bit data, but to trying
> to create an app that's 64-bit throughout.
>
> It's switches and knobs and variant API calls and fun like writing my
> own parsing for itemlists, and the usual piles of OpenVMS glue code.
>
> To get this 64-bit app working, it's not cc {sources} and link {objects}
> and off I go with a 64-bit app. Nope. Gotta go read up on linker
> switches and compiler switches and the rest, and wade through the APIs
> looking for 32- and 64-bit calling details.
I still don't think you are clear about what you mean by "32 bit app".
Is your "32 bit app" an app:
- with only 32 bit data pointers
- at least one 32 bit data pointer
- data in P0 space
- code in P0 space
- combination of above
- something else
?
Arne
More information about the Info-vax
mailing list