diff options
author | Ben Gamari <ben@smart-cactus.org> | 2022-02-04 19:05:46 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2022-02-09 15:56:11 -0500 |
commit | 1cc6a49518cec25e753111520411713ddcb584f2 (patch) | |
tree | 23bd405d497fe31c903c80e77c75c6d8af66b475 | |
parent | 60bc48be5e6a4dee46aaf3dc422460a175a29c5b (diff) | |
download | haskell-1cc6a49518cec25e753111520411713ddcb584f2.tar.gz |
Drop --oformat=pe-bigobj-x86-64 arguments from ld flags
It appears that LLD detects that the output is large on its own.
-rw-r--r-- | compiler/GHC/Driver/Pipeline/Execute.hs | 5 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | m4/fp_settings.m4 | 2 |
3 files changed, 6 insertions, 3 deletions
diff --git a/compiler/GHC/Driver/Pipeline/Execute.hs b/compiler/GHC/Driver/Pipeline/Execute.hs index 6bc9df7c6f..4fafb5c294 100644 --- a/compiler/GHC/Driver/Pipeline/Execute.hs +++ b/compiler/GHC/Driver/Pipeline/Execute.hs @@ -1089,12 +1089,15 @@ enabled in the toolchain: suggests, this tells the linker to produce a bigobj-enabled COFF object, no a PE executable. -We must enable bigobj output in a few places: +Previously when we used ld.bfd we had to enable bigobj output in a few places: * When merging object files (GHC.Driver.Pipeline.Execute.joinObjectFiles) * When assembling (GHC.Driver.Pipeline.runPhase (RealPhase As ...)) +However, this is no longer necessary with ld.lld, which detects that the +object is large on its own. + Unfortunately the big object format is not supported on 32-bit targets so none of this can be used in that case. diff --git a/configure.ac b/configure.ac index 3504733476..df24bc472e 100644 --- a/configure.ac +++ b/configure.ac @@ -450,7 +450,7 @@ then OBJDUMP="${mingwbin}llvm-objdump.exe" DLLTOOL="${mingwbin}llvm-dlltool.exe" MergeObjsCmd="${mingwbin}ld.lld.exe" - MergeObjsArgs="-r --oformat=pe-bigobj-x86-64" + MergeObjsArgs="-r" AC_PATH_PROG([Genlib],[genlib]) fi diff --git a/m4/fp_settings.m4 b/m4/fp_settings.m4 index f3f151dd11..9f9636a520 100644 --- a/m4/fp_settings.m4 +++ b/m4/fp_settings.m4 @@ -14,7 +14,7 @@ AC_DEFUN([FP_SETTINGS], # Overrides FIND_MERGE_OBJECTS in order to avoid hard-coding linker # path on Windows (#18550). SettingsMergeObjectsCommand="${SettingsLdCommand}" - SettingsMergeObjectsFlags="-r --oformat=pe-bigobj-x86-64" + SettingsMergeObjectsFlags="-r" SettingsArCommand="${mingw_bin_prefix}llvm-ar.exe" SettingsRanlibCommand="${mingw_bin_prefix}llvm-ranlib.exe" SettingsDllWrapCommand="${mingw_bin_prefix}llvm-dllwrap.exe" |