#4012: Different stage2 results depending on the version of the bootstrapping
compiler
---------------------------------+------------------------------------------
Reporter: kili | Owner:
Type: bug | Status: new
Priority: normal | Component: Build System
Version: 6.12.2 | Keywords:
Os: OpenBSD | Testcase:
Architecture: Unknown/Multiple | Failure: Other
Patch: 0 |
---------------------------------+------------------------------------------
Comment(by kili):
This is much fun... after running diff(1) with some sanitizing -I options
on two *.ghc.ifaces lists, the most interesting difference was in the
interface of the module `Panic, and there in the unfolding: section of
showGhcException. Here's the hunk with that difference:
{{{
@@ -187032,7 +187029,7 @@
Panic.showGhcException5
(GHC.Base.++
@ GHC.Types.Char
- Config.cProjectVersion
+ Config.cBooterVersion
(GHC.Base.++
@ GHC.Types.Char
Panic.showGhcException4
}}}
So what happens here seems to be some optimization replacing
cProjectVersion by cBooterVersion iff those two strings are equal (i.e.
when building 6.12 with 6.12 as the booter).
All other interface and ABI hash changes are just triggered by this
change; indeed I could `fix' the problem by removing all occurrences of
cBooterVersion. See attached patch (but don't apply, because it's *not* a
proper fix but just a workaround).
I'm not sure wether the real bug is this optimization (substitute
cBooterVersion for cProjectVersion) or the fact that the value of those
strings make it into the ABI hash.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4012#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs