#!/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
