On Tue, Jul 26, 2005 at 11:18:36AM -0700, J?rgen Keil wrote: > 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.
Note that in Solaris Nevada/OpenSolaris, it is now based on the fact that ld.so.1 passes MAP_TEXT/MAP_INITDATA when it maps shared object text/data: http://cvs.opensolaris.org/source/xref/usr/src/uts/common/os/grow.c#829 (the exec() path also sets it for the executed object. Oddly, ld.so.1 doesn't get the flag set for it, which seems like a bug; I'll investigate and file it) Cheers, - jonathan -- Jonathan Adams, Solaris Kernel Development _______________________________________________ opensolaris-code mailing list [email protected] https://opensolaris.org:444/mailman/listinfo/opensolaris-code
