summaryrefslogtreecommitdiff
path: root/addr2line.c
diff options
context:
space:
mode:
Diffstat (limited to 'addr2line.c')
-rw-r--r--addr2line.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/addr2line.c b/addr2line.c
index 04a48e751d..c0fad49885 100644
--- a/addr2line.c
+++ b/addr2line.c
@@ -619,16 +619,16 @@ rb_dump_backtrace_with_lines(int num_traces, void **trace, char **syms)
line_info_t *line = &lines[i];
if (line->line > 0) {
- fprintf(stderr, "%s ", syms[i]);
if (line->filename) {
if (line->dirname && line->dirname[0]) {
- fprintf(stderr, "%s/", line->dirname);
+ fprintf(stderr, "%s %s/%s:%d\n", syms[i], line->dirname, line->filename, line->line);
+ }
+ else {
+ fprintf(stderr, "%s %s:%d\n", syms[i], line->filename, line->line);
}
- fprintf(stderr, "%s", line->filename);
} else {
- fprintf(stderr, "???");
+ fprintf(stderr, "%s ???:%d\n", syms[i], line->line);
}
- fprintf(stderr, ":%d\n", line->line);
} else {
fprintf(stderr, "%s\n", syms[i]);
}