Oh, then I misunderstood the code. Where's the bit that deals with NX (or XN in ARM parlance) being enabled on the process? In particular, Apple has a W^X policy (on OSX & iOS). I only saw mprotect mentioned in the platform code with respect to the OS::Protect & OS::Unprotect, which is the mechanism I assumed v8 would use to properly handle NX.
Thanks, Vitali On Apr 14, 12:33 am, Søren Gjesse <[email protected]> wrote: > You can leave OS:Protect and OS::Unprotect unimplemented. They are only used > when ENABLE_HEAP_PROTECTION is defined, and that was intented to be used for > tracking external writes to the V8 heap, but it newer amounted to anything. > On some platforms e.g. MacOS they are just UNIMPLEMENTED(); > > Regards, > Søren > > > > > > > > On Thu, Apr 14, 2011 at 06:16, <[email protected]> wrote: > > > Comment #5 on issue 1312 by [email protected]: It's time to get iOS > > supported! > > >http://code.google.com/p/v8/issues/detail?id=1312 > > > iOS only allows PROT_READ | PROT_EXEC or PROT_READ|PROT_WRITE. It does not > > allow PROT_WRITE | PROT_EXEC. Would it cause problems to define the > > Unprotect functions for executable pages as being changed away from > > executable? > > > -- > > v8-dev mailing list > > [email protected] > >http://groups.google.com/group/v8-dev -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
