Refactor handling of object merging
Previously to merge a set of object files we would invoke the linker as usual, adding -r to the command-line. However, this can result in non-sensical command-lines which causes lld to balk (#17962). To avoid this we introduce a new tool setting into GHC, -pgmlm, which is the linker which we use to merge object files.
Showing
- aclocal.m4 133 additions, 8 deletionsaclocal.m4
- compiler/main/DriverPipeline.hs 28 additions, 33 deletionscompiler/main/DriverPipeline.hs
- compiler/main/DynFlags.hs 8 additions, 2 deletionscompiler/main/DynFlags.hs
- compiler/main/Settings.hs 6 additions, 0 deletionscompiler/main/Settings.hs
- compiler/main/SysTools/Settings.hs 4 additions, 0 deletionscompiler/main/SysTools/Settings.hs
- compiler/main/SysTools/Tasks.hs 15 additions, 0 deletionscompiler/main/SysTools/Tasks.hs
- compiler/main/ToolSettings.hs 2 additions, 0 deletionscompiler/main/ToolSettings.hs
- configure.ac 1 addition, 2 deletionsconfigure.ac
- distrib/configure.ac.in 1 addition, 0 deletionsdistrib/configure.ac.in
- docs/users_guide/phases.rst 16 additions, 0 deletionsdocs/users_guide/phases.rst
- hadrian/cfg/system.config.in 8 additions, 0 deletionshadrian/cfg/system.config.in
- hadrian/hadrian.cabal 1 addition, 0 deletionshadrian/hadrian.cabal
- hadrian/src/Builder.hs 3 additions, 1 deletionhadrian/src/Builder.hs
- hadrian/src/Oracles/Setting.hs 6 additions, 0 deletionshadrian/src/Oracles/Setting.hs
- hadrian/src/Rules/Generate.hs 2 additions, 0 deletionshadrian/src/Rules/Generate.hs
- hadrian/src/Rules/Library.hs 2 additions, 1 deletionhadrian/src/Rules/Library.hs
- hadrian/src/Settings/Builders/Ld.hs 0 additions, 1 deletionhadrian/src/Settings/Builders/Ld.hs
- hadrian/src/Settings/Builders/MergeObjects.hs 9 additions, 0 deletionshadrian/src/Settings/Builders/MergeObjects.hs
- hadrian/src/Settings/Default.hs 2 additions, 0 deletionshadrian/src/Settings/Default.hs
- includes/ghc.mk 2 additions, 0 deletionsincludes/ghc.mk
Loading
Please register or sign in to comment