Rebuilding ghc changes interface hashes?
Matthias Kilian
kili at outback.escape.de
Wed Apr 6 20:44:33 CEST 2011
On Wed, Apr 06, 2011 at 12:40:45PM +0100, Ian Lynagh wrote:
> compiler/stage2/build/Config.hs includes cBooterVersion, so if you boot
> with a different version then you get different code => different ABI.
>
> We could just remove this. In theory, stage2 won't be affected by the
> bootstrapping compiler at all anyway.
>
> Alternatively, if we make a config file (as we were discussing for
> putting the paths to gcc and ar in) then it could go in there, and then
> wouldn't be part of the ABI.
Even if Simon prefers the config file approach (and there's still
the question wether the booter version is useful at all), attached
is an old patch in darcs format i found on my disk (dated april
24th 2010). Just in case anyone wants to play with it.
I still have to find my noticeses about wether cBooterVersion affects
more than only the ghc lib.
Ciao,
Kili
-------------- next part --------------
1 patch for repository http://darcs.volkswurst.de/ghc-6.12/ghc:
Sat Apr 24 20:46:21 CEST 2010 Matthias Kilian <kili at outback.escape.de>
* Zap cBooterVersion, in an attempt to fix #4012
Note: this is obviously just a workaround, not a real fix.
New patches:
[Zap cBooterVersion, in an attempt to fix #4012
Matthias Kilian <kili at outback.escape.de>**20100424184621
Ignore-this: 18bf356e798b3c26bd4c8d2f2bc79789
Note: this is obviously just a workaround, not a real fix.
] {
hunk ./compiler/ghc.mk 50
@echo "cProjectVersionInt = \"$(ProjectVersionInt)\"" >> $@
@echo "cProjectPatchLevel :: String" >> $@
@echo "cProjectPatchLevel = \"$(ProjectPatchLevel)\"" >> $@
- @echo "cBooterVersion :: String" >> $@
- @echo "cBooterVersion = \"$(GhcVersion)\"" >> $@
@echo "cStage :: String" >> $@
@echo "cStage = show (STAGE :: Int)" >> $@
@echo "cIntegerLibrary :: String" >> $@
hunk ./compiler/main/DynFlags.hs 2419
compilerInfo :: [(String, Printable)]
compilerInfo = [("Project name", String cProjectName),
("Project version", String cProjectVersion),
- ("Booter version", String cBooterVersion),
("Stage", String cStage),
("Have interpreter", String cGhcWithInterpreter),
("Object splitting", String cSplitObjs),
hunk ./ghc/Main.hs 646
do hPutStr stderr "Glasgow Haskell Compiler, Version "
hPutStr stderr cProjectVersion
hPutStr stderr ", for Haskell 98, stage "
- hPutStr stderr cStage
- hPutStr stderr " booted by GHC version "
- hPutStrLn stderr cBooterVersion
+ hPutStrLn stderr cStage
-- We print out a Read-friendly string, but a prettier one than the
-- Show instance gives us
}
Context:
[Fix the GHC API link in the main doc index.html
Ian Lynagh <igloo at earth.li>**20100422213226]
[Set RELEASE to NO
Ian Lynagh <igloo at earth.li>**20100422160416]
[Fix Trac #3950: unifying types of different kinds
simonpj at microsoft.com**20100412151845
Ignore-this: d145b9de5ced136ef2c39f3ea4a04f4a
I was assuming that the unifer only unified types of the
same kind, but now we can "defer" unsolved constraints that
invariant no longer holds. Or at least is's more complicated
to ensure.
This patch takes the path of not assuming the invariant, which
is simpler and more robust. See
Note [Mismatched type lists and application decomposition]
]
[Fix Trac #3943: incorrect unused-variable warning
simonpj at microsoft.com**20100412151630
Ignore-this: 52459f2b8b02c3cb120abe674dc9a060
In fixing this I did the usual little bit of refactoring
]
[Convert boot and boot-pkgs to perl
Ian Lynagh <igloo at earth.li>**20100415143919
This stops us having to worry about sh/sed/... portability.
]
[Use $(MAKE), not make, when recursively calling make
Ian Lynagh <igloo at earth.li>**20100415121453]
[Update the user guide so it talks about the newer "do rec" notation everywhere
Ian Lynagh <igloo at earth.li>**20100416205416
Some of the problems highlighted in trac #3968.
]
[Fix typo
Ian Lynagh <igloo at earth.li>**20100416205412]
[Implement try10Times in Makefile
Ian Lynagh <igloo at earth.li>**20100420165909
Avoid using seq, as FreeBSD has jot instead.
]
[Give the right exit code in darcs-all
Ian Lynagh <igloo at earth.li>**20100421171339
Our END block was calling system, which alters $?. So now we save and
restore it.
]
[TAG old-time 1.0.0.4 release
Ian Lynagh <igloo at earth.li>**20100422124334]
Patch bundle hash:
fcf362722a7a7aa3c874e458349988857690c5e4
More information about the Glasgow-haskell-users
mailing list