diff options
-rw-r--r-- | addr2line.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/addr2line.c b/addr2line.c index f660be9129..e102667602 100644 --- a/addr2line.c +++ b/addr2line.c @@ -2257,9 +2257,12 @@ print_line0(line_info_t *line, void *address) else if (!line->path) { kprintf("[0x%"PRIxPTR"]\n", addr); } - else if (!line->saddr || !line->sname) { + else if (!line->sname) { kprintf("%s(0x%"PRIxPTR") [0x%"PRIxPTR"]\n", line->path, addr-line->base_addr, addr); } + else if (!line->saddr) { + kprintf("%s(%s) [0x%"PRIxPTR"]\n", line->path, line->sname, addr); + } else if (line->line <= 0) { kprintf("%s(%s+0x%"PRIxPTR") [0x%"PRIxPTR"]\n", line->path, line->sname, d, addr); |