[GHC] #12210: allocateExec: can't handle large objects
GHC
ghc-devs at haskell.org
Sun Jun 19 15:52:44 UTC 2016
#12210: allocateExec: can't handle large objects
-------------------------------------+-------------------------------------
Reporter: thomie | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Runtime | Version: 8.0.1
System (Linker) |
Keywords: | Operating System: Windows
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
`ghci T11535.hs` fails on Windows with:
{{{
GHCi, version 8.0.0.20160421: http://www.haskell.org/ghc/ :? for help
[1 of 1] Compiling Main ( T11535.hs, interpreted )
ghc.exe: internal error: allocateExec: can't handle large objects
(GHC version 8.0.0.20160421 for x86_64_unknown_mingw32)
Please report this as a GHC bug:
http://www.haskell.org/ghc/reportabug
This application has requested the Runtime to terminate it in an unusual
way.
Please contact the application's support team for more information.
}}}
See also this comment in `rts/sm/Storage.c`:
{{{
/*
----------------------------------------------------------------------------
Executable memory
Executable memory must be managed separately from non-executable
memory. Most OSs these days require you to jump through hoops to
dynamically allocate executable memory, due to various security
measures.
Here we provide a small memory allocator for executable memory.
Memory is managed with a page granularity; we allocate linearly
in the page, and when the page is emptied (all objects on the page
are free) we free the page again, not forgetting to make it
non-executable.
TODO: The inability to handle objects bigger than BLOCK_SIZE_W means
that
the linker cannot use allocateExec for loading object code files
on Windows. Once allocateExec can handle larger objects, the
linker
should be modified to use allocateExec instead of VirtualAlloc.
-------------------------------------------------------------------------
*/
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12210>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list