[GHC] #10161: GHC does not relink if a library's code changed

GHC ghc-devs at haskell.org
Sat Jan 2 00:52:16 UTC 2016


#10161: GHC does not relink if a library's code changed
-------------------------------------+-------------------------------------
        Reporter:  nh2               |                Owner:
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Driver            |              Version:  7.8.4
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #10966            |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by ezyang):

 There are a few ways to go about fixing this, but we have to be careful to
 keep GHC's compilation results deterministic.

 One consequence of this is that we CANNOT store the paths that were linked
 to produce the final executable in the executable: we don't want to bake
 those paths into the build product. But then how does GHC know what to
 query in order to find out if linking is necessary?

 My conclusion is that GHC has to (1) somehow run ld in a dry run mode (I
 could see no flag which actually implemented this) or (2) reimplement ld's
 library finding logic ourselves, so that we can guess what the actual
 files we're going to depend on are and then make a linking decision.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10161#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list