
On Mon, Mar 05, 2007 at 01:37:20AM +0000, Dave Feustel wrote:
I think I have found the cause of the undefined MAP_ANONYMOUS. It looks like that symbol was changed to MAP_ANON in sys/mmap.h for OpenBSD. I fixed(?) that and now the MAP_32BIT symbol is the current roadblock. As far as I can tell, this symbol is not defined anywhere in OpenBSD at the moment. I've done some googling but I still don't know what to do with this symbol.
Since there seems to be no MAP_32BIT in OpenBSD, I set the symbol to 0 and gmake got through Linker.c. Gmake now is running toward completion of the make. I have my fingers crossed :-).
According to my (Linux) mmap(2), MAP_32BIT says to only allocate addresses that can be cast to 32bits losslessly. Of course, there's no guarantee that NOT specifying it will result in addresses that are truncated, so if you're unlucky this could introduce a latent bug. As in nothing happens for months, then one day ghc uses a lot of ram, and POP! sigsegv, by which time you've completely forgotten about the kluge you used to compile it, and you won't be able to figure out what broke. Check your man 2 mmap for the appropriate define ... Stefan