head broken on openbsd
Don Stewart
dons at galois.com
Wed Oct 31 17:54:12 EDT 2007
dons:
>
> The change to use remap in Linker.c has broken the mmap Linker.c
> implementation on OpenBSD, and other BSDs.
>
> #ifndef linux_HOST_OS /* mremap is a linux extension */
> #error ocAllocateSymbolExtras doesnt want USE_MMAP to be defined
> #endif
>
> Do we know why this was done? USE_MMAP worked perfectly well until
> recently, perhaps the remap stuff could be ifdeffed instead?
This patch:
Thu Oct 18 05:52:20 PDT 2007 Simon Marlow <simonmar at microsoft.com>
* add PIC relocations for x86_64, and use a simpler hack in place of x86_64_high_symbol()
This is Wolfgang Thaller's patch sent to cvs-ghc recently, with extra
commentary by me. It turns out that this patch is not just a cleanup,
it is also necessary for GHCi to work on x86_64 with shared libraries,
because previously lookupSymbol() was creating jump-table entries for
all symbols looked up that resolved outside 2Gb, whereas Wolfgang's
version only generates jump-table entries for 32-bit symbol references
in object code that we load.
More information about the Cvs-ghc
mailing list