summaryrefslogtreecommitdiffstats
path: root/translate.cxx
diff options
context:
space:
mode:
authorddomingo <ddomingo@redhat.com>2008-09-03 09:44:45 +1000
committerddomingo <ddomingo@redhat.com>2008-09-03 09:44:45 +1000
commit404939a6c4f982062116f05aa22f7dff0b0ce24e (patch)
tree53015ff483f6ed2d1e9cdabc9289358ade12a0e3 /translate.cxx
parentaac23edfa124a016581871770af84d10efc38239 (diff)
parentf02dd36464a34542d5f853d8643cc473af59c5b2 (diff)
downloadsystemtap-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.cxx11
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, */