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 and v2->v3: - 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 -- 2.24.1