Subject: Re: [PATCH RFC] tools: Factor Clang, LLC and LLVM utils definitions

From: Jiri Olsa <[email-masked]>
Date: Wed, 20 Jan 2021 23:35:46 +0100

On Sat, Jan 16, 2021 at 10:54:04AM +0100, Sedat Dilek wrote:
> When dealing with BPF/BTF/pahole and DWARF v5 I wanted to build bpftool.
> 
> While looking into the source code I found duplicate assignments
> in misc tools for the LLVM eco system, e.g. clang and llvm-objcopy.
> 
> Move the Clang, LLC and/or LLVM utils definitions to
> tools/scripts/Makefile.include file and add missing
> includes where needed.
> Honestly, I was inspired by commit c8a950d0d3b9
> ("tools: Factor HOSTCC, HOSTLD, HOSTAR definitions").
> 
> I tested with bpftool and perf on Debian/testing AMD64 and
> LLVM/Clang v11.1.0-rc1.
> 
> Build instructions:
> 
> [ make and make-options ]
> MAKE="make V=1"
> MAKE_OPTS="HOSTCC=clang HOSTCXX=clang++ HOSTLD=ld.lld CC=clang LD=ld.lld LLVM=1 LLVM_IAS=1"
> MAKE_OPTS="$MAKE_OPTS PAHOLE=/opt/pahole/bin/pahole"
> 
> [ clean-up ]
> $MAKE $MAKE_OPTS -C tools/ clean
> 
> [ bpftool ]
> $MAKE $MAKE_OPTS -C tools/bpf/bpftool/
> 
> [ perf ]
> PYTHON=python3 $MAKE $MAKE_OPTS -C tools/perf/
> 
> I was careful with respecting the user's wish to override custom compiler,
> linker, GNU/binutils and/or LLVM utils settings.
> 
> Some personal notes:
> 1. I have NOT tested with cross-toolchain for other archs (cross compiler/linker etc.).
> 2. This patch is on top of Linux v5.11-rc3.
> 
> I hope to get some feedback from especially Linux-bpf folks.
> 
> Signed-off-by: Sedat Dilek <[email-masked]>
> ---
>  tools/bpf/bpftool/Makefile                  | 2 --
>  tools/bpf/runqslower/Makefile               | 3 ---
>  tools/build/feature/Makefile                | 4 ++--
>  tools/perf/Makefile.perf                    | 1 -

for tools/build and tools/perf

Acked-by: Jiri Olsa <[email-masked]>

jirka

>  tools/scripts/Makefile.include              | 7 +++++++
>  tools/testing/selftests/bpf/Makefile        | 3 +--
>  tools/testing/selftests/tc-testing/Makefile | 3 +--
>  7 files changed, 11 insertions(+), 12 deletions(-)
> 
> diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile
> index f897cb5fb12d..71c14efa6e91 100644
> --- a/tools/bpf/bpftool/Makefile
> +++ b/tools/bpf/bpftool/Makefile

SNIP