summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorErik de Castro Lopo <erikd@mega-nerd.com>2015-03-12 14:36:50 +1100
committerErik de Castro Lopo <erikd@mega-nerd.com>2015-03-12 14:36:33 +1100
commit71fcc4c096ec0b575522e4c2d0104ef7a71a13c5 (patch)
tree742a91723032531f5aad8fe3345e5ac914dc887b /mk
parentec67f8136a8953c4813f875b7c9390aa81c2c9aa (diff)
downloadhaskell-71fcc4c096ec0b575522e4c2d0104ef7a71a13c5.tar.gz
Use the gold linker for linux/ARM and android/ARM targets.
Fixes #8976 and #9873 by making use of the Binutils ld.gold linker explicit whenever the target is linux/ARM or android/ARM. This does not affect iOS where Apple provides its own linker. In order to achieve this, we need to add `-fuse-ld=gold` to the SettingsCCompilerLinkFlags setting and set SettingsLdCommand to `ld.gold` (or `${target}-ld.gold` when cross-compiling). In addition, simplifying the use of `$(CONF_GCC_LINKER_OPTS_STAGEn)`. This patch was tested by ensuring that the following worked as expected: * Native builds on linux/x86_64 (nothing changed). * Native builds on linux/arm (and uses the gold linker). * Linux to linux/arm cross compiles (and uses the cross gold linker). Contributions by Ben Gamari, Joachim Breitner and Reid Barton. Reviewers: nomeata, bgamari, austin, rwbarton Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D715 GHC Trac Issues: #8976 #9873
Diffstat (limited to 'mk')
-rw-r--r--mk/config.mk.in1
1 files changed, 0 insertions, 1 deletions
diff --git a/mk/config.mk.in b/mk/config.mk.in
index b32f227f08..a6f757aa51 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -568,7 +568,6 @@ define set_stage_HSC2HS_OPTS
# $1 = stage
SRC_HSC2HS_OPTS_STAGE$1 += $$(addprefix --cflag=,$$(filter-out -O,$$(SRC_CC_OPTS) $$(CONF_CC_OPTS_STAGE$1)))
SRC_HSC2HS_OPTS_STAGE$1 += $$(addprefix --cflag=,$$(CONF_CPP_OPTS_STAGE$1))
-SRC_HSC2HS_OPTS_STAGE$1 += $$(addprefix --lflag=,$$(CONF_GCC_LINKER_OPTS_STAGE$1))
endef
$(eval $(call set_stage_HSC2HS_OPTS,0))
$(eval $(call set_stage_HSC2HS_OPTS,1))