Don't reimplement them and rather use the macros from the gelf header,
that is, GELF_ST_BIND()/GELF_ST_TYPE().

Signed-off-by: Daniel Borkmann <dan...@iogearbox.net>
---
 tc/tc_bpf.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/tc/tc_bpf.c b/tc/tc_bpf.c
index 5e80d0f..6a94894 100644
--- a/tc/tc_bpf.c
+++ b/tc/tc_bpf.c
@@ -1162,9 +1162,6 @@ static int bpf_map_attach(const char *name, const struct 
bpf_elf_map *map,
        return fd;
 }
 
-#define __ELF_ST_BIND(x)       ((x) >> 4)
-#define __ELF_ST_TYPE(x)       (((unsigned int) x) & 0xf)
-
 static const char *bpf_str_tab_name(const struct bpf_elf_ctx *ctx,
                                    const GElf_Sym *sym)
 {
@@ -1180,8 +1177,8 @@ static const char *bpf_map_fetch_name(struct bpf_elf_ctx 
*ctx, int which)
                if (gelf_getsym(ctx->sym_tab, i, &sym) != &sym)
                        continue;
 
-               if (__ELF_ST_BIND(sym.st_info) != STB_GLOBAL ||
-                   __ELF_ST_TYPE(sym.st_info) != STT_NOTYPE ||
+               if (GELF_ST_BIND(sym.st_info) != STB_GLOBAL ||
+                   GELF_ST_TYPE(sym.st_info) != STT_NOTYPE ||
                    sym.st_shndx != ctx->sec_maps ||
                    sym.st_value / sizeof(struct bpf_elf_map) != which)
                        continue;
-- 
1.9.3

Reply via email to