Re: [PATCH dwarves] libbpf: allow to use packaged version

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

 



On Sat, Jan 2, 2021 at 10:25 AM Luca Boccassi <bluca@xxxxxxxxxx> wrote:
>
> Add a new CMake option, LIBBPF_EMBEDDED, to switch between the
> embedded version and the system version (searched via pkg-config)
> of libbpf. Set the system version as the default.
>

There's been a lot of arguments about libbpf as a submodule, so I
don't think we need to go about pros and cons again, but I just wanted
to cast my vote against doing this at all. Having pahole built with
libbpf statically (only) was a great thing for me so far with
iterating quickly and adopting new APIs without overcomplicating the
source code with all sorts of feature detection code. Without it,
adopting libbpf's faster string deduplication, BTF writing APIs,
module/split BTFs, etc, etc, would be much bigger PITA and/or would
prolong such changes. To the point that I personally wouldn't bother
with some of them at all. Distro maintainers obviously don't care
about such inconveniences for developers, but it's a real factor in
determining what kind of functionality is implemented in pahole, so I
hope Arnaldo won't dismiss this without thinking about this carefully.

> Signed-off-by: Luca Boccassi <bluca@xxxxxxxxxx>
> ---
> Note: I can switch the default around if you prefer.

With BCC you seem to go with the default preserving existing behavior
(using libbpf from a submodule), so if we do this, I think the default
should be flipped.

>
>  CMakeLists.txt   | 49 +++++++++++++++++++++++++++++++++++-------------
>  btf_encoder.c    |  5 +++++
>  btf_loader.c     |  4 ++++
>  libbtf.c         |  6 ++++++
>  libbtf.h         |  4 ++++
>  pahole.c         |  4 ++++
>  pahole_strings.h |  4 ++++
>  strings.c        |  4 ++++
>  8 files changed, 67 insertions(+), 13 deletions(-)
>

[...]

>  #include "dutil.h"
> +#ifdef LIBBPF_FOUND
> +#include <bpf/libbpf.h>
> +#else
>  #include "lib/bpf/src/libbpf.h"
> +#endif

this is horrible, are you sure there is no way to make <bpf/libbpf.h>
work for both cases?

>
>  struct strings *strings__new(void)
>  {
> --
> 2.29.2
>



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux