diff options
author | Dave Brolley <brolley@redhat.com> | 2009-03-17 13:09:49 -0400 |
---|---|---|
committer | Dave Brolley <brolley@redhat.com> | 2009-03-17 13:09:49 -0400 |
commit | 2855f6351e26f51953af11b17c4499df4d3d3441 (patch) | |
tree | 2fa84dd226f944ae29e0dae5e9c192a0f0c0a202 /translate.cxx | |
parent | 9b6d8bd0d7a6f80a613b7c609ff1d71ddfed009b (diff) | |
parent | 67aada05e69728327de1c7b8aeeaa0193668bed8 (diff) | |
download | systemtap-steved-2855f6351e26f51953af11b17c4499df4d3d3441.tar.gz systemtap-steved-2855f6351e26f51953af11b17c4499df4d3d3441.tar.xz systemtap-steved-2855f6351e26f51953af11b17c4499df4d3d3441.zip |
Merge branch 'master' of git://sources.redhat.com/git/systemtap
Diffstat (limited to 'translate.cxx')
-rw-r--r-- | translate.cxx | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/translate.cxx b/translate.cxx index f4c28536..377a11fb 100644 --- a/translate.cxx +++ b/translate.cxx @@ -4700,6 +4700,15 @@ dump_unwindsyms (Dwfl_Module *m, c->output << "static struct _stp_module _stp_module_" << stpmod_idx << " = {\n"; c->output << ".name = " << lex_cast_qstring (modname) << ", \n"; + + // Get the canonical path of the main file for comparison at runtime. + // When given directly by the user through -d or in case of the kernel + // name and path might differ. path should be used for matching. + const char *mainfile; + dwfl_module_info (m, NULL, NULL, NULL, NULL, NULL, &mainfile, NULL); + mainfile = canonicalize_file_name(mainfile); + c->output << ".path = " << lex_cast_qstring (mainfile) << ",\n"; + c->output << ".dwarf_module_base = 0x" << hex << base << dec << ", \n"; if (unwind != NULL) |