From: Roland McGrath Date: Wed, 5 May 2010 01:03:42 +0000 (-0700) Subject: dwfl_segment_report_module: Fix jump-start of NDX-finding loop. X-Git-Tag: elfutils-0.148~58 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=89bb5d3856ffb27583f96a8f9469d01e32565e3a;p=thirdparty%2Felfutils.git dwfl_segment_report_module: Fix jump-start of NDX-finding loop. --- 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)