[GHC] #4012: Compilation results are not deterministic
GHC
ghc-devs at haskell.org
Tue Sep 2 12:01:19 UTC 2014
#4012: Compilation results are not deterministic
-------------------------------------+-------------------------------------
Reporter: kili | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 7.10.1
Component: Compiler | Version: 6.12.2
Resolution: | Keywords:
Operating System: | Architecture: Unknown/Multiple
Unknown/Multiple | Difficulty: Difficult (2-5
Type of failure: Other | days)
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Revisions: |
-------------------------------------+-------------------------------------
Comment (by nh2):
@simonmar: Then I shall leave this ticket to issues concerning (1), and
create a separate one for byte-identical compilation.
Why would you want byte-identical compilation (or, how Debian calls it,
"reproducible builds")? There are a few reasons (3 is the key point for me
right now):
1. Distributions want it (see
https://wiki.debian.org/ReproducibleBuilds#Why_do_we_want_reproducible_builds.3F)
2. It allows users of open source projects (e.g. Tor, TrueCrypt had famous
efforts in this direction) to verify that the binary they downloaded
really is built from the unmodified source
3. It gives recompilation avoidance in build systems outside of GHC. If
the binary you just produced is byte-identical to what was already there,
you can stop (e.g. don't need to run tests in CI etc.).
And finally, a more-belief-than-evidence-supported point:
5. It will improve binary distributions of cabal packages and similar
things. For example, I would like to build a Haskell equivalent to
`ccache`, and having byte-identical output for the same input would make
that much easier.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/4012#comment:56>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list