libbpf: Define __WORDSIZE if not available

Some systems, such as Android, don't have a define for __WORDSIZE, do it
in terms of __SIZEOF_LONG__, as done in perf since 2012:

   http://git.kernel.org/torvalds/c/3f34f6c0233ae055b5

For reference: https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html

I build tested it here and Andrii did some Travis CI build tests too.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Link: https://lore.kernel.org/bpf/20200608161150.GA3073@kernel.org
This commit is contained in:
Arnaldo Carvalho de Melo 2020-06-09 18:16:53 -03:00 committed by Daniel Borkmann
parent 042b1545fe
commit 8ca8d4a841
1 changed files with 3 additions and 4 deletions

View File

@ -10,10 +10,9 @@
#include <stdbool.h> #include <stdbool.h>
#include <stddef.h> #include <stddef.h>
#ifdef __GLIBC__ #include <limits.h>
#include <bits/wordsize.h> #ifndef __WORDSIZE
#else #define __WORDSIZE (__SIZEOF_LONG__ * 8)
#include <bits/reg.h>
#endif #endif
static inline size_t hash_bits(size_t h, int bits) static inline size_t hash_bits(size_t h, int bits)