[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