On Thu, Jan 21, 2021 at 4:32 PM Sedat Dilek sedat.dilek@gmail.com 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:
- I have NOT tested with cross-toolchain for other archs (cross compiler/linker etc.).
- This patch is on top of Linux v5.11-rc4.
I hope to get some feedback from especially Linux-bpf folks.
Acked-by: Jiri Olsa jolsa@redhat.com # tools/build and tools/perf Signed-off-by: Sedat Dilek sedat.dilek@gmail.com
Hi Sedat,
If no one objects, we'll take this through bpf-next tree. Can you please re-send this as a non-RFC patch against the bpf-next tree? Feel free to add my ack. Thanks.
Changelog RFC v1->v2:
- Add Jiri's ACK
- Adapt to fit Linux v5.11-rc4
[...]