diff options
author | Dave Brolley <brolley@redhat.com> | 2009-11-23 19:08:51 -0500 |
---|---|---|
committer | Dave Brolley <brolley@redhat.com> | 2009-11-23 19:08:51 -0500 |
commit | 5d1c958ce2dcc0f28c1bd13b8e005c0c2ad1cdba (patch) | |
tree | e44ad8807e0b5b2e1bb85682f677d492f1195dbf /translate.cxx | |
parent | 562d60b004e3d7ae73c1c7508be529006bd6430f (diff) | |
parent | 90bba7158de040705a101ba1fdf6062866b4b4e9 (diff) | |
download | systemtap-steved-5d1c958ce2dcc0f28c1bd13b8e005c0c2ad1cdba.tar.gz systemtap-steved-5d1c958ce2dcc0f28c1bd13b8e005c0c2ad1cdba.tar.xz systemtap-steved-5d1c958ce2dcc0f28c1bd13b8e005c0c2ad1cdba.zip |
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap
Conflicts:
configure
Diffstat (limited to 'translate.cxx')
-rw-r--r-- | translate.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/translate.cxx b/translate.cxx index cbb8f1e3..03f7c86a 100644 --- a/translate.cxx +++ b/translate.cxx @@ -1172,6 +1172,8 @@ c_unparser::emit_module_init () // PR10228: set up symbol table-related task finders. o->newline() << "#if defined(STP_NEED_VMA_TRACKER)"; o->newline() << "_stp_sym_init();"; + o->newline() << "#else"; + o->newline() << "if (_stp_need_vma_tracker == 1) _stp_sym_init();"; o->newline() << "#endif"; // NB: we don't need per-_stp_module task_finders, since a single common one // set up in runtime/sym.c's _stp_sym_init() will scan through all _stp_modules. @@ -2609,7 +2611,7 @@ c_unparser::visit_foreach_loop (foreach_loop *s) // @count instead for aggregates. '-5' tells the // runtime to sort by count. if (s->sort_column == 0) - sort_column = -5; + sort_column = -5; /* runtime/map.c SORT_COUNT */ else sort_column = s->sort_column; @@ -5023,6 +5025,11 @@ emit_symbol_data_done (unwindsym_dump_context *ctx, systemtap_session& s) ctx->output << "0x" << hex << ctx->stp_kretprobe_trampoline_addr << dec << ";\n"; + // Note when someone requested the task_finder. + ctx->output << "static char _stp_need_vma_tracker = " + << (s.task_finder_derived_probes ? "1" : "0") + << ";\n"; + // Some nonexistent modules may have been identified with "-d". Note them. if (! s.suppress_warnings) for (set<string>::iterator it = ctx->undone_unwindsym_modules.begin(); |