summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--translate.cxx5
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 4db3af2f..b5ceb2e0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-10-29 Frank Ch. Eigler <fche@elastic.org>
+
+ * translate.cxx (dump_unwindsyms): Work on CONFIG_RELOCATABLE=n
+ kernels, or for whatever other scenarios dwfl_module_relocation_info
+ might return NULL.
+
2008-10-27 Josh Stone <joshua.i.stone@intel.com>
* translate.cxx (c_unparser::visit_print_format): Fix the argument passed
diff --git a/translate.cxx b/translate.cxx
index ee6b21cb..41128554 100644
--- a/translate.cxx
+++ b/translate.cxx
@@ -4481,9 +4481,10 @@ dump_unwindsyms (Dwfl_Module *m,
secname = dwfl_module_relocation_info (m, ki, NULL);
}
- if (n == 1 && modname == "kernel" && secname && secname[0] == '\0')
+ if (n == 1 && modname == "kernel")
{
- // This is a symbol within a relocatable kernel image.
+ // This is a symbol within a (possibly relocatable)
+ // kernel image.
secname = "_stext";
// NB: don't subtract session.sym_stext, which could be inconveniently NULL.
// Instead, sym_addr will get compensated later via extra_offset.