Minor Android fixup for symbol dumping code
Patch by Julian Seward <jseward@acm.org> R=digit at https://breakpad.appspot.com/521002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1123 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
parent
93a48343ee
commit
46cbbb847e
@ -39,7 +39,9 @@
|
|||||||
#include "common/dwarf_cu_to_module.h"
|
#include "common/dwarf_cu_to_module.h"
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
#if !defined(__ANDROID__)
|
||||||
#include <cxxabi.h>
|
#include <cxxabi.h>
|
||||||
|
#endif
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
@ -314,7 +316,10 @@ void DwarfCUToModule::GenericDIEHandler::ProcessAttributeString(
|
|||||||
name_attribute_ = AddStringToPool(data);
|
name_attribute_ = AddStringToPool(data);
|
||||||
break;
|
break;
|
||||||
case dwarf2reader::DW_AT_MIPS_linkage_name: {
|
case dwarf2reader::DW_AT_MIPS_linkage_name: {
|
||||||
char* demangled = abi::__cxa_demangle(data.c_str(), NULL, NULL, NULL);
|
char* demangled = NULL;
|
||||||
|
#if !defined(__ANDROID__)
|
||||||
|
demangled = abi::__cxa_demangle(data.c_str(), NULL, NULL, NULL);
|
||||||
|
#endif
|
||||||
if (demangled) {
|
if (demangled) {
|
||||||
demangled_name_ = AddStringToPool(demangled);
|
demangled_name_ = AddStringToPool(demangled);
|
||||||
free(reinterpret_cast<void*>(demangled));
|
free(reinterpret_cast<void*>(demangled));
|
||||||
@ -784,9 +789,9 @@ void DwarfCUToModule::AssignLinesToFunctions() {
|
|||||||
// complexity from here on out is linear.
|
// complexity from here on out is linear.
|
||||||
|
|
||||||
// Put both our functions and lines in order by address.
|
// Put both our functions and lines in order by address.
|
||||||
sort(functions->begin(), functions->end(),
|
std::sort(functions->begin(), functions->end(),
|
||||||
Module::Function::CompareByAddress);
|
Module::Function::CompareByAddress);
|
||||||
sort(lines_.begin(), lines_.end(), Module::Line::CompareByAddress);
|
std::sort(lines_.begin(), lines_.end(), Module::Line::CompareByAddress);
|
||||||
|
|
||||||
// The last line that we used any piece of. We use this only for
|
// The last line that we used any piece of. We use this only for
|
||||||
// generating warnings.
|
// generating warnings.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user