mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-07-05 13:25:20 +02:00

The previous commit removed the subshell execution from scripts/mksysmap, which is now simple enough to become a sed script. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2.0 KiB
Executable File
2.0 KiB
Executable File
#!/bin/sed -f
SPDX-License-Identifier: GPL-2.0-only
sed script to filter out symbols that are not needed for System.map,
or not suitable for kallsyms. The input should be 'nm -n '.
System.map is used by module-init tools and some debugging
tools to retrieve the actual addresses of symbols in the kernel.
readprofile starts reading symbols when _stext is found, and
continue until it finds a symbol which is not either of 'T', 't',
'W' or 'w'.
---------------------------------------------------------------------------
Ignored symbol types
a: local absolute symbols
N: debugging symbols
U: undefined global symbols
w: local weak symbols
/ [aNUw] /d
---------------------------------------------------------------------------
Ignored prefixes
(do not forget a space before each pattern)
local symbols for ARM, MIPS, etc.
/ \$/d
local labels, .LBB, .Ltmpxxx, .L__unnamed_xx, .LASANPC, etc.
/ .L/d
arm64 EFI stub namespace
/ _efistub/d
arm64 local symbols in PIE namespace
/ _pi\$/d / _pi.L/d
arm64 local symbols in non-VHE KVM namespace
/ _kvm_nvhe\$/d / _kvm_nvhe.L/d
lld arm/aarch64/mips thunks
/ _:alnum:*Thunk/d
CFI type identifiers
/ _kcfi_typeid/d / _kvm_nvhe___kcfi_typeid/d / _pi___kcfi_typeid/d
CRC from modversions
/ _crc/d
EXPORT_SYMBOL (symbol name)
/ _kstrtab/d
EXPORT_SYMBOL (namespace)
/ _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