revert '-Wl' prefixing to *_LD_OPTS
authorSergei Trofimovich <siarheit@google.com>
Sat, 17 Dec 2016 13:30:41 +0000 (13:30 +0000)
committerSergei Trofimovich <siarheit@google.com>
Sat, 17 Dec 2016 16:47:58 +0000 (16:47 +0000)
This reverts f48f5a9ebf384e1e157b7b413e1d779f4289ddd2

The prefixing does not work as comma
is stripped by $(addprefix) macro:

The following call
    $$(addprefix -optl-Wl, $$($1_$2_$3_ALL_LD_OPTS))

prefixes options with "-optl-Wl" not with "-optl-Wl,"

The simplest breakage can be seen by adding
    SRC_LD_OPTS += -O1
to mk/build.mk:

  <no location info>: error:
    Warning: Couldn't figure out linker information!
             Make sure you're using GNU ld, GNU gold
             or the built in OS X linker, etc.
  gcc: error: unrecognized command line option '-Wl-O1'

Another problem with original change is loss of ability
to pass options to gcc as a linker driver, for example:
    SRC_LD_OPTS += -flto

Signed-off-by: Sergei Trofimovich <siarheit@google.com>
rules/distdir-way-opts.mk

index 602e6eb..6ae9807 100644 (file)
@@ -207,7 +207,7 @@ $1_$2_$3_ALL_LD_OPTS = \
 
 # Options for passing to GHC when we use it for linking
 $1_$2_$3_GHC_LD_OPTS = \
- $$(addprefix -optl-Wl, $$($1_$2_$3_ALL_LD_OPTS)) \
+ $$(addprefix -optl, $$($1_$2_$3_ALL_LD_OPTS)) \
  $$($1_$2_$3_MOST_HC_OPTS)
 
 $1_$2_$3_ALL_AS_OPTS = \