Re: [PATCH 4/8] libbpf hashmap: Localize static hashmap__* symbols

From: Jiri Olsa
Date: Fri May 15 2020 - 05:17:27 EST


On Thu, May 14, 2020 at 11:56:20PM -0700, Ian Rogers wrote:
> Localize the hashmap__* symbols in libbpf.a. To allow for a version in
> libapi.
>
> Before:
> $ nm libbpf.a
> ...
> 000000000002088a t hashmap_add_entry
> 000000000001712a t hashmap__append
> 0000000000020aa3 T hashmap__capacity
> 000000000002099c T hashmap__clear
> 00000000000208b3 t hashmap_del_entry
> 0000000000020fc1 T hashmap__delete
> 0000000000020f29 T hashmap__find
> 0000000000020c6c t hashmap_find_entry
> 0000000000020a61 T hashmap__free
> 0000000000020b08 t hashmap_grow
> 00000000000208dd T hashmap__init
> 0000000000020d35 T hashmap__insert
> 0000000000020ab5 t hashmap_needs_to_grow
> 0000000000020947 T hashmap__new
> 0000000000000775 t hashmap__set
> 00000000000212f8 t hashmap__set
> 0000000000020a91 T hashmap__size
> ...
>
> After:
> $ nm libbpf.a
> ...
> 000000000002088a t hashmap_add_entry
> 000000000001712a t hashmap__append
> 0000000000020aa3 t hashmap__capacity
> 000000000002099c t hashmap__clear
> 00000000000208b3 t hashmap_del_entry
> 0000000000020fc1 t hashmap__delete
> 0000000000020f29 t hashmap__find
> 0000000000020c6c t hashmap_find_entry
> 0000000000020a61 t hashmap__free
> 0000000000020b08 t hashmap_grow
> 00000000000208dd t hashmap__init
> 0000000000020d35 t hashmap__insert
> 0000000000020ab5 t hashmap_needs_to_grow
> 0000000000020947 t hashmap__new
> 0000000000000775 t hashmap__set
> 00000000000212f8 t hashmap__set
> 0000000000020a91 t hashmap__size
> ...

I think this will break bpf selftests which use hashmap,
we need to find some other way to include this

either to use it from libbpf directly, or use the api version
only if the libbpf is not compiled in perf, we could use
following to detect that:

CFLAGS += -DHAVE_LIBBPF_SUPPORT
$(call detected,CONFIG_LIBBPF)

jirka