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