On Fri, Feb 08, 2019 at 11:19:35AM -0800, Andrii Nakryiko wrote: > This patchset introduces a set of new APIs that make it possible to work with > BTF > more effectively (and without involving kernel) for applications like pahole > that > need to manipulate .BTF and .BTF.ext data. > > Patch #1 changes existing btf__new() API call to only load and initialize > struct btf, while exposing new btf__load() API to attempt to load and validate > BTF in kernel. > > Patch #2 adds btf__get_raw_data() API allowing to get access to raw BTF data > from > struct btf. > > Patch #3 adds similar btf_ext__get_raw_data() API for working with struct > btf_ext. > > Patch #4 removes not-yet-stable btf__get_strings() API which was added to be > able > to test contents of struct btf for btf__dedup(). It's now superseded by raw > APIs. > > v3->v4: > - formatting fixes > - renamed btf_ext functions/structs to use "setup" language instead of "copy" > - removed btf__get_strings from libbpf.map > > v2->v3: > - const void* variants of btf__get_raw_data() > - added btf_ext__get_raw_data() > - removed btf__get_strings() and adapted test_btf.c to use btf__get_raw_data() > > v1->v2: > - btf_load() returns just error, not fd > - fix ordering in libbpf.map
Applied, Thanks