[GHC] #2063: Breackage on OpenBSD due to mmap remap

GHC trac at galois.com
Thu Jan 24 19:09:31 EST 2008


#2063: Breackage on OpenBSD due to mmap remap
-------------------------+--------------------------------------------------
    Reporter:  dons      |       Owner:          
        Type:  bug       |      Status:  new     
    Priority:  normal    |   Component:  Compiler
     Version:  6.8.2     |    Severity:  normal  
    Keywords:  OpenBSD   |    Testcase:          
Architecture:  Multiple  |          Os:  OpenBSD 
-------------------------+--------------------------------------------------
 GHC head since the 6.8 split back in October, is broken on OpenBSD, due to
 changes in mmap use

 {{{
 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.
 }}}

 It appears to still be broken:

 {{{
 ../compiler/ghc-inplace -optc-O -optc-L/usr/local/lib
 -optc-I/usr/local/include -optc-Wall -optc-W -optc-Wstrict-prototypes
 -optc-Wmissing-prototypes -optc-Wmissing-declarations -optc-Winline -optc-
 Waggregate-return -optc-I../includes -optc-I. -optc-Iparallel -optc-Ism
 -optc-DCOMPILING_RTS -optc-fomit-frame-pointer -optc-I../gmp/gmpbuild
 -optc-fno-strict-aliasing -H128m -O2 -L/usr/local/lib -I/usr/local/include
 -optc-O2 -I../includes -I. -Iparallel -Ism -DCOMPILING_RTS -package-name
 rts -static -I../gmp/gmpbuild -I. -#include HCIncludes.h -optc-fno-stack-
 protector -dcmm-lint   -optc-O0  -H128m -O2 -L/usr/local/lib
 -I/usr/local/include -optc-O2 -I../includes -I. -Iparallel -Ism
 -DCOMPILING_RTS -package-name rts -static -I../gmp/gmpbuild -I. -#include
 HCIncludes.h -optc-fno-stack-protector -dcmm-lint  -c Main.c -o Main.o

 Linker.c:1599:10:
      #error ocAllocateSymbolExtras doesnt want USE_MMAP to be defined
 Linker.c: In function `ocAllocateSymbolExtras':

 Linker.c:1623:0:
      warning: implicit declaration of function `mremap'

 Linker.c:1623:0:
      error: `MREMAP_MAYMOVE' undeclared (first use in this function)

 Linker.c:1623:0:
      error: (Each undeclared identifier is reported only once

 Linker.c:1623:0:  error: for each function it appears in.)
 }}}

 originally reported on the mailing list,
 http://thread.gmane.org/gmane.comp.lang.haskell.cvs.ghc/24330

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2063>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the Glasgow-haskell-bugs mailing list