]> git.ipfire.org Git - thirdparty/kernel/linux.git/blame - scripts/mksysmap
Merge tag 'kbuild-fixes-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masah...
[thirdparty/kernel/linux.git] / scripts / mksysmap
CommitLineData
b18b0470
MY
1#!/bin/sed -f
2# SPDX-License-Identifier: GPL-2.0-only
3#
4# sed script to filter out symbols that are not needed for System.map,
5# or not suitable for kallsyms. The input should be 'nm -n <file>'.
6#
1da177e4 7# System.map is used by module-init tools and some debugging
943ffb58 8# tools to retrieve the actual addresses of symbols in the kernel.
1da177e4 9#
1da177e4
LT
10# readprofile starts reading symbols when _stext is found, and
11# continue until it finds a symbol which is not either of 'T', 't',
c1346169
MY
12# 'W' or 'w'.
13#
c4802044
MY
14# ---------------------------------------------------------------------------
15# Ignored symbol types
a2833d1b 16#
c4802044
MY
17
18# a: local absolute symbols
19# N: debugging symbols
20# U: undefined global symbols
21# w: local weak symbols
22/ [aNUw] /d
23
24# ---------------------------------------------------------------------------
25# Ignored prefixes
26# (do not forget a space before each pattern)
27
28# local symbols for ARM, MIPS, etc.
ec336aa8 29/ \\$/d
c4802044
MY
30
31# local labels, .LBB, .Ltmpxxx, .L__unnamed_xx, .LASANPC, etc.
32/ \.L/d
33
320e7c9d
MY
34# arm64 EFI stub namespace
35/ __efistub_/d
36
200dd957
PCT
37# arm64 local symbols in PIE namespace
38/ __pi_\\$/d
39/ __pi_\.L/d
40
320e7c9d 41# arm64 local symbols in non-VHE KVM namespace
ec336aa8 42/ __kvm_nvhe_\\$/d
320e7c9d
MY
43/ __kvm_nvhe_\.L/d
44
a951884d
AB
45# lld arm/aarch64/mips thunks
46/ __[[:alnum:]]*Thunk_/d
320e7c9d
MY
47
48# CFI type identifiers
49/ __kcfi_typeid_/d
71025b85
PCT
50/ __kvm_nvhe___kcfi_typeid_/d
51/ __pi___kcfi_typeid_/d
320e7c9d 52
c4802044
MY
53# CRC from modversions
54/ __crc_/d
55
56# EXPORT_SYMBOL (symbol name)
57/ __kstrtab_/d
58
59# EXPORT_SYMBOL (namespace)
60/ __kstrtabns_/d
61
320e7c9d
MY
62# ---------------------------------------------------------------------------
63# Ignored suffixes
64# (do not forget '$' after each pattern)
65
66# arm
67/_from_arm$/d
68/_from_thumb$/d
69/_veneer$/d
70
c4802044
MY
71# ---------------------------------------------------------------------------
72# Ignored symbols (exact match)
73# (do not forget a space before and '$' after each pattern)
74
75# for LoongArch?
76/ L0$/d
ca09bf48 77
320e7c9d
MY
78# ppc
79/ _SDA_BASE_$/d
80/ _SDA2_BASE_$/d
81
82# ---------------------------------------------------------------------------
83# Ignored patterns
84# (symbols that contain the pattern are ignored)
85
86# ppc stub
87/\.long_branch\./d
88/\.plt_branch\./d