Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
Source project has a limited visibility.
  • Ben Gamari's avatar
    b1e611d5
    Rip out runtime linker/compiler checks · b1e611d5
    Ben Gamari authored and Marge Bot's avatar Marge Bot committed
    We used to choose flags to pass to the toolchain at runtime based on the
    platform running GHC, and in this commit we drop all of those runtime
    linker checks
    
    Ultimately, this represents a change in policy: We no longer adapt at
    runtime to the toolchain being used, but rather make final decisions
    about the toolchain used at /configure time/
    (we have deleted Note [Run-time linker info] altogether!).
    
    This works towards the goal of having all toolchain configuration logic
    living in the same place, which facilities the work towards a
    runtime-retargetable GHC (see #19877).
    
    As of this commit, the runtime linker/compiler logic was moved to
    autoconf, but soon it, and the rest of the existing toolchain
    configuration logic, will live in the standalone ghc-toolchain program
    (see !9263)
    
    In particular, what used to be done at runtime is now as follows:
    * The flags -Wl,--no-as-needed for needed shared libs are configured
      into settings
    * The flag -fstack-check is configured into settings
    * The check for broken tables-next-to-code was outdated
    * We use the configured c compiler by default as the assembler program
    * We drop `asmOpts` because we already configure -Qunused-arguments flag
      into settings (see !10589)
    
    Fixes #23562
    
    Co-author: Rodrigo Mesquita (@alt-romes)
    b1e611d5
    History
    Rip out runtime linker/compiler checks
    Ben Gamari authored and Marge Bot's avatar Marge Bot committed
    We used to choose flags to pass to the toolchain at runtime based on the
    platform running GHC, and in this commit we drop all of those runtime
    linker checks
    
    Ultimately, this represents a change in policy: We no longer adapt at
    runtime to the toolchain being used, but rather make final decisions
    about the toolchain used at /configure time/
    (we have deleted Note [Run-time linker info] altogether!).
    
    This works towards the goal of having all toolchain configuration logic
    living in the same place, which facilities the work towards a
    runtime-retargetable GHC (see #19877).
    
    As of this commit, the runtime linker/compiler logic was moved to
    autoconf, but soon it, and the rest of the existing toolchain
    configuration logic, will live in the standalone ghc-toolchain program
    (see !9263)
    
    In particular, what used to be done at runtime is now as follows:
    * The flags -Wl,--no-as-needed for needed shared libs are configured
      into settings
    * The flag -fstack-check is configured into settings
    * The check for broken tables-next-to-code was outdated
    * We use the configured c compiler by default as the assembler program
    * We drop `asmOpts` because we already configure -Qunused-arguments flag
      into settings (see !10589)
    
    Fixes #23562
    
    Co-author: Rodrigo Mesquita (@alt-romes)
Code owners
Assign users and groups as approvers for specific file changes. Learn more.