diff options
Diffstat (limited to 'tools/stacktrace_resolve.awk')
-rw-r--r-- | tools/stacktrace_resolve.awk | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/tools/stacktrace_resolve.awk b/tools/stacktrace_resolve.awk index a8254a7..1b4742d 100644 --- a/tools/stacktrace_resolve.awk +++ b/tools/stacktrace_resolve.awk @@ -1,9 +1,12 @@ /k\/[0-9A-Fa-f]{8}/ { print; - addr = substr($0, match($0, /k\/[0-9A-Fa-f]{8}/) + 2, RLENGTH - 2); - if (addr != "00000000") { - printf " "; - system("addr2line -psfe out/fs/boot/kernel.bin 0x" addr); + while (match($0, /k\/[0-9A-Fa-f]{8}/)) { + addr = substr($0, RSTART + 2, RLENGTH - 2); + if (addr != "00000000") { + printf " "; + system("addr2line -psfe out/fs/boot/kernel.bin 0x" addr); + } + $0 = substr($0, RSTART + RLENGTH); } next; } |