• Alexey Brodkin's avatar
    perf tools: Really allow to specify custom CC, AR or LD · 3c71ba3f
    Alexey Brodkin authored
    Commit 5ef7bbb0 ("perf tools: Allow to specify custom linker
    command") was meant to enable usage non $(CROSS_COMPILE)ld linker during
    perf building.
    
    But implementation didn't take into account the fact that LD is a
    pre-defined variable in GNU Make. I.e. it is always defined.
    
    Which means there's no point to check "LD ?= ..." because it will never
    succeed.
    
    And so LD will be either that explicitly passed to make like this:
    
     ------->8-------
     make LD=path_to_my_ld ...
     ------->8-------
     or default value, which is host's "ld".
    
    Latter leads to failure of cross-linkage because instead of cross linker
    "$(CROSS_COMPILE)ld" host's "ld" is used.
    
    Fortunately there's a way to do correct substitution of $(CROSS_COMPILE)ld
    with user defined LD on command-line.
    
    As a reference was used implementation in "tools/lib/traceevent/Makefile".
    
    Build tested for x86_64 and ARC.
    
    Thanks Jiri for this hint.
    Signed-off-by: default avatarAlexey Brodkin <abrodkin@synopsys.com>
    Fixes: 5ef7bbb0 ("perf tools: Allow to specify custom linker command")
    Cc: Aaro Koskinen <aaro.koskinen@nokia.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>
    Cc: Vineet Gupta <vgupta@synopsys.com>
    Cc: linux-arch@vger.kernel.org
    Link: http://lkml.kernel.org/r/1436864720-26316-1-git-send-email-abrodkin@synopsys.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    3c71ba3f
Makefile.perf 18.7 KB