#!/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 <file>'.
#
# 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
