bpftool: make libbfd optional
authorStanislav Fomichev <sdf@google.com>
Mon, 12 Nov 2018 21:44:10 +0000 (13:44 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Sat, 17 Nov 2018 04:45:01 +0000 (20:45 -0800)
commit29a9c10e4110e368443f0b606d71557edee7f2cc
tree0c3025388dcfa6221044a9ad532775ff30bf077b
parentae9435f696035894a57987ba25396818c756eeaf
bpftool: make libbfd optional

Make it possible to build bpftool without libbfd. libbfd and libopcodes are
typically provided in dev/dbg packages (binutils-dev in debian) which we
usually don't have installed on the fleet machines and we'd like a way to have
bpftool version that works without installing any additional packages.
This excludes support for disassembling jit-ted code and prints an error if
the user tries to use these features.

Tested by:
cat > FEATURES_DUMP.bpftool <<EOF
feature-libbfd=0
feature-disassembler-four-args=1
feature-reallocarray=0
feature-libelf=1
feature-libelf-mmap=1
feature-bpf=1
EOF
FEATURES_DUMP=$PWD/FEATURES_DUMP.bpftool make
ldd bpftool | grep libbfd

Signed-off-by: Stanislav Fomichev <sdf@google.com>
Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/bpf/bpftool/Makefile
tools/bpf/bpftool/jit_disasm.c
tools/bpf/bpftool/main.c
tools/bpf/bpftool/main.h
tools/bpf/bpftool/prog.c