diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2009-03-24 15:15:10 -0400 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2009-03-24 15:15:10 -0400 |
commit | 148f987f1bbc4a8fe23012a56bf89bb9fc69beb9 (patch) | |
tree | dbc3658a5e526b791e5961c931741d26e4ed8646 | |
parent | 30369ac1fe0ed4e022691eceaddb848689935f87 (diff) | |
download | systemtap-steved-148f987f1bbc4a8fe23012a56bf89bb9fc69beb9.tar.gz systemtap-steved-148f987f1bbc4a8fe23012a56bf89bb9fc69beb9.tar.xz systemtap-steved-148f987f1bbc4a8fe23012a56bf89bb9fc69beb9.zip |
accelerate pass-3 symbol/unwind generation
* translate.cxx (emit_symbol_data): Abort dwfl_getmodules loop
as soon as we run out of modules we're looking for.
-rw-r--r-- | translate.cxx | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/translate.cxx b/translate.cxx index 40bb82c2..798d52fe 100644 --- a/translate.cxx +++ b/translate.cxx @@ -4826,7 +4826,7 @@ emit_symbol_data (systemtap_session& s) if (pending_interrupts) return; off = dwfl_getmodules (dwfl, &dump_unwindsyms, (void *) &ctx, 0); } - while (off > 0); + while (off > 0 && !ctx.undone_unwindsym_modules.empty()); dwfl_assert("dwfl_getmodules", off == 0); } dwfl_end(dwfl); @@ -4864,7 +4864,7 @@ emit_symbol_data (systemtap_session& s) if (pending_interrupts) return; off = dwfl_getmodules (dwfl, &dump_unwindsyms, (void *) &ctx, 0); } - while (off > 0); + while (off > 0 && !ctx.undone_unwindsym_modules.empty()); dwfl_assert("dwfl_getmodules", off == 0); } dwfl_end(dwfl); |