diff options
author | Namhyung Kim <namhyung@kernel.org> | 2025-08-18 10:32:18 -0700 |
---|---|---|
committer | Namhyung Kim <namhyung@kernel.org> | 2025-08-18 12:38:42 -0700 |
commit | aa34642f6fc36a436de5ae5b30d414578b3622f5 (patch) | |
tree | 2039a5ed563cb545a896845d42b5f9383438c170 | |
parent | 6cb8607934d937f4ad24ec9ad26aeb669e266937 (diff) |
tools headers: Sync linux/cfi_types.h with the kernel source
To pick up the changes in this cset:
5ccaeedb489b41ce cfi: add C CFI type macro
This addresses these perf build warnings:
Warning: Kernel ABI header differences:
diff -u tools/include/linux/cfi_types.h include/linux/cfi_types.h
Please see tools/include/uapi/README for further details.
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
-rw-r--r-- | tools/include/linux/cfi_types.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/include/linux/cfi_types.h b/tools/include/linux/cfi_types.h index 6b8713675765..685f7181780f 100644 --- a/tools/include/linux/cfi_types.h +++ b/tools/include/linux/cfi_types.h @@ -41,5 +41,28 @@ SYM_TYPED_START(name, SYM_L_GLOBAL, SYM_A_ALIGN) #endif +#else /* __ASSEMBLY__ */ + +#ifdef CONFIG_CFI_CLANG +#define DEFINE_CFI_TYPE(name, func) \ + /* \ + * Force a reference to the function so the compiler generates \ + * __kcfi_typeid_<func>. \ + */ \ + __ADDRESSABLE(func); \ + /* u32 name __ro_after_init = __kcfi_typeid_<func> */ \ + extern u32 name; \ + asm ( \ + " .pushsection .data..ro_after_init,\"aw\",\%progbits \n" \ + " .type " #name ",\%object \n" \ + " .globl " #name " \n" \ + " .p2align 2, 0x0 \n" \ + #name ": \n" \ + " .4byte __kcfi_typeid_" #func " \n" \ + " .size " #name ", 4 \n" \ + " .popsection \n" \ + ); +#endif + #endif /* __ASSEMBLY__ */ #endif /* _LINUX_CFI_TYPES_H */ |