[Info-vax] VAX VMS going forward
John Reagan
xyzzy1959 at gmail.com
Thu Jul 30 19:16:17 EDT 2020
On Thursday, July 30, 2020 at 9:29:57 AM UTC-4, Arne Vajhøj wrote:
> On 7/30/2020 7:57 AM, hb wrote:
> > On 7/30/20 2:36 AM, John Reagan wrote:
> >> The linker simply won't put static data in a memory region that
> >> needs a 64-bit pointer to access it. Of course, you are welcome to
> >> create-and-map-section-64 into 64-bit space and access it as you
> >> see fit.
> >
> > I think John wanted to say that the linker can't move static data
> > from 32 to 64 bit address space - as it can with code, as long as the
> > PSECT is PIC. However, static data can have the ALLOC_64BIT
> > attribute. The linker puts static data according to the absence or
> > presence of that attribute into 32 or 64 bit address space. I only
> > saw this attribute set by FORTRAN - I don't know but doubt that other
> > compilers support it. And no, the linker does not accept an option to
> > set that PSECT attribute.
>
> Maybe I am being picky, but I don't really like the terminology:
>
> 32 bit address space ~= P0
> 64 bit address space ~= P2
>
> It is:
>
> accessible via accessible via
> 32 bit pointers 64 bit pointers
> P0 yes yes
> P2 no yes
>
> so to me the 32 bit address space is a subset of the 64 bit
> address space - not two distinct address spaces.
>
> Arne
Ding! Ding! Ding! We have a winner. That is exactly how it is.
Of course, as Hoff points out, the APIs can fail at representing the model. There wasn't good oversight in their definitions. We tried, but got caught between the correct engineering decision and business decisions.
More information about the Info-vax
mailing list