Skip to content
  • Shea Levy's avatar
    Make cost centre symbol names deterministic. · d8e47a2e
    Shea Levy authored and Ben Gamari's avatar Ben Gamari committed
    Previously, non-CAF cost centre symbol names contained a unique,
    leading to non-deterministic object files which, among other issues,
    can lead to an inconsistency causing linking failure when using cached
    builds sourced from multiple machines, such as with nix. Now, each
    cost centre symbol is annotated with the type of cost centre it
    is (CAF, expression annotation, declaration annotation, or HPC) and,
    when a single module has multiple cost centres with the same name and
    type, a 0-based index.
    
    Reviewers: bgamari, simonmar
    
    Reviewed By: bgamari
    
    Subscribers: niteria, simonmar, RyanGlScott, osa1, rwbarton, thomie, carter
    
    GHC Trac Issues: #4012, #12935
    
    Differential Revision: https://phabricator.haskell.org/D4388
    d8e47a2e