[GHC] #8276: Building Haddock documentation panics with perf build on x86_64 Linux
GHC
ghc-devs at haskell.org
Thu Sep 26 01:42:55 CEST 2013
#8276: Building Haddock documentation panics with perf build on x86_64 Linux
---------------------------------------+----------------------------------
Reporter: jstolarek | Owner:
Type: bug | Status: new
Priority: high | Milestone:
Component: Documentation | Version: 7.7
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: x86_64 (amd64)
Type of failure: Compile-time crash | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
---------------------------------------+----------------------------------
Comment (by thoughtpolice):
This is something to do with GHCi linking in HEAD.
Note the behavior Kazu observed:
{{{
GHCi, version 7.7.20130924: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package array-0.4.0.2 ... linking ... done.
Loading package deepseq-1.3.0.2 ... linking ... done.
Loading package bytestring-0.10.3.0 ... linking ... done.
Loading package containers-0.5.3.1 ... linking ... done.
Loading package filepath-1.3.0.2 ... linking ... done.
Loading package old-locale-1.0.0.5 ... linking ... done.
Loading package time-1.4.1 ... linking ... done.
Loading package unix-2.7.0.0 ... linking ... done.
Loading package directory-1.2.0.1 ... linking ... done.
Loading package pretty-1.1.1.0 ... linking ... done.
Loading package process-1.2.0.0 ... linking ... done.
Loading package Cabal-1.18.1 ... linking ... done.
Loading package binary-0.7.1.0 ... linking ... done.
Loading package bin-package-db-0.0.0.0 ... linking ... done.
Loading package hoopl-3.10.0.0 ... linking ... done.
Loading package hpc-0.6.0.1 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package transformers-0.3.0.0 ... linking ... done.
Loading package ghc-7.7.20130924 ... linking ... done.
Prelude> import StaticFlags
Prelude StaticFlags> import Data.IORef
Prelude StaticFlags Data.IORef> readIORef v_opt_C_ready
True
}}}
But when we compile it as a program:
{{{
$ cat test.hs
import StaticFlags (v_opt_C_ready)
import Data.IORef
main = readIORef v_opt_C_ready >>= print
$ ~/ghc/ghc-pristine/inplace/bin/ghc-stage2 -O2 -package ghc test.hs
-fforce-recomp
[1 of 1] Compiling Main ( test.hs, test.o )
Linking test ...
$ ./test
False
}}}
I think what is happening is that in the GHCi case, the linker is
referring to the 'outer' GHCi in which we are running our session, as
opposed to the 'inner' session in which we try to read the flag.
I'm investigating a little more.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8276#comment:18>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list