summaryrefslogtreecommitdiff
path: root/compiler/GHC/Driver/Pipeline/Execute.hs
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2022-08-16 12:31:40 -0400
committerBen Gamari <ben@smart-cactus.org>2022-08-16 15:58:21 -0400
commit5aa2a581b68576d6cb57f6ebc21f5a8356a3bb79 (patch)
tree8ec353cf2b5dd0786c25eb2bd5d2ca3b20ec7d3b /compiler/GHC/Driver/Pipeline/Execute.hs
parentdca43a04fb36e0ae0ed61455f215660eed2856a9 (diff)
downloadhaskell-wip/T22060.tar.gz
compiler: Drop --build-id=none hackwip/T22060
Since 2011 the object-joining implementation has had a hack to pass `--build-id=none` to `ld` when supported, seemingly to work around a linker bug. This hack is now unnecessary and may break downstream users who expect objects to have valid build-ids. Remove it. Closes #22060.
Diffstat (limited to 'compiler/GHC/Driver/Pipeline/Execute.hs')
-rw-r--r--compiler/GHC/Driver/Pipeline/Execute.hs9
1 files changed, 1 insertions, 8 deletions
diff --git a/compiler/GHC/Driver/Pipeline/Execute.hs b/compiler/GHC/Driver/Pipeline/Execute.hs
index b9da8f374c..08df732873 100644
--- a/compiler/GHC/Driver/Pipeline/Execute.hs
+++ b/compiler/GHC/Driver/Pipeline/Execute.hs
@@ -1184,17 +1184,10 @@ joinObjectFiles hsc_env o_files output_fn
let toolSettings' = toolSettings dflags
ldIsGnuLd = toolSettings_ldIsGnuLd toolSettings'
ld_r args = GHC.SysTools.runMergeObjects (hsc_logger hsc_env) (hsc_tmpfs hsc_env) (hsc_dflags hsc_env) (
- map GHC.SysTools.Option ld_build_id
- ++ [ GHC.SysTools.Option "-o",
+ [ GHC.SysTools.Option "-o",
GHC.SysTools.FileOption "" output_fn ]
++ args)
- -- suppress the generation of the .note.gnu.build-id section,
- -- which we don't need and sometimes causes ld to emit a
- -- warning:
- ld_build_id | toolSettings_ldSupportsBuildId toolSettings' = ["--build-id=none"]
- | otherwise = []
-
if ldIsGnuLd
then do
script <- newTempName logger tmpfs (tmpDir dflags) TFL_CurrentModule "ldscript"