#885: GHC doesn't work with Data Execution Prevention on Windows
-----------------------+----------------------------------------------------
  Reporter:  guest     |          Owner:         
      Type:  bug       |         Status:  new    
  Priority:  normal    |      Milestone:  _|_    
 Component:  Compiler  |        Version:  6.4.2  
  Severity:  major     |     Resolution:         
  Keywords:            |             Os:  Windows
Difficulty:  Unknown   |   Architecture:  x86    
-----------------------+----------------------------------------------------
Comment (by briansmith):

 switching to allocateExec does not work, because of this logic:
 {{{
 if (n+1 > BLOCK_SIZE_W) {
         barf("allocateExec: can't handle large objects");
     }
 }}}
 As an experiment, I replaced the entire body of allocateExec with the
 following code, and I was successfully able to use GHCi interactively, and
 I was able to run the "ghci" subset of the testsuite with perfect results.
 {{{
     ACQUIRE_SM_LOCK;
         ret = VirtualAlloc(NULL, bytes, MEM_RESERVE | MEM_COMMIT,
 PAGE_EXECUTE_READWRITE);
     RELEASE_SM_LOCK;
         return ret;

 }}}
 So, it appears that you are on the right track to fixing this.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/885>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to