Implement macros in btf_ids.h to enable a calculation of BTF_ID_LIST size. This is done by declaring an additional __end symbol which can then be used as an indicator of the end of an array. Signed-off-by: Ihor Solodrai --- include/linux/btf_ids.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/linux/btf_ids.h b/include/linux/btf_ids.h index 139bdececdcf..27a4724d5aa9 100644 --- a/include/linux/btf_ids.h +++ b/include/linux/btf_ids.h @@ -97,6 +97,16 @@ asm( \ __BTF_ID_LIST(name, local) \ extern u32 name[]; +/* + * The BTF_ID_LIST_END macro may be used to denote an end + * of a BTF_ID_LIST. This enables calculation of the list + * size with BTF_ID_LIST_SIZE. + */ +#define BTF_ID_LIST_END(name) \ +BTF_ID_LIST(name##__end) +#define BTF_ID_LIST_SIZE(name) \ +(name##__end - name) + #define BTF_ID_LIST_GLOBAL(name, n) \ __BTF_ID_LIST(name, globl) -- 2.51.1