[Info-vax] VAX VMS going forward

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Thu Jul 30 10:26:45 EDT 2020


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.








-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list