diff options
author | Roland McGrath <roland@redhat.com> | 2010-05-04 18:03:42 -0700 |
---|---|---|
committer | Roland McGrath <roland@redhat.com> | 2010-05-04 19:49:18 -0700 |
commit | 89bb5d3856ffb27583f96a8f9469d01e32565e3a (patch) | |
tree | f76c20ee6ef9b7bf2d66f202c14898bdd54f404c /libdwfl | |
parent | 4820a057849240ca4e39c071beb2242cf30f9ac7 (diff) | |
download | elfutils-89bb5d3856ffb27583f96a8f9469d01e32565e3a.tar.gz |
dwfl_segment_report_module: Fix jump-start of NDX-finding loop.
Diffstat (limited to 'libdwfl')
-rw-r--r-- | libdwfl/ChangeLog | 3 | ||||
-rw-r--r-- | libdwfl/dwfl_segment_report_module.c | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog index fe3e91ef..5067ff7d 100644 --- a/libdwfl/ChangeLog +++ b/libdwfl/ChangeLog @@ -1,5 +1,8 @@ 2010-05-04 Roland McGrath <roland@redhat.com> + * 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 5f982f41..c91120bb 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) |