[GHC] #8748: ghc-7.8-rc1/HEAD: --enable-unregisterised fails to build and run with threaded RTS, profiling mode

GHC ghc-devs at haskell.org
Thu Feb 13 08:07:52 UTC 2014


#8748: ghc-7.8-rc1/HEAD: --enable-unregisterised fails to build and run with
threaded RTS, profiling mode
-------------------------------------+------------------------------------
        Reporter:  slyfox            |            Owner:
            Type:  bug               |           Status:  patch
        Priority:  high              |        Milestone:  7.8.1
       Component:  Compiler          |          Version:  7.8.1-rc1
      Resolution:                    |         Keywords:
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown      |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:  8301
-------------------------------------+------------------------------------

Comment (by slyfox):

 With minor tweaks I've got ghci on ppc64 running:

 {{{
 timberdoodle ghc-7.8.20140130 # inplace/bin/ghc-stage2 --info
  [("Project name","The Glorious Glasgow Haskell Compilation System")
  ,("GCC extra via C opts"," -fwrapv")
  ,("C compiler command","powerpc64-unknown-linux-gnu-gcc")
  ,("C compiler flags"," -fno-stack-protector")
  ,("C compiler link flags","")
  ,("ld command","/usr/bin/powerpc64-unknown-linux-gnu-ld")
  ,("ld flags","")
  ,("ld supports compact unwind","YES")
  ,("ld supports build-id","YES")
  ,("ld supports filelist","NO")
  ,("ld is GNU ld","YES")
  ,("ar command","/usr/bin/ar")
  ,("ar flags","q")
  ,("ar supports at file","YES")
  ,("touch command","touch")
  ,("dllwrap command","/bin/false")
  ,("windres command","/bin/false")
  ,("libtool command","libtool")
  ,("perl command","/usr/bin/perl")
  ,("target os","OSLinux")
  ,("target arch","ArchPPC_64")
  ,("target word size","8")
  ,("target has GNU nonexec stack","True")
  ,("target has .ident directive","True")
  ,("target has subsections via symbols","False")
  ,("Unregisterised","YES")
  ,("LLVM llc command","llc")
  ,("LLVM opt command","opt")
  ,("Project version","7.8.20140130")
  ,("Booter version","7.4.2")
  ,("Stage","2")
  ,("Build platform","powerpc64-unknown-linux")
  ,("Host platform","powerpc64-unknown-linux")
  ,("Target platform","powerpc64-unknown-linux")
  ,("Have interpreter","YES")
  ,("Object splitting supported","NO")
  ,("Have native code generator","NO")
  ,("Support SMP","NO")
  ,("Tables next to code","NO")
  ,("RTS ways","l debug thr thr_debug thr_l thr_p dyn debug_dyn thr_dyn
 thr_debug_dyn l_dyn thr_l_dyn")
  ,("Support dynamic-too","YES")
  ,("Support parallel --make","YES")
  ,("Dynamic by default","NO")
  ,("GHC Dynamic","YES")
  ,("Leading underscore","NO")
  ,("Debug on","False")
  ,("LibDir","/var/tmp/portage/dev-
 lang/ghc-7.8.1_rc1/work/ghc-7.8.20140130/inplace/lib")
  ,("Global Package DB","/var/tmp/portage/dev-
 lang/ghc-7.8.1_rc1/work/ghc-7.8.20140130/inplace/lib/package.conf.d")
  ]

 timberdoodle ghc-7.8.20140130 # inplace/bin/ghc-stage2 --interactive
 GHCi, version 7.8.20140130: http://www.haskell.org/ghc/  :? for help
 Loading package ghc-prim ... linking ... done.
 Loading package integer-gmp ... linking ... done.
 Loading package base ... linking ... done.
 Prelude> 2^128
 340282366920938463463374607431768211456
 Prelude>
 }}}

 The tweak is to build '''compiler/HsExpr.lhs''' as '''ghc --make -O'''
 instead of '''ghc --make -O2'''. That makes C compiler happy.

 I think it makes sense to downgrade down to '''-O''' on all UNREG arches,
 as C cources are already too big to produce code of sane size.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8748#comment:10>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list