kbuild: change scripts/mksysmap into sed script

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>
This commit is contained in:
Masahiro Yamada 2024-05-20 21:42:10 +09:00
parent 04b8cb0945
commit b18b047002
2 changed files with 7 additions and 14 deletions

View File

@ -193,7 +193,7 @@ kallsyms_step()
mksysmap() mksysmap()
{ {
info NM ${2} info NM ${2}
${CONFIG_SHELL} "${srctree}/scripts/mksysmap" ${1} ${2} ${NM} -n "${1}" | "${srctree}/scripts/mksysmap" > "${2}"
} }
sorttable() sorttable()

View File

@ -1,22 +1,16 @@
#!/bin/sh -x #!/bin/sed -f
# Based on the vmlinux file create the System.map file # 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 <file>'.
#
# System.map is used by module-init tools and some debugging # System.map is used by module-init tools and some debugging
# tools to retrieve the actual addresses of symbols in the kernel. # tools to retrieve the actual addresses of symbols in the kernel.
# #
# Usage
# mksysmap vmlinux System.map
#####
# Generate System.map (actual filename passed as second argument)
# The following refers to the symbol type as per nm(1).
# 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'.
# #
${NM} -n ${1} | sed >${2} -e "
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# Ignored symbol types # Ignored symbol types
# #
@ -92,4 +86,3 @@ ${NM} -n ${1} | sed >${2} -e "
# ppc stub # ppc stub
/\.long_branch\./d /\.long_branch\./d
/\.plt_branch\./d /\.plt_branch\./d
"