diff options
author | Pierre-Clément Tosi <ptosi@google.com> | 2023-06-26 12:29:46 +0000 |
---|---|---|
committer | Masahiro Yamada <masahiroy@kernel.org> | 2023-06-27 08:35:43 +0900 |
commit | 71025b8565a383223ea2d94325db37cdabbcc453 (patch) | |
tree | 35bf536c5a6de8c97d408ada055174791461f333 /scripts/mksysmap | |
parent | 1240dabe8d58b4eff09e7edf1560da0360f997aa (diff) | |
download | lwn-71025b8565a383223ea2d94325db37cdabbcc453.tar.gz lwn-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/mksysmap')
-rwxr-xr-x | scripts/mksysmap | 2 |
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 |