[Info-vax] RMS record metadata, was: Re: Re; Spiralog, RMS Journaling (was Re: FREESPADRIFT)
John Reagan
xyzzy1959 at gmail.com
Mon Jun 20 16:27:17 EDT 2016
On Monday, June 20, 2016 at 3:29:13 PM UTC-4, hb wrote:
> 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.
Thanks. I was looking at a somewhat older set of RNs that I thought was current. I'll add this to the list for something I'll look at. I didn't see any mention of it in internal C++ notesfiles.
More information about the Info-vax
mailing list