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>
This commit is contained in:
Masahiro Yamada 2023-03-08 20:52:38 +09:00
parent e9f76363d0
commit c4802044a0

View file

@ -11,32 +11,45 @@
# Generate System.map (actual filename passed as second argument) # Generate System.map (actual filename passed as second argument)
# The following refers to the symbol type as per nm(1). # 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 # readprofile starts reading symbols when _stext is found, and
# continue until it finds a symbol which is not either of 'T', 't', # continue until it finds a symbol which is not either of 'T', 't',
# 'W' or 'w'. # '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)
#
# Ignored symbols:
# L0 - for LoongArch?
$NM -n $1 | grep -v \ ${NM} -n ${1} | sed >${2} -e "
-e ' [aNUw] ' \ # ---------------------------------------------------------------------------
-e ' \$' \ # Ignored symbol types
-e ' \.L' \ #
-e ' __crc_' \
-e ' __kstrtab_' \ # a: local absolute symbols
-e ' __kstrtabns_' \ # N: debugging symbols
-e ' L0$' \ # U: undefined global symbols
> $2 # 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
"