[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