summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorPierre-Clément Tosi <ptosi@google.com>2023-06-26 12:29:46 +0000
committerMasahiro Yamada <masahiroy@kernel.org>2023-06-27 08:35:43 +0900
commit71025b8565a383223ea2d94325db37cdabbcc453 (patch)
tree35bf536c5a6de8c97d408ada055174791461f333 /scripts
parent1240dabe8d58b4eff09e7edf1560da0360f997aa (diff)
downloadlinux-71025b8565a383223ea2d94325db37cdabbcc453.tar.gz
linux-71025b8565a383223ea2d94325db37cdabbcc453.tar.bz2
linux-71025b8565a383223ea2d94325db37cdabbcc453.zip
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>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/mksysmap2
1 files changed, 2 insertions, 0 deletions
diff --git a/scripts/mksysmap b/scripts/mksysmap
index 26f39772f7a5..9ba1c9da0a40 100755
--- a/scripts/mksysmap
+++ b/scripts/mksysmap
@@ -62,6 +62,8 @@ ${NM} -n ${1} | sed >${2} -e "
# CFI type identifiers
/ __kcfi_typeid_/d
+/ __kvm_nvhe___kcfi_typeid_/d
+/ __pi___kcfi_typeid_/d
# CRC from modversions
/ __crc_/d