libbpf: add btf__parse_elf API to load .BTF and .BTF.ext
authorAndrii Nakryiko <andriin@fb.com>
Fri, 24 May 2019 18:58:57 +0000 (11:58 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 24 May 2019 21:05:57 +0000 (14:05 -0700)
commite6c64855fd7ad565d87b2bd617f4a50d3bdad82f
tree0ff1cdf6a80802389327d0f990f7ee3f943f600c
parent1d7a08b3bdaec1e25ba7979ff598272b7e34318f
libbpf: add btf__parse_elf API to load .BTF and .BTF.ext

Loading BTF and BTF.ext from ELF file is a common need. Instead of
requiring every user to re-implement it, let's provide this API from
libbpf itself. It's mostly copy/paste from `bpftool btf dump`
implementation, which will be switched to libbpf's version in next
patch. btf__parse_elf allows to load BTF and optionally BTF.ext.
This is also useful for tests that need to load/work with BTF, loaded
from test ELF files.

Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/lib/bpf/btf.c
tools/lib/bpf/btf.h
tools/lib/bpf/libbpf.map