diff options
author | Sergei Trofimovich <siarheit@google.com> | 2016-12-17 20:25:19 +0000 |
---|---|---|
committer | Sergei Trofimovich <siarheit@google.com> | 2016-12-17 22:49:25 +0000 |
commit | 87c3b1d4395c3d4fc7a5272717c48f3f525da959 (patch) | |
tree | b514db2dce2ac164e449428d2b038d48f96ab391 /rules/distdir-way-opts.mk | |
parent | 0af959b1999b48f3b8e6c47184b6f8c80b4c452d (diff) | |
download | haskell-87c3b1d4395c3d4fc7a5272717c48f3f525da959.tar.gz |
fix OpenBSD linkage (wxneeded)
There is two types of options passed directly to 'ld'
(and not to 'gcc' driver):
- CONF_LD_LINKER_OPTS_STAGE$4
- EXTRA_LD_OPTS
This changedoes two things:
- split 'EXTRA_LD_OPTS' into two variables:
- EXTRA_LD_OPTS (accepts 'gcc' wrapper options)
- EXTRA_LD_LINKER_OPTS (accepts raw 'ld' options)
- wraps all LD_LINKER options as '-Wl,' when passed
to 'gcc' driver.
Fixes https://phabricator.haskell.org/D2776
Signed-off-by: Sergei Trofimovich <siarheit@google.com>
Diffstat (limited to 'rules/distdir-way-opts.mk')
-rw-r--r-- | rules/distdir-way-opts.mk | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/rules/distdir-way-opts.mk b/rules/distdir-way-opts.mk index 6ae9807944..62a145162e 100644 --- a/rules/distdir-way-opts.mk +++ b/rules/distdir-way-opts.mk @@ -196,14 +196,15 @@ $1_$2_$3_GHC_CC_OPTS = \ $$(addprefix -optc, $$($1_$2_$3_ALL_CC_OPTS)) \ $$($1_$2_$3_MOST_HC_OPTS) -# Options for passing to plain ld +# Options for passing to gcc for linking $1_$2_$3_ALL_LD_OPTS = \ $$(WAY_$3_LD_OPTS) \ $$($1_$2_DIST_LD_OPTS) \ $$($1_$2_$3_LD_OPTS) \ $$($1_$2_EXTRA_LD_OPTS) \ $$(EXTRA_LD_OPTS) \ - $$(CONF_LD_LINKER_OPTS_STAGE$4) + $$(foreach o,$$(EXTRA_LD_LINKER_OPTS),-optl-Wl$$(comma)$$o) \ + $$(foreach o,$$(CONF_LD_LINKER_OPTS_STAGE$4),-optl-Wl$$(comma)$$o) # Options for passing to GHC when we use it for linking $1_$2_$3_GHC_LD_OPTS = \ |