summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorMasahiro Yamada <masahiroy@kernel.org>2023-03-08 12:52:38 +0100
committerMasahiro Yamada <masahiroy@kernel.org>2023-04-17 04:03:56 +0200
commitc4802044a0a7d7dfa82af858c2fa3ae9d76249c4 (patch)
tree347dd32a4e650b4abdd6012ff7ebb1fa1f901545 /scripts
parentscripts/mksysmap: remove comments described in nm(1) (diff)
downloadlinux-c4802044a0a7d7dfa82af858c2fa3ae9d76249c4.tar.xz
linux-c4802044a0a7d7dfa82af858c2fa3ae9d76249c4.zip
scripts/mksysmap: use sed with in-line comments
It is not feasible to insert comments in a multi-line shell command. Use sed, and move comments close to the code. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/mksysmap61
1 files changed, 37 insertions, 24 deletions
diff --git a/scripts/mksysmap b/scripts/mksysmap
index fea65fc3b624..41ad4605aeef 100755
--- a/scripts/mksysmap
+++ b/scripts/mksysmap
@@ -11,32 +11,45 @@
# Generate System.map (actual filename passed as second argument)
# The following refers to the symbol type as per nm(1).
-# For System.map filter away:
-# a - local absolute symbols
-# U - undefined global symbols
-# N - debugging symbols
-# w - local weak symbols
-
# 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 prefixes:
-# $ - local symbols for ARM, MIPS, etc.
-# .L - local labels, .LBB,.Ltmpxxx,.L__unnamed_xx,.LASANPC, etc.
-# __crc_ - modversions
-# __kstrtab_ - EXPORT_SYMBOL (symbol name)
-# __kstrtabns_ - EXPORT_SYMBOL (namespace)
+
+${NM} -n ${1} | sed >${2} -e "
+# ---------------------------------------------------------------------------
+# Ignored symbol types
#
-# Ignored symbols:
-# L0 - for LoongArch?
-
-$NM -n $1 | grep -v \
- -e ' [aNUw] ' \
- -e ' \$' \
- -e ' \.L' \
- -e ' __crc_' \
- -e ' __kstrtab_' \
- -e ' __kstrtabns_' \
- -e ' L0$' \
-> $2
+
+# 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
+
+# CRC from modversions
+/ __crc_/d
+
+# EXPORT_SYMBOL (symbol name)
+/ __kstrtab_/d
+
+# EXPORT_SYMBOL (namespace)
+/ __kstrtabns_/d
+
+# ---------------------------------------------------------------------------
+# Ignored symbols (exact match)
+# (do not forget a space before and '$' after each pattern)
+
+# for LoongArch?
+/ L0$/d
+"