[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference vaxaxp::vmsnotes

Title:VAX and Alpha VMS
Notice:This is a new VMSnotes, please read note 2.1
Moderator:VAXAXP::BERNARDO
Created:Wed Jan 22 1997
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:703
Total number of notes:3722

518.0. "sec$m_no_overamap flag?" by CSC32::J_HENSON (Don't get even, get ahead!) Wed Apr 23 1997 18:32

OpenVMS V6.2, alpha, $crmpsc system service

Could someone explain exactly what the sec$m_no_overmap flag does
for the $crmpsc system service.  

The reason I ask has to do with a customer issue.  They are creating
large global sections, and mapping them to pre-defined psects.  The
customer claims that if they link the image with the page alignment
forced on the psects, calling $crmpsc results in overmapping the
specified psects and corrupting local data.  I have already told
them that this is expected, and to use the solitary attribute instead.

Using the solitary attribute does resolve the problem, but results
in a larger virtual memory size of the image (see note preceding this
one), so the customer tried going back to forcing page alignment
and using the sec$m_no_overmap flag on the call to $crmpsc.  He
claims that this resolves the problem.  Should it?

Is using this flag a valid alternative to specifying the solitary
attribute?

Thanks,

Jerry
T.RTitleUserPersonal
Name
DateLines
518.1use expreg and pointers, if availableXDELTA::HOFFMANSteve, OpenVMS EngineeringWed Apr 23 1997 18:344
   The customer appears to be trying to (re)implement a COMMON.
   What is the language in use?  (There are certainly various good
   alternatives for languages that support pointers.)
518.2AUSS::GARSONDECcharity Program OfficeWed Apr 23 1997 23:4914
    re .0
    
    Trying to land a global section over the top of the right variables as
    allocated by a compiler is fraught with danger. As .1 implies, the
    customer should reconsider their approach.
    
    If this is what the customer is trying to do then SEC$M_NO_OVERMAP
    won't help i.e. they really are trying to overmap.
    
    64K alignment on the PSECT should be workable.
    
    Extreme care must be taken in computing the inadr if one is attempting
    to overmap compiler allocated variables (as well as using the right
    compiler and linker incantations).
518.3Need alignment "at both ends"WIBBIN::NOYCEPulling weeds, pickin' stonesThu Apr 24 1997 18:163
>    64K alignment on the PSECT should be workable.
 ... as long as you also pad following the used data to the following
     64K boundary.  (This is what SOLITARY is supposed to do automatically.)