Commit f2798565 by Jakub Jelinek Committed by Jakub Jelinek

sanitizer_symbolizer_libbacktrace.cc, [...]: Cherry pick upstream r224308.

	* sanitizer_common/sanitizer_symbolizer_libbacktrace.cc,
	sanitizer_common/sanitizer_symbolizer_libbacktrace.h,
	sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc: Cherry pick
	upstream r224308.

From-SVN: r218778
parent ad52126e
2014-12-16 Jakub Jelinek <jakub@redhat.com>
* sanitizer_common/sanitizer_symbolizer_libbacktrace.cc,
sanitizer_common/sanitizer_symbolizer_libbacktrace.h,
sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc: Cherry pick
upstream r224308.
2014-11-21 H.J. Lu <hongjiu.lu@intel.com> 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/63784 PR bootstrap/63784
......
...@@ -165,9 +165,9 @@ uptr LibbacktraceSymbolizer::SymbolizeCode(uptr addr, AddressInfo *frames, ...@@ -165,9 +165,9 @@ uptr LibbacktraceSymbolizer::SymbolizeCode(uptr addr, AddressInfo *frames,
return data.n_frames; return data.n_frames;
} }
bool LibbacktraceSymbolizer::SymbolizeData(DataInfo *info) { bool LibbacktraceSymbolizer::SymbolizeData(uptr addr, DataInfo *info) {
backtrace_syminfo((backtrace_state *)state_, info->start, backtrace_syminfo((backtrace_state *)state_, addr, SymbolizeDataCallback,
SymbolizeDataCallback, ErrorCallback, info); ErrorCallback, info);
return true; return true;
} }
...@@ -185,7 +185,7 @@ uptr LibbacktraceSymbolizer::SymbolizeCode(uptr addr, AddressInfo *frames, ...@@ -185,7 +185,7 @@ uptr LibbacktraceSymbolizer::SymbolizeCode(uptr addr, AddressInfo *frames,
return 0; return 0;
} }
bool LibbacktraceSymbolizer::SymbolizeData(DataInfo *info) { bool LibbacktraceSymbolizer::SymbolizeData(uptr addr, DataInfo *info) {
return false; return false;
} }
......
...@@ -33,7 +33,7 @@ class LibbacktraceSymbolizer { ...@@ -33,7 +33,7 @@ class LibbacktraceSymbolizer {
uptr SymbolizeCode(uptr addr, AddressInfo *frames, uptr max_frames, uptr SymbolizeCode(uptr addr, AddressInfo *frames, uptr max_frames,
const char *module_name, uptr module_offset); const char *module_name, uptr module_offset);
bool SymbolizeData(DataInfo *info); bool SymbolizeData(uptr addr, DataInfo *info);
// May return NULL if demangling failed. // May return NULL if demangling failed.
static char *Demangle(const char *name, bool always_alloc = false); static char *Demangle(const char *name, bool always_alloc = false);
......
...@@ -593,7 +593,7 @@ class POSIXSymbolizer : public Symbolizer { ...@@ -593,7 +593,7 @@ class POSIXSymbolizer : public Symbolizer {
// First, try to use libbacktrace symbolizer (if it's available). // First, try to use libbacktrace symbolizer (if it's available).
if (libbacktrace_symbolizer_ != 0) { if (libbacktrace_symbolizer_ != 0) {
mu_.CheckLocked(); mu_.CheckLocked();
if (libbacktrace_symbolizer_->SymbolizeData(info)) if (libbacktrace_symbolizer_->SymbolizeData(addr, info))
return true; return true;
} }
const char *str = SendCommand(true, module_name, module_offset); const char *str = SendCommand(true, module_name, module_offset);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment