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

 Please ignore my question about where the adjustor thunks get freed--I
 realized after I sent it that those thunks were returned directly to the
 user's program and freed by the user's code.

 I attached a new patch that includes all my fixes for this issue,
 including TODO comments in Storage.c/allocateExec and Linker.c/loadObj. I
 did not make any attempt to make the executable memory non-writable--my
 goal with this patch is to just get GHC(i) working with DEP enabled.

 When I was trying to find if and where to deallocate any of the machine
 code stubs, I modified the ItblPtr type so that I could more easily track
 how they are used. I think that this way is clearer and so I left those
 changes in the new patch. In particular, the code makes sure that
 BcM_State now points to the start of the allocated memory instead of two
 words in, in case the code to free these pointers is ever implemented.

 I ran the test suite on the 6.6 branch against these changes on Windows
 and verified that no DEP violations are reported by Windows when DEP is on
 for all programs (including GHC).

-- 
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