
On Thu, 29 May 2008 11:56:59 +0000 (UTC)
"Wilhelm B. Kloke"
Simon Marlow
schrieb:
- it has a couple of wired-in addresses: one place to load object files, another to put jump tables at. This is necessary because *BSD doesn't have the MAP_32BIT flag for mmap(). However, the particular wired-in addresses needed will probably vary on the different *BSDs. Someone needs to look at the memory map and make sure we're picking sensible addresses.
It is not very likely that the adresses change between *BSDs because they are resulting from simple hardware-related constraints. Though, a test is necessary.
I have made some progress with NetBSD-amd64, now I'm working on stage2
of 6.8.2. So there's some hope that I may be able to look at this issue
on that platform. (It's going pretty slow, though - lucky I got laid off
last week and I have a 1.8 Ghz computer with nearly empty hard disk to
work with, or building GHC would be just about out of the question!)
But I noticed that, in Linker.c, NetBSD doesn't configure USE_MMAP -
whatever the hardware platform. I don't know if that's just by neglect,
but if I don't use mmap(), then support for MAP_32BIT is no concern?
--
Donn Cave