[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