tools/bpftool: Strip BPF .o files before skeleton generation
authorAndrii Nakryiko <andriin@fb.com>
Wed, 22 Jul 2020 04:38:04 +0000 (21:38 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Sun, 26 Jul 2020 03:15:32 +0000 (20:15 -0700)
Strip away DWARF info from .bpf.o files, before generating BPF skeletons.
This reduces bpftool binary size from 3.43MB to 2.58MB.

Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Quentin Monnet <quentin@isovalent.com>
Link: https://lore.kernel.org/bpf/20200722043804.2373298-1-andriin@fb.com
tools/bpf/bpftool/Makefile

index 51bd520..8462690 100644 (file)
@@ -59,6 +59,7 @@ endif
 INSTALL ?= install
 RM ?= rm -f
 CLANG ?= clang
+LLVM_STRIP ?= llvm-strip
 
 FEATURE_USER = .bpftool
 FEATURE_TESTS = libbfd disassembler-four-args reallocarray zlib libcap \
@@ -147,7 +148,7 @@ $(OUTPUT)%.bpf.o: skeleton/%.bpf.c $(OUTPUT)vmlinux.h $(LIBBPF)
                -I$(srctree)/tools/include/uapi/ \
                -I$(LIBBPF_PATH) \
                -I$(srctree)/tools/lib \
-               -g -O2 -target bpf -c $< -o $@
+               -g -O2 -target bpf -c $< -o $@ && $(LLVM_STRIP) -g $@
 
 $(OUTPUT)%.skel.h: $(OUTPUT)%.bpf.o $(BPFTOOL_BOOTSTRAP)
        $(QUIET_GEN)$(BPFTOOL_BOOTSTRAP) gen skeleton $< > $@