Rebuilding ghc changes interface hashes?
Simon Marlow
marlowsd at gmail.com
Wed Apr 6 16:57:08 CEST 2011
On 06/04/2011 12:40, Ian Lynagh wrote:
> On Tue, Apr 05, 2011 at 08:51:52PM +0100, Simon Marlow wrote:
>> On 05/04/11 17:51, Matthias Kilian wrote:
>>> On Tue, Apr 05, 2011 at 09:59:23PM +0530, Joachim Breitner wrote:
>>>> Also, the initial upload was built using ghc-6.12.1, while the upload
>>>> now is build with ghc-7.0.2. Given that it is a two-stage compiler, I
>>>> assume that the output should be identical, but it seems not to be the
>>>> case.
>>>
>>> Changing the bootstrapping compiler changes the ABIs. The same can
>>> happen if you interrupt and restart the build.
>>
>> In general changes can creep in randomly, there's no direct link
>> between changing the bootstrap compiler and getting different
>> compilation results (as far as I know)
>
> compiler/stage2/build/Config.hs includes cBooterVersion, so if you boot
> with a different version then you get different code => different ABI.
Oh, for the GHC package, yes. The complaint was that the hash for base
changed though.
> We could just remove this. In theory, stage2 won't be affected by the
> bootstrapping compiler at all anyway.
Right.
> 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.
Ok, I suppose we could do that. I lean towards avoiding it if we can
though (global state is bad, one more thing to go wrong, etc. etc.).
Cheers,
Simon
More information about the Glasgow-haskell-users
mailing list