Message ID | 20210714141532.28526-2-quentin@isovalent.com |
---|---|
State | Superseded |
Headers | show |
Series | libbpf: rename btf__get_from_id() and btf__load() APIs, support split BTF | expand |
On Wed, Jul 14, 2021 at 7:15 AM Quentin Monnet <quentin@isovalent.com> wrote: > > As part of the effort to move towards a v1.0 for libbpf, rename > btf__load() function, used to "upload" BTF information into the kernel, > and rename it instead as btf__load_into_kernel(). > > This new name better reflects what the function does, and should be less > confusing. > > References: > > - https://github.com/libbpf/libbpf/issues/278 > - https://github.com/libbpf/libbpf/wiki/Libbpf:-the-road-to-v1.0#btfh-apis > > Signed-off-by: Quentin Monnet <quentin@isovalent.com> > --- > tools/lib/bpf/btf.c | 3 ++- > tools/lib/bpf/btf.h | 1 + > tools/lib/bpf/libbpf.c | 2 +- > tools/lib/bpf/libbpf.map | 5 +++++ > 4 files changed, 9 insertions(+), 2 deletions(-) > [...] > diff --git a/tools/lib/bpf/libbpf.map b/tools/lib/bpf/libbpf.map > index 944c99d1ded3..d42f20b0e9e4 100644 > --- a/tools/lib/bpf/libbpf.map > +++ b/tools/lib/bpf/libbpf.map > @@ -375,3 +375,8 @@ LIBBPF_0.5.0 { > bpf_object__gen_loader; > libbpf_set_strict_mode; > } LIBBPF_0.4.0; > + > +LIBBPF_0.6.0 { we haven't released v0.5 yet, so this will go into 0.5, probably > + global: > + btf__load_into_kernel; > +} LIBBPF_0.5.0; > -- > 2.30.2 >
2021-07-15 21:32 UTC-0700 ~ Andrii Nakryiko <andrii.nakryiko@gmail.com>
> we haven't released v0.5 yet, so this will go into 0.5, probably
Oh my, I still haven't done the mental switch since the old release
model. v2 is coming, with this and your other points hopefully
addressed. Thanks a lot for the review!
Quentin
diff --git a/tools/lib/bpf/btf.c b/tools/lib/bpf/btf.c index b46760b93bb4..7e0de560490e 100644 --- a/tools/lib/bpf/btf.c +++ b/tools/lib/bpf/btf.c @@ -1180,7 +1180,7 @@ int btf__finalize_data(struct bpf_object *obj, struct btf *btf) static void *btf_get_raw_data(const struct btf *btf, __u32 *size, bool swap_endian); -int btf__load(struct btf *btf) +int btf__load_into_kernel(struct btf *btf) { __u32 log_buf_size = 0, raw_size; char *log_buf = NULL; @@ -1228,6 +1228,7 @@ int btf__load(struct btf *btf) free(log_buf); return libbpf_err(err); } +int btf__load(struct btf *) __attribute__((alias("btf__load_into_kernel"))); int btf__fd(const struct btf *btf) { diff --git a/tools/lib/bpf/btf.h b/tools/lib/bpf/btf.h index b54f1c3ebd57..b36f1b2805dc 100644 --- a/tools/lib/bpf/btf.h +++ b/tools/lib/bpf/btf.h @@ -46,6 +46,7 @@ LIBBPF_API struct btf *btf__parse_raw_split(const char *path, struct btf *base_b LIBBPF_API int btf__finalize_data(struct bpf_object *obj, struct btf *btf); LIBBPF_API int btf__load(struct btf *btf); +LIBBPF_API int btf__load_into_kernel(struct btf *btf); LIBBPF_API __s32 btf__find_by_name(const struct btf *btf, const char *type_name); LIBBPF_API __s32 btf__find_by_name_kind(const struct btf *btf, diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c index 88b99401040c..d8b7c7750402 100644 --- a/tools/lib/bpf/libbpf.c +++ b/tools/lib/bpf/libbpf.c @@ -2768,7 +2768,7 @@ static int bpf_object__sanitize_and_load_btf(struct bpf_object *obj) */ btf__set_fd(kern_btf, 0); } else { - err = btf__load(kern_btf); + err = btf__load_into_kernel(kern_btf); } if (sanitize) { if (!err) { diff --git a/tools/lib/bpf/libbpf.map b/tools/lib/bpf/libbpf.map index 944c99d1ded3..d42f20b0e9e4 100644 --- a/tools/lib/bpf/libbpf.map +++ b/tools/lib/bpf/libbpf.map @@ -375,3 +375,8 @@ LIBBPF_0.5.0 { bpf_object__gen_loader; libbpf_set_strict_mode; } LIBBPF_0.4.0; + +LIBBPF_0.6.0 { + global: + btf__load_into_kernel; +} LIBBPF_0.5.0;
As part of the effort to move towards a v1.0 for libbpf, rename btf__load() function, used to "upload" BTF information into the kernel, and rename it instead as btf__load_into_kernel(). This new name better reflects what the function does, and should be less confusing. References: - https://github.com/libbpf/libbpf/issues/278 - https://github.com/libbpf/libbpf/wiki/Libbpf:-the-road-to-v1.0#btfh-apis Signed-off-by: Quentin Monnet <quentin@isovalent.com> --- tools/lib/bpf/btf.c | 3 ++- tools/lib/bpf/btf.h | 1 + tools/lib/bpf/libbpf.c | 2 +- tools/lib/bpf/libbpf.map | 5 +++++ 4 files changed, 9 insertions(+), 2 deletions(-)