Skip to content

Commit 71025b8

Browse files
ptosimasahir0y
authored andcommitted
scripts/mksysmap: Ignore prefixed KCFI symbols
The (relatively) new KCFI feature in LLVM/Clang encodes type information for C functions by generating symbols named __kcfi_typeid_<fname>, which can then be referenced from assembly. However, some custom build rules (e.g. nVHE or early PIE on arm64) use objcopy to add a prefix to all the symbols in their object files, making mksysmap's ignore filter miss those KCFI symbols. Therefore, explicitly list those twice-prefixed KCFI symbols as ignored. Alternatively, this could also be achieved in a less verbose way by ignoring any symbol containing the string "__kcfi_typeid_". However, listing the combined prefixes explicitly saves us from running the small risk of ignoring symbols that should be kept. Signed-off-by: Pierre-Clément Tosi <ptosi@google.com> Reviewed-by: Sami Tolvanen <samitolvanen@google.com> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
1 parent 1240dab commit 71025b8

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

scripts/mksysmap

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ ${NM} -n ${1} | sed >${2} -e "
6262
6363
# CFI type identifiers
6464
/ __kcfi_typeid_/d
65+
/ __kvm_nvhe___kcfi_typeid_/d
66+
/ __pi___kcfi_typeid_/d
6567
6668
# CRC from modversions
6769
/ __crc_/d

0 commit comments

Comments
 (0)