diff options
author | Ben Gamari <ben@smart-cactus.org> | 2018-12-12 12:17:21 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2018-12-12 23:25:02 -0500 |
commit | 0d7fb471f368237462c700bac5500a90d29a1114 (patch) | |
tree | 36ca8b4cc4b4b1f9e72c08fde0f5bb34e38ccd18 /aclocal.m4 | |
parent | b2227af3205534c2bdf3e93ed2d1cf1da5864a77 (diff) | |
download | haskell-0d7fb471f368237462c700bac5500a90d29a1114.tar.gz |
configure: Disable LD_NO_GOLD logic when cross-compiling
This is generally terrible: see #16025. In short, we previously just blindly
used an un-prefixed ld for LD_NO_GOLD. This is blatantly wrong. Ideally we would
actually verify that ld.gold is indeed broken (by binutils #22266) before
insisting on using another linker but sadly we cannot do so when cross-compiling
since this would require running host code.
For now we simply disable the LD_NO_GOLD logic when cross-compiling and hope
that the user has verified that their ld.gold isn't affected by #22266.
Diffstat (limited to 'aclocal.m4')
-rw-r--r-- | aclocal.m4 | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/aclocal.m4 b/aclocal.m4 index 447fd6119f..7aa3fb468a 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -2408,7 +2408,11 @@ AC_DEFUN([FIND_LD],[ FP_CC_LINKER_FLAG_TRY(bfd, $2) ;; "GNU gold"*) FP_CC_LINKER_FLAG_TRY(gold, $2) - LD_NO_GOLD=ld + if test "$cross_compiling" = "yes"; then + AC_MSG_NOTICE([Using ld.gold and assuming that it is not affected by binutils issue 22266]); + else + LD_NO_GOLD=ld; + fi ;; "LLD"*) FP_CC_LINKER_FLAG_TRY(lld, $2) ;; |