#2013: ghci crash on startup: R_X86_64_32S relocation out of range.
---------------------+------------------------------------------------------
Reporter: mboes | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 6.8.3
Component: GHCi | Version: 6.9
Severity: normal | Resolution:
Keywords: | Difficulty: Unknown
Testcase: | Architecture: x86_64 (amd64)
Os: FreeBSD |
---------------------+------------------------------------------------------
Comment (by simonmar):
Setting milestone to 6.8.3 as we would like GHCi to work properly on
FreeBSD/x86-64.
I don't have any good suggestions yet. Object code that is not compiled
with `-fPIC` must be all linked together in the same 2Gb segment of the
address space, because 32-bit relative addressing is used throughout. We
use the small memory model by default, like gcc - I haven't investigated
using larger memory models, but in any case `-fPIC` would be better than
moving to another memory model as it is already implemented.
Unfortunately `-fPIC` doesn't really solve the problem - even objects
compiled with `-fPIC` assume that other objects in the same package are
within the same 2Gb segment. So we really do need a way to map memory in
the low 2Gb. As far as I can tell, the only way to do this when MAP_32BIT
is not supported is with the hint address - perhaps look at the memory map
of the running process, and figure out a suitable place to request memory?
It might be necessary to coordinate with `MBlock.c` to avoid requesting
memory in the low 2Gb when we don't need it.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2013#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs