summaryrefslogtreecommitdiffstats
path: root/libdw/dwarf_getsrclines.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdw/dwarf_getsrclines.c')
-rw-r--r--libdw/dwarf_getsrclines.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libdw/dwarf_getsrclines.c b/libdw/dwarf_getsrclines.c
index 85fe35eb..a207b16a 100644
--- a/libdw/dwarf_getsrclines.c
+++ b/libdw/dwarf_getsrclines.c
@@ -43,6 +43,10 @@ compare_lines (const void *a, const void *b)
Dwarf_Line *const *p1 = a;
Dwarf_Line *const *p2 = b;
+ if ((*p1)->addr == (*p2)->addr)
+ /* An end_sequence marker precedes a normal record at the same address. */
+ return (*p2)->end_sequence - (*p1)->end_sequence;
+
return (*p1)->addr - (*p2)->addr;
}