diff options
author | ddomingo <ddomingo@redhat.com> | 2008-09-03 09:44:45 +1000 |
---|---|---|
committer | ddomingo <ddomingo@redhat.com> | 2008-09-03 09:44:45 +1000 |
commit | 404939a6c4f982062116f05aa22f7dff0b0ce24e (patch) | |
tree | 53015ff483f6ed2d1e9cdabc9289358ade12a0e3 /translate.cxx | |
parent | aac23edfa124a016581871770af84d10efc38239 (diff) | |
parent | f02dd36464a34542d5f853d8643cc473af59c5b2 (diff) | |
download | systemtap-steved-404939a6c4f982062116f05aa22f7dff0b0ce24e.tar.gz systemtap-steved-404939a6c4f982062116f05aa22f7dff0b0ce24e.tar.xz systemtap-steved-404939a6c4f982062116f05aa22f7dff0b0ce24e.zip |
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap
Diffstat (limited to 'translate.cxx')
-rw-r--r-- | translate.cxx | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/translate.cxx b/translate.cxx index 57dfe4c3..2fe33314 100644 --- a/translate.cxx +++ b/translate.cxx @@ -4429,7 +4429,13 @@ dump_unwindsyms (Dwfl_Module *m, else if (n > 0) { assert (secname != NULL); - // secname adequately set + // secname adequately set + + // NB: it may be an empty string for ET_DYN objects + // like shared libraries, as their relocation base + // is implicit. + if (secname[0] == '\0') + secname = ".dynamic"; } else { @@ -4507,7 +4513,7 @@ emit_symbol_data (systemtap_session& s) unwindsym_dump_context ctx = { s, kallsyms_out, 0, s.unwindsym_modules }; - // XXX: copied from tapsets.cxx, sadly + // XXX: copied from tapsets.cxx dwflpp::, sadly static char debuginfo_path_arr[] = "-:.debug:/usr/lib/debug:build"; static char *debuginfo_env_arr = getenv("SYSTEMTAP_DEBUGINFO_PATH"); @@ -4546,6 +4552,7 @@ emit_symbol_data (systemtap_session& s) // ---- step 2: process any user modules (files) listed + // XXX: see dwflpp::setup_user. static const Dwfl_Callbacks user_callbacks = { NULL, /* dwfl_linux_kernel_find_elf, */ |