[Info-vax] VMS process communication
Ian Miller
gxys at uk2.net
Wed Mar 22 13:13:18 EDT 2023
On Wednesday, March 22, 2023 at 2:50:17 PM UTC, Arne Vajhøj wrote:
> On 3/22/2023 7:18 AM, Ian Miller wrote:
> > On Tuesday, March 21, 2023 at 11:34:04 AM UTC, Arne Vajhøj wrote:
> >> On 3/20/2023 5:37 AM, Andreas Gruhl wrote:
> >>> Arne Vajhøj schrieb am Samstag, 18. März 2023 um 01:26:39 UTC+1:
> >>>> On 3/16/2023 5:05 AM, Andreas Gruhl wrote:
> >>>>> Arne Vajhøj schrieb am Donnerstag, 16. März 2023 um 01:47:31
> >>>>> UTC+1:
> >>>>>> On 3/10/2023 4:01 PM, Arne Vajhøj wrote:
> >>>>>>> https://www.vajhoej.dk/arne/articles/vms64.html
> >>>>>>
> >>>>>> Updated to version 1.0 based on comments.
> >>>>> Small correction: PASCAL/USAGE=64BIT_TO_DESCR does NOT change
> >>>>> the compiler's treatment of pointers. Interpreting pointers
> >>>>> as unsigned values has to be provided by the programmer. The
> >>>>> qualifier only allows for P2 structures to be used as actual
> >>>>> routine parameters via descriptor, which otherwise would be
> >>>>> flagged as a compile time error.
> >>>> So it does not change the treatment of pointers.
> >>>>
> >>>> It disables a compiler check.
> >>> That's correct.
> >>
> >> I have updated.
> > On VMS E9.2-1 x86-64 all code by default is put into P2 by the linker
> > but you can put /SEGMENT=CODE=P0 to stop that. I suspect this is
> > going to cause some issues when porting. For kernel mode code the
> > recommendation is to change from locking specific parts of the code
> > into the working set to locking the whole image as this works on I64
> > and x86 VMS by calling LIB$LOCK_IMAGE.
> So is a function pointer always 64 bit?
>
> Arne
from the release notes "The LINKER creates small stub routines in 32-bit P0 space to allow the address of a routine to be stored in a 32-bit variable."
More information about the Info-vax
mailing list