mbox series

[v2,bpf-next,0/4] libbpf: minimize feature detection (reallocarray, libelf-mmap)

Message ID 20200819012156.3525852-1-andriin@fb.com
Headers show
Series libbpf: minimize feature detection (reallocarray, libelf-mmap) | expand

Message

Andrii Nakryiko Aug. 19, 2020, 1:21 a.m. UTC
Get rid of two feature detectors: reallocarray and libelf-mmap. Optional
feature detections complicate libbpf Makefile and cause more troubles for
various applications that want to integrate libbpf as part of their build.

Patch #1 replaces all reallocarray() uses into libbpf-internal reallocarray()
implementation. Patches #2 and #3 makes sure we won't re-introduce
reallocarray() accidentally. Patch #2 also removes last use of
libbpf_internal.h header inside bpftool. There is still nlattr.h that's used
by both libbpf and bpftool, but that's left for a follow up patch to split.
Patch #4 removed libelf-mmap feature detector and all its uses, as it's
trivial to handle missing mmap support in libbpf, the way objtool has been
doing it for a while.

v1->v2:
  - rebase to latest bpf-next (Alexei).

Andrii Nakryiko (4):
  libbpf: remove any use of reallocarray() in libbpf
  tools/bpftool: remove libbpf_internal.h usage in bpftool
  libbpf: centralize poisoning and poison reallocarray()
  tools: remove feature-libelf-mmap feature detection

 tools/bpf/bpftool/gen.c                |   2 -
 tools/bpf/bpftool/net.c                | 299 +++++++++++++++++++++++--
 tools/build/Makefile.feature           |   1 -
 tools/build/feature/Makefile           |   4 -
 tools/build/feature/test-all.c         |   4 -
 tools/build/feature/test-libelf-mmap.c |   9 -
 tools/lib/bpf/Makefile                 |  10 +-
 tools/lib/bpf/bpf.c                    |   3 -
 tools/lib/bpf/bpf_prog_linfo.c         |   3 -
 tools/lib/bpf/btf.c                    |  14 +-
 tools/lib/bpf/btf_dump.c               |   9 +-
 tools/lib/bpf/hashmap.c                |   3 +
 tools/lib/bpf/libbpf.c                 |  38 ++--
 tools/lib/bpf/libbpf_internal.h        |  44 +++-
 tools/lib/bpf/libbpf_probes.c          |   3 -
 tools/lib/bpf/netlink.c                | 128 +----------
 tools/lib/bpf/nlattr.c                 |   9 +-
 tools/lib/bpf/ringbuf.c                |   8 +-
 tools/lib/bpf/xsk.c                    |   3 -
 tools/perf/Makefile.config             |   4 -
 tools/perf/util/symbol.h               |   2 +-
 21 files changed, 353 insertions(+), 247 deletions(-)
 delete mode 100644 tools/build/feature/test-libelf-mmap.c

Comments

Alexei Starovoitov Aug. 19, 2020, 1:25 a.m. UTC | #1
On Tue, Aug 18, 2020 at 6:24 PM Andrii Nakryiko <andriin@fb.com> wrote:
>
> Get rid of two feature detectors: reallocarray and libelf-mmap. Optional
> feature detections complicate libbpf Makefile and cause more troubles for
> various applications that want to integrate libbpf as part of their build.
>
> Patch #1 replaces all reallocarray() uses into libbpf-internal reallocarray()
> implementation. Patches #2 and #3 makes sure we won't re-introduce
> reallocarray() accidentally. Patch #2 also removes last use of
> libbpf_internal.h header inside bpftool. There is still nlattr.h that's used
> by both libbpf and bpftool, but that's left for a follow up patch to split.
> Patch #4 removed libelf-mmap feature detector and all its uses, as it's
> trivial to handle missing mmap support in libbpf, the way objtool has been
> doing it for a while.
>
> v1->v2:
>   - rebase to latest bpf-next (Alexei).

still no good. pls rebase again.
Andrii Nakryiko Aug. 19, 2020, 1:33 a.m. UTC | #2
On Tue, Aug 18, 2020 at 6:25 PM Alexei Starovoitov
<alexei.starovoitov@gmail.com> wrote:
>
> On Tue, Aug 18, 2020 at 6:24 PM Andrii Nakryiko <andriin@fb.com> wrote:
> >
> > Get rid of two feature detectors: reallocarray and libelf-mmap. Optional
> > feature detections complicate libbpf Makefile and cause more troubles for
> > various applications that want to integrate libbpf as part of their build.
> >
> > Patch #1 replaces all reallocarray() uses into libbpf-internal reallocarray()
> > implementation. Patches #2 and #3 makes sure we won't re-introduce
> > reallocarray() accidentally. Patch #2 also removes last use of
> > libbpf_internal.h header inside bpftool. There is still nlattr.h that's used
> > by both libbpf and bpftool, but that's left for a follow up patch to split.
> > Patch #4 removed libelf-mmap feature detector and all its uses, as it's
> > trivial to handle missing mmap support in libbpf, the way objtool has been
> > doing it for a while.
> >
> > v1->v2:
> >   - rebase to latest bpf-next (Alexei).
>
> still no good. pls rebase again.

can't keep up :) rebasing