Fix data symbolization with libbacktrace. Patch by Jakub Jelinek!

llvm-svn: 224308
This commit is contained in:
Alexey Samsonov 2014-12-16 01:52:55 +00:00
parent 9d1020648c
commit 1c65001e5e
3 changed files with 6 additions and 6 deletions

View File

@ -173,9 +173,9 @@ SymbolizedStack *LibbacktraceSymbolizer::SymbolizeCode(uptr addr,
return data.first;
}
bool LibbacktraceSymbolizer::SymbolizeData(DataInfo *info) {
backtrace_syminfo((backtrace_state *)state_, info->address,
SymbolizeDataCallback, ErrorCallback, info);
bool LibbacktraceSymbolizer::SymbolizeData(uptr addr, DataInfo *info) {
backtrace_syminfo((backtrace_state *)state_, addr, SymbolizeDataCallback,
ErrorCallback, info);
return true;
}
@ -192,7 +192,7 @@ SymbolizedStack *LibbacktraceSymbolizer::SymbolizeCode(uptr addr,
return nullptr;
}
bool LibbacktraceSymbolizer::SymbolizeData(DataInfo *info) {
bool LibbacktraceSymbolizer::SymbolizeData(uptr addr, DataInfo *info) {
return false;
}

View File

@ -35,7 +35,7 @@ class LibbacktraceSymbolizer {
SymbolizedStack *SymbolizeCode(uptr addr, const char *module_name,
uptr module_offset);
bool SymbolizeData(DataInfo *info);
bool SymbolizeData(uptr addr, DataInfo *info);
// May return NULL if demangling failed.
static char *Demangle(const char *name, bool always_alloc = false);

View File

@ -596,7 +596,7 @@ class POSIXSymbolizer : public Symbolizer {
// First, try to use libbacktrace symbolizer (if it's available).
if (libbacktrace_symbolizer_ != 0) {
mu_.CheckLocked();
if (libbacktrace_symbolizer_->SymbolizeData(info))
if (libbacktrace_symbolizer_->SymbolizeData(addr, info))
return true;
}
const char *str = SendCommand(true, module_name, module_offset);