Various fixes and improvements to printpcs
Search for an addr2line that supports elf32-i386. Don't print the path of addr2line as a side-effect of which. Don't uselessly pipe "grep '^ '" to addr2line's stdin. Enable as many pretty-printing and otherwise helpful options as possible (this makes the output *much* more pleasant on modern addr2lines).
This commit is contained in:
		
							parent
							
								
									020acb4f10
								
							
						
					
					
						commit
						951b77f7ec
					
				
					 1 changed files with 11 additions and 8 deletions
				
			
		
							
								
								
									
										19
									
								
								printpcs
									
										
									
									
									
								
							
							
						
						
									
										19
									
								
								printpcs
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,11 +1,14 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
# Decode the symbols from a panic stack trace on stdin
 | 
			
		||||
# Decode the symbols from a panic EIP list
 | 
			
		||||
 | 
			
		||||
if which addr2line
 | 
			
		||||
then
 | 
			
		||||
    p="addr2line"
 | 
			
		||||
else
 | 
			
		||||
    p="i386-jos-elf-addr2line"
 | 
			
		||||
fi
 | 
			
		||||
echo grep '^ ' | $p -e kernel $*
 | 
			
		||||
# Find a working addr2line
 | 
			
		||||
for p in i386-jos-elf-addr2line addr2line; do
 | 
			
		||||
    if which $p 2>&1 >/dev/null && \
 | 
			
		||||
       $p -h 2>&1 | grep -q '\belf32-i386\b'; then
 | 
			
		||||
        break
 | 
			
		||||
    fi
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# Enable as much pretty-printing as this addr2line can do
 | 
			
		||||
$p $($p -h | grep ' -[aipsf] ' | awk '{print $1}') -e kernel "$@"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue