[Info-vax] RMS record metadata, was: Re: Re; Spiralog, RMS Journaling (was Re: FREESPADRIFT)

hb end.of at inter.net
Mon Jun 20 15:28:51 EDT 2016


On 06/20/2016 07:47 PM, John Reagan wrote:
> I don't see anything in the current release notes or notes files but
> that isn't 100% proof.  The compiler should know that the FD is
> 32-bit addressable and the FD contains a 64-bit pointer to the code
> regardless of the current pointer size. It feels like a bug to me, it
> might have accidentally checked the current pointer size for the
> fetch from the FD?  Or maybe something in the STL had a 32-bit fetch?
> Dunno.

I think I hit an accvio when testing this linker feature. It's some time
ago, so I may be wrong. I don't know what the current version o C++ is,
these release notes:

http://h71000.www7.hp.com/commercial/cplus/i64_doc/rn_exxiviv.html
...
Software Version: HP C++ Version 7.4-004 for OpenVMS Integrity servers
Version 8.2-1 and higher.

have a section "3 Release Notes for the V7.3 C++ Compiler"
and there one finds:

Restriction: The link command qualifier /SEGMENT_ATTRIBUTE=CODE=P2
causes the executable code for an image to be loaded into P2 space when
the image is activated. The code generated by the C++ compiler for
32-bit pointer applications (that is, compilations that do not specify
the /POINTER_SIZE qualifier, or that specify /POINTER_SIZE=32), is not
generally compatible with this link qualifier. While some 32-bit C++
compilations may run correctly when linked this way, the code is likely
to encounter an access violation at run-time; and 32-bit code compiled
with optimization disabled is more likely to fail than code compiled
with optimization enabled.
The link command qualifier /SEGMENT_ATTRIBUTE=CODE=P2 should only be
used when all C++ compilations in the program are compiled with
/POINTER_SIZE=64, and when the C++ libraries supplied with this kit (or
newer) are used. The previous libraries had a problem that could cause a
run-time accvio in 64-bit C++ code that used exceptions and was linked
with /SEGMENT_ATTRIBUTE=CODE=P2.

I didn't see anything in this document, whether this is restriction was
lifted for the 7.4 compiler.



More information about the Info-vax mailing list