libbpf: Provide GELF_ST_VISIBILITY() define for older libelf
authorArnaldo Carvalho de Melo <acme@kernel.org>
Sat, 8 May 2021 15:22:12 +0000 (12:22 -0300)
committerDaniel Borkmann <daniel@iogearbox.net>
Tue, 11 May 2021 21:07:33 +0000 (23:07 +0200)
Where that macro isn't available.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/YJaspEh0qZr4LYOc@kernel.org
tools/lib/bpf/libbpf_internal.h

index ee42622..acbcf6c 100644 (file)
 #define ELF_C_READ_MMAP ELF_C_READ
 #endif
 
+/* Older libelf all end up in this expression, for both 32 and 64 bit */
+#ifndef GELF_ST_VISIBILITY
+#define GELF_ST_VISIBILITY(o) ((o) & 0x03)
+#endif
+
 #define BTF_INFO_ENC(kind, kind_flag, vlen) \
        ((!!(kind_flag) << 31) | ((kind) << 24) | ((vlen) & BTF_MAX_VLEN))
 #define BTF_TYPE_ENC(name, info, size_or_type) (name), (info), (size_or_type)