scripts/decode_stacktrace: strip basepath from all paths
Currently the basepath is removed only from the beginning of the string.
When the symbol is inlined and there's multiple line outputs of
addr2line, only the first line would have basepath removed.
Change to remove the basepath prefix from all lines.
Fixes: 31013836a7 ("scripts/decode_stacktrace: match basepath using shell prefix operator, not regex")
Co-developed-by: Shik Chen <shik@chromium.org>
Signed-off-by: Pi-Hsun Shih <pihsun@chromium.org>
Signed-off-by: Shik Chen <shik@chromium.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Cc: Sasha Levin <sashal@kernel.org>
Cc: Nicolas Boichat <drinkcat@chromium.org>
Cc: Jiri Slaby <jslaby@suse.cz>
Link: http://lkml.kernel.org/r/20200720082709.252805-1-pihsun@chromium.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
			
			
This commit is contained in:
		
				
					committed by
					
						
						Linus Torvalds
					
				
			
			
				
	
			
			
			
						parent
						
							2910c59fd0
						
					
				
				
					commit
					d178770d8d
				
			@@ -87,8 +87,8 @@ parse_symbol() {
 | 
			
		||||
		return
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	# Strip out the base of the path
 | 
			
		||||
	code=${code#$basepath/}
 | 
			
		||||
	# Strip out the base of the path on each line
 | 
			
		||||
	code=$(while read -r line; do echo "${line#$basepath/}"; done <<< "$code")
 | 
			
		||||
 | 
			
		||||
	# In the case of inlines, move everything to same line
 | 
			
		||||
	code=${code//$'\n'/' '}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user