diff options
author | Viktor Malik <vmalik@redhat.com> | 2024-02-06 13:46:09 +0100 |
---|---|---|
committer | Andrii Nakryiko <andrii@kernel.org> | 2024-02-07 15:56:18 -0800 |
commit | 9707ac4fe2f5bac6406d2403f8b8a64d7b3d8e43 (patch) | |
tree | 0d58e1e1bff4f1d5e73cb9f11b7fa9157ec58a14 /tools/include | |
parent | 92a871ab9fa59a74d013bc04f321026a057618e7 (diff) | |
download | linux-9707ac4fe2f5bac6406d2403f8b8a64d7b3d8e43.tar.gz linux-9707ac4fe2f5bac6406d2403f8b8a64d7b3d8e43.tar.bz2 linux-9707ac4fe2f5bac6406d2403f8b8a64d7b3d8e43.zip |
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
Diffstat (limited to 'tools/include')
-rw-r--r-- | tools/include/linux/btf_ids.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/include/linux/btf_ids.h b/tools/include/linux/btf_ids.h index 2f882d5cb30f..72535f00572f 100644 --- a/tools/include/linux/btf_ids.h +++ b/tools/include/linux/btf_ids.h @@ -8,6 +8,15 @@ struct btf_id_set { u32 ids[]; }; +struct btf_id_set8 { + u32 cnt; + u32 flags; + struct { + u32 id; + u32 flags; + } pairs[]; +}; + #ifdef CONFIG_DEBUG_INFO_BTF #include <linux/compiler.h> /* for __PASTE */ |