It seems that with SunOS 5.6 & 5.7 it was important to mark the shared 
libraries with
the executable bit, so that the "priority paging" feature wasn't confused.

See the section "How do I enable priority paging?" here:

  http://www.sun.com/sun-on-net/performance/priority_paging.html#enable

Quote:

IMPORTANT NOTE: Ensure that data files do not have the executable bit set.
This can fool the VM into thinking that these are really executables, and will 
not
engage priority paging on these files.



Or here (~ 2/3 down the page):
     
http://www.solarisinternals.com/si/reading/sunworldonline/swol-07-1999/swol-07-filesystem3.html

Quote:

Priority paging distinguishes between executable files and regular files by 
recording
whether or not they are mapped into an address space with execute permissions.
This means that regular files with the execute bit that are mapped into an 
address
space with the memory map system call are treated as executables, and care 
should
be taken to ensure that data files that are being memory mapped do not have the
execute bit set.




I'm not 100% sure if it's still important to mark shared libraries with the 
execute bit
with current Solaris 10 or OpenSolaris.  It seems the kernel is now using a 
vnode
flag VVMEXEC to mark executable content, and this flag appears to be set
whenever a file is mapped with PROT_EXEC permission.  That is, the executable 
bit
on shared libraries does not appear to be used for detecting executable file 
data any
more with current Solaris releases.
This message posted from opensolaris.org
_______________________________________________
opensolaris-code mailing list
[email protected]
https://opensolaris.org:444/mailman/listinfo/opensolaris-code

Reply via email to