tools/resolve_btfids: Refactor set sorting with types from btf_ids.h
authorViktor Malik <vmalik@redhat.com>
Tue, 6 Feb 2024 12:46:09 +0000 (13:46 +0100)
committerAndrii Nakryiko <andrii@kernel.org>
Wed, 7 Feb 2024 23:56:18 +0000 (15:56 -0800)
commit9707ac4fe2f5bac6406d2403f8b8a64d7b3d8e43
tree0d58e1e1bff4f1d5e73cb9f11b7fa9157ec58a14
parent92a871ab9fa59a74d013bc04f321026a057618e7
tools/resolve_btfids: Refactor set sorting with types from btf_ids.h

Instead of using magic offsets to access BTF ID set data, leverage types
from btf_ids.h (btf_id_set and btf_id_set8) which define the actual
layout of the data. Thanks to this change, set sorting should also
continue working if the layout changes.

This requires to sync the definition of 'struct btf_id_set8' from
include/linux/btf_ids.h to tools/include/linux/btf_ids.h. We don't sync
the rest of the file at the moment, b/c that would require to also sync
multiple dependent headers and we don't need any other defs from
btf_ids.h.

Signed-off-by: Viktor Malik <vmalik@redhat.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Daniel Xu <dxu@dxuuu.xyz>
Link: https://lore.kernel.org/bpf/ff7f062ddf6a00815fda3087957c4ce667f50532.1707223196.git.vmalik@redhat.com
tools/bpf/resolve_btfids/main.c
tools/include/linux/btf_ids.h