On Thu, Jul 18, 2019 at 10:30 AM Andrii Nakryiko <andriin@xxxxxx> wrote: > > hashmap.h depends on __WORDSIZE being defined. It is defined by > glibc/musl in different headers. It's an explicit goal for musl to be > "non-detectable" at compilation time, so instead include glibc header if > glibc is explicitly detected and fall back to musl header otherwise. > > Fixes: e3b924224028 ("libbpf: add resizable non-thread safe internal hashmap") > Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Arnaldo, As it compiled fine for me even before and I don't have a musl set up, could you please verify this fixes the issue for perf for all your test environments? Thanks! > Signed-off-by: Andrii Nakryiko <andriin@xxxxxx> > --- > tools/lib/bpf/hashmap.h | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/tools/lib/bpf/hashmap.h b/tools/lib/bpf/hashmap.h > index 03748a742146..bae8879cdf58 100644 > --- a/tools/lib/bpf/hashmap.h > +++ b/tools/lib/bpf/hashmap.h > @@ -10,6 +10,11 @@ > > #include <stdbool.h> > #include <stddef.h> > +#ifdef __GLIBC__ > +#include <bits/wordsize.h> > +#else > +#include <bits/reg.h> > +#endif > #include "libbpf_internal.h" > > static inline size_t hash_bits(size_t h, int bits) > -- > 2.17.1 >