Skip to content
  • Ben Gamari's avatar
    Add -fuse-ld flag to CFLAGS during configure · 960918bd
    Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
    The decisions made by configure later in the script may depend upon the
    linker used. Consequently, it is important that configure uses the same
    linker as GHC will eventually use.
    
    For instance, on Nix I found that a program requiring `libpthread` would
    link fine with only `-lrt` when linked with BFD ld. However, with gold
    we needed to explicitly provide the `-lpthread` dependency. Presumably
    the former would happily loaded any `NEEDED` libraries whereas the
    latter wants them explicitly given. Regardless, since `configure`'s
    `NEED_PTHREAD_LIB` check didn't use the `-fuse-ld` flag that GHC would
    eventually use, we inferred the wrong value, resulting in link errors
    later in the build.
    
    Test Plan: Validate
    
    Reviewers: austin, hvr
    
    Subscribers: rwbarton, thomie, erikd
    
    GHC Trac Issues: #13541
    
    Differential Revision: https://phabricator.haskell.org/D3694
    960918bd