summaryrefslogtreecommitdiffstats
path: root/scripts/mksysmap
diff options
context:
space:
mode:
authorMasahiro Yamada <masahiroy@kernel.org>2023-03-08 12:52:40 +0100
committerMasahiro Yamada <masahiroy@kernel.org>2023-04-17 04:03:56 +0200
commit320e7c9d4494f7a6f046871678f582a3392235f8 (patch)
treef0f15427b33947effef58dcd5cc9019ffa6547bb /scripts/mksysmap
parentscripts/kallsyms: exclude symbols generated by itself dynamically (diff)
downloadlinux-320e7c9d4494f7a6f046871678f582a3392235f8.tar.xz
linux-320e7c9d4494f7a6f046871678f582a3392235f8.zip
scripts/kallsyms: move compiler-generated symbol patterns to mksysmap
scripts/kallsyms.c maintains compiler-generated symbols, but we end up with something similar in scripts/mksysmap to avoid the "Inconsistent kallsyms data" error. For example, commit c17a2538704f ("mksysmap: Fix the mismatch of 'L0' symbols in System.map"). They were separately maintained prior to commit 94ff2f63d6a3 ("kbuild: reuse mksysmap output for kallsyms"). Now that scripts/kallsyms.c parses the output of scripts/mksysmap, it makes more sense to collect all the ignored patterns to mksysmap. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Diffstat (limited to 'scripts/mksysmap')
-rwxr-xr-xscripts/mksysmap43
1 files changed, 43 insertions, 0 deletions
diff --git a/scripts/mksysmap b/scripts/mksysmap
index ff91ec8ecca7..cb3b1fff3eee 100755
--- a/scripts/mksysmap
+++ b/scripts/mksysmap
@@ -37,6 +37,28 @@ ${NM} -n ${1} | sed >${2} -e "
# local labels, .LBB, .Ltmpxxx, .L__unnamed_xx, .LASANPC, etc.
/ \.L/d
+# arm64 EFI stub namespace
+/ __efistub_/d
+
+# arm64 local symbols in non-VHE KVM namespace
+/ __kvm_nvhe_\$/d
+/ __kvm_nvhe_\.L/d
+
+# arm64 lld
+/ __AArch64ADRPThunk_/d
+
+# arm lld
+/ __ARMV5PILongThunk_/d
+/ __ARMV7PILongThunk_/d
+/ __ThumbV7PILongThunk_/d
+
+# mips lld
+/ __LA25Thunk_/d
+/ __microLA25Thunk_/d
+
+# CFI type identifiers
+/ __kcfi_typeid_/d
+
# CRC from modversions
/ __crc_/d
@@ -47,12 +69,33 @@ ${NM} -n ${1} | sed >${2} -e "
/ __kstrtabns_/d
# ---------------------------------------------------------------------------
+# Ignored suffixes
+# (do not forget '$' after each pattern)
+
+# arm
+/_from_arm$/d
+/_from_thumb$/d
+/_veneer$/d
+
+# ---------------------------------------------------------------------------
# Ignored symbols (exact match)
# (do not forget a space before and '$' after each pattern)
# for LoongArch?
/ L0$/d
+# ppc
+/ _SDA_BASE_$/d
+/ _SDA2_BASE_$/d
+
+# ---------------------------------------------------------------------------
+# Ignored patterns
+# (symbols that contain the pattern are ignored)
+
+# ppc stub
+/\.long_branch\./d
+/\.plt_branch\./d
+
# ---------------------------------------------------------------------------
# Ignored kallsyms symbols
#