[Info-vax] %LINK-F-64BMOD, 64-bit psect $64BIT_ADDR$ must be demand zero

hb end.of at inter.net
Mon Jun 1 06:04:07 EDT 2015


On 06/01/2015 10:19 AM, Joukj wrote:
> I get the following error message when linking:
> %LINK-F-64BMOD, 64-bit psect $64BIT_ADDR$ must be demand zero (module
> MAKEGRIDDH
> , file $DISK8:[joukj.public.shtools.SHTOOLS-3^.0.lib]libSHTOOLS_64.olb;2)
>
>
> I;m running thsi on OpenVMS Alpha v8.4 using HP Fortran
> V8.2-104954-48N9O. The routine MAKEGRIDDH contains compiler directives like
> !DEC$ ATTRIBUTES ADDRESS64 :: cilm
>
>
> I have no idea what the error message tries to tell me; so I do not have
> any clue how to solve it.

You probably know what demand zero is: uninitialized data in the image 
file. The VMS linker on Alpha only accepts PSECTs with the 64 bit 
address attribute if they are uninitialized.

You can double check the PSECTs with analyze/object. The PSECT in 
question will have the EGPS$V_ALLOC_64BIT bit set. And it looks like it 
has EGPS$V_NOMOD bit clear, but the linker expects it to be set.

Is there initialized data in this PSECT (for example a DATA statement in 
Fortran)? Can you assign these initial values at run time?

> On OpenVMS IA64 v8.4 using HP Fortran V8.2-104954-50OCN I do not get
> this message, but for the 64-bit compilation I sometimes get run-time
> errors in applications using MAKEGRIDDH.
The I64 linker is somehow different (and you would get an %ILINK message 
anyway).




More information about the Info-vax mailing list