[GHC] #9268: internal error: evacuate(static): strange closure type -385875968
GHC
ghc-devs at haskell.org
Tue Aug 12 17:21:43 UTC 2014
#9268: internal error: evacuate(static): strange closure type -385875968
-------------------------------------+-------------------------------------
Reporter: brbr | Owner:
Type: bug | Status: new
Priority: high | Milestone: 7.10.1
Component: Compiler | Version: 7.8.2
Resolution: | Keywords:
Operating System: Linux | Architecture: Unknown/Multiple
Type of failure: Building | Difficulty: Unknown
GHC failed | Blocked By:
Test Case: | Related Tickets:
Blocking: |
Differential Revisions: |
-------------------------------------+-------------------------------------
Comment (by rwbarton):
Aaaaaaaaa.
So whatever changes I made to `mk/build.mk` didn't have the expected
effect, for some reason, and the stage1 compiler was still being built
with `-fllvm`.
And of course the bootstrapping compiler has an LLVM mangler too, which
goes about replacing `@function` with `@object` in the assembly output
from LLVM.
But I was building the mangler for the stage1 compiler with `-fllvm`, and
of course it contains the string constant `@function` so that it knows
what to replace with `@object`. So when the bootstrapping mangler mangled
the stage1 mangler it also replaced that ''string constant'' `@function`
by `@object` meaning the stage1 mangler was actually replacing `@object`
with `@object`!
So various things such as `ghczmprim_GHCziTypes_Czh_static_info` still had
type `@function` after being mangled by the stage1 compiler, which led to
this crash.
Maybe we can tell LLVM to output `@object`s in the first place somehow? Or
be more selective about our mangling...
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9268#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list