[Info-vax] VAX VMS going forward
John Reagan
xyzzy1959 at gmail.com
Fri Jul 24 22:11:37 EDT 2020
On Friday, July 24, 2020 at 6:03:16 PM UTC-4, Stephen Hoffman wrote:
> On 2020-07-24 18:51:20 +0000, John Reagan said:
>
> >
> > I've been trying to follow this whole conversation but I might have
> > missed something.
> >
> > I don't get this whole hybrid thing. VMS has a 64-bit flat virtual
> > address layout.
> >
> > It is just that only parts of it can be accessed with a 32-bit pointer.
> > The rest requires a 64-bit pointer. Due to things like descriptors
> > and itemlists which have a builtin assumption about only holding 32-bit
> > pointers, we go out of our way to make sure that anything that you can
> > take the address of resides in 32-bit space. On Alpha, Itanium very
> > little S2 is used and no P2 without explicit code or linker qualifiers
> > to do so. x86 will get code in P2 (and trampolines in 32-bit space so
> > you can still take their address).
> Tried building a 64-bit app without having to contend with 32-bit
> giblets including the 32-bit APIs, the 64-bit APIs, and the either-bit
> APIs, and the switch qualifiers to get everything to 64-bit, and the
> stuff that isn't yet 64-bit?
>
> Every time I've tried creating a 64-bit app, I get a sad and revert to
> 32-bit with hunks of data up in P2 and/or S2. At one point—haven't
> verified this limit lately—code wasn't permitted in some of the
> segments.
> --
> Pure Personal Opinion | HoffmanLabs LLC
I hear ya. It is a mess with many of the older APIs being very 32-bit centric. The compilers are still 32-bit centric. Languages that accept argument by descriptor? (like Fortran CHARACTER*N, Pascal's conformant arrays, etc.) are all 32-bit descriptors only. Only a few system services will accept 32 or 64-bit descriptors. There wasn't enough push on the compiler teams. Now, I want to do it, but it is finding the resources.
More information about the Info-vax
mailing list