forked from mirrors/linux
		
	 7a6c355b55
			
		
	
	
		7a6c355b55
		
	
	
	
	
		
			
			Commitb18b047002("kbuild: change scripts/mksysmap into sed script") changed the invocation of the script, to call sed directly without shell. That means, the current extra escape that was added in: commitec336aa831("scripts/mksysmap: Fix badly escaped '$'") for the shell is not correct any more, at the moment the stack traces for nvhe are corrupted: [ 22.840904] kvm [190]: [<ffff80008116dd54>] __kvm_nvhe_$x.220+0x58/0x9c [ 22.842913] kvm [190]: [<ffff8000811709bc>] __kvm_nvhe_$x.9+0x44/0x50 [ 22.844112] kvm [190]: [<ffff80008116f8fc>] __kvm_nvhe___skip_pauth_save+0x4/0x4 With this patch: [ 25.793513] kvm [192]: nVHE call trace: [ 25.794141] kvm [192]: [<ffff80008116dd54>] __kvm_nvhe_hyp_panic+0xb0/0xf4 [ 25.796590] kvm [192]: [<ffff8000811709bc>] __kvm_nvhe_handle_trap+0xe4/0x188 [ 25.797553] kvm [192]: [<ffff80008116f8fc>] __kvm_nvhe___skip_pauth_save+0x4/0x4 Fixes:b18b047002("kbuild: change scripts/mksysmap into sed script") Signed-off-by: Mostafa Saleh <smostafa@google.com> Reviewed-by: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
		
			
				
	
	
		
			88 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Sed
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Sed
		
	
	
		
			Executable file
		
	
	
	
	
| #!/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
 |