summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2020-08-01 11:34:32 -0400
committerBen Gamari <ben@smart-cactus.org>2020-08-04 23:37:46 -0400
commite69b0d42d88794837694429d33667c2f20931820 (patch)
treec698e29a4f88b44d50be0324b1a11a0c7649bb24 /mk
parent428320a97084501c6c11f4803219f7a8b4e92a3e (diff)
downloadhaskell-e69b0d42d88794837694429d33667c2f20931820.tar.gz
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.
Diffstat (limited to 'mk')
-rw-r--r--mk/config.mk.in3
1 files changed, 2 insertions, 1 deletions
diff --git a/mk/config.mk.in b/mk/config.mk.in
index d6f876fbed..57de094e10 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -512,6 +512,8 @@ SettingsCCompilerLinkFlags = @SettingsCCompilerLinkFlags@
SettingsCCompilerSupportsNoPie = @SettingsCCompilerSupportsNoPie@
SettingsLdCommand = @SettingsLdCommand@
SettingsLdFlags = @SettingsLdFlags@
+SettingsMergeObjectsCommand = @SettingsMergeObjectsCommand@
+SettingsMergeObjectsFlags = @SettingsMergeObjectsFlags@
SettingsArCommand = @SettingsArCommand@
SettingsRanlibCommand = @SettingsRanlibCommand@
SettingsDllWrapCommand = @SettingsDllWrapCommand@
@@ -745,7 +747,6 @@ HaveDtrace = @HaveDtrace@
USE_DTRACE = $(HaveDtrace)
DTRACE = @DtraceCmd@
-LD_NO_GOLD = @LdNoGoldCmd@
LD = @LdCmd@
NM = @NmCmd@
AR = @ArCmd@