From 89bb5d3856ffb27583f96a8f9469d01e32565e3a Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 4 May 2010 18:03:42 -0700 Subject: [PATCH] dwfl_segment_report_module: Fix jump-start of NDX-finding loop. --- libdwfl/ChangeLog | 3 +++ libdwfl/dwfl_segment_report_module.c | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog index fe3e91ef8..5067ff7d4 100644 --- a/libdwfl/ChangeLog +++ b/libdwfl/ChangeLog @@ -1,5 +1,8 @@ 2010-05-04 Roland McGrath + * dwfl_segment_report_module.c (dwfl_segment_report_module): + Fix jump-start of NDX-finding loop. + * segment.c (insert): Fix moving of values following insertion. (reify_segments): Fix up MOD->segment backpointer indices after later insertions in the main loop invalidate them. diff --git a/libdwfl/dwfl_segment_report_module.c b/libdwfl/dwfl_segment_report_module.c index 5f982f414..c91120bb8 100644 --- a/libdwfl/dwfl_segment_report_module.c +++ b/libdwfl/dwfl_segment_report_module.c @@ -111,7 +111,9 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name, if (segment >= dwfl->lookup_elts) segment = dwfl->lookup_elts - 1; - while (segment > 0 && dwfl->lookup_segndx[segment] > ndx) + while (segment > 0 + && (dwfl->lookup_segndx[segment] > ndx + || dwfl->lookup_segndx[segment] == -1)) --segment; while (dwfl->lookup_segndx[segment] < ndx) -- 2.47.2