libbpf: Fix libbpf build on compilers missing __builtin_mul_overflow
authorAndrii Nakryiko <andriin@fb.com>
Thu, 20 Aug 2020 06:14:09 +0000 (23:14 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Thu, 20 Aug 2020 14:45:09 +0000 (16:45 +0200)
commitdda1ec9fc7f8383cb469a82614dbce61f357f3f8
tree2003d136a95b6e9884d38d3bc108bac9ec8cafb1
parent9b2f6fecf3b77d2457a13f77a563c07304f15775
libbpf: Fix libbpf build on compilers missing __builtin_mul_overflow

GCC compilers older than version 5 don't support __builtin_mul_overflow yet.
Given GCC 4.9 is the minimal supported compiler for building kernel and the
fact that libbpf is a dependency of resolve_btfids, which is dependency of
CONFIG_DEBUG_INFO_BTF=y, this needs to be handled. This patch fixes the issue
by falling back to slower detection of integer overflow in such cases.

Fixes: 029258d7b228 ("libbpf: Remove any use of reallocarray() in libbpf")
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/bpf/20200820061411.1755905-2-andriin@fb.com
tools/lib/bpf/libbpf_internal.h