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
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…
Reference in a new issue