Re: [PATCH bpf-next 01/10] libbpf: deprecate btf__finalize_data() and move it into libbpf.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 7, 2021 at 5:03 PM <andrii.nakryiko@xxxxxxxxx> wrote:
>
> From: Andrii Nakryiko <andrii@xxxxxxxxxx>
>
> There isn't a good use case where anyone but libbpf itself needs to call
> btf__finalize_data(). It was implemented for internal use and it's not
> clear why it was made into public API in the first place. To function, it
> requires active ELF data, which is stored inside bpf_object for the
> duration of opening phase only. But the only BTF that needs bpf_object's
> ELF is that bpf_object's BTF itself, which libbpf fixes up automatically
> during bpf_object__open() operation anyways. There is no need for any
> additional fix up and no reasonable scenario where it's useful and
> appropriate.
>
> Thus, btf__finalize_data() is just an API atavism and is better removed.
> So this patch marks it as deprecated immediately (v0.6+) and moves the
> code from btf.c into libbpf.c where it's used in the context of
> bpf_object opening phase. Such code co-location allows to make code
> structure more straightforward and remove bpf_object__section_size() and
> bpf_object__variable_offset() internal helpers from libbpf_internal.h,
> making them static. Their naming is also adjusted to not create
> a wrong illusion that they are some sort of method of bpf_object. They
> are internal helpers and are called appropriately.
>
> This is part of libbpf 1.0 effort ([0]).
>
>   [0] Closes: https://github.com/libbpf/libbpf/issues/276
>
> Signed-off-by: Andrii Nakryiko <andrii@xxxxxxxxxx>
Acked-by: Song Liu <songliubraving@xxxxxx>



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux