diff options
author | qsr@chromium.org <qsr@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2012-10-03 16:20:53 +0000 |
---|---|---|
committer | qsr@chromium.org <qsr@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2012-10-03 16:20:53 +0000 |
commit | 9b6b41b8ca2dc0a1c15d998e82eee472cc93bfe4 (patch) | |
tree | a0cef7ce6483fc53ed8616e0bf99f49115efa2c5 /src/common/mac/dump_syms.mm | |
parent | Fix merge error from r1055 (diff) | |
download | breakpad-9b6b41b8ca2dc0a1c15d998e82eee472cc93bfe4.tar.xz |
Add custom implementation of NXGetArchInfoXXX to allow adding new arch.
NXGetArchInfoXXX depends on the OS knowledge of architecture. This CL adds a
custom implementation of those methods to be able to handle newer CPU before
they are handled by the OS. It also add handling for armv7s architecture.
Review URL: https://breakpad.appspot.com/475002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1057 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/common/mac/dump_syms.mm')
-rw-r--r-- | src/common/mac/dump_syms.mm | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/common/mac/dump_syms.mm b/src/common/mac/dump_syms.mm index 9783514f..ad2afd01 100644 --- a/src/common/mac/dump_syms.mm +++ b/src/common/mac/dump_syms.mm @@ -50,6 +50,7 @@ #include "common/dwarf_cu_to_module.h" #include "common/dwarf_line_to_module.h" #include "common/mac/file_id.h" +#include "common/mac/arch_utilities.h" #include "common/mac/macho_reader.h" #include "common/module.h" #include "common/stabs_reader.h" @@ -191,7 +192,8 @@ bool DumpSymbols::SetArchitecture(cpu_type_t cpu_type, bool DumpSymbols::SetArchitecture(const std::string &arch_name) { bool arch_set = false; - const NXArchInfo *arch_info = NXGetArchInfoFromName(arch_name.c_str()); + const NXArchInfo *arch_info = + google_breakpad::BreakpadGetArchInfoFromName(arch_name.c_str()); if (arch_info) { arch_set = SetArchitecture(arch_info->cputype, arch_info->cpusubtype); } @@ -312,9 +314,8 @@ bool DumpSymbols::ReadCFI(google_breakpad::Module *module, register_names = DwarfCFIToModule::RegisterNames::ARM(); break; default: { - const NXArchInfo *arch = - NXGetArchInfoFromCpuType(macho_reader.cpu_type(), - macho_reader.cpu_subtype()); + const NXArchInfo *arch = google_breakpad::BreakpadGetArchInfoFromCpuType( + macho_reader.cpu_type(), macho_reader.cpu_subtype()); fprintf(stderr, "%s: cannot convert DWARF call frame information for ", selected_object_name_.c_str()); if (arch) @@ -446,9 +447,9 @@ bool DumpSymbols::WriteSymbolFile(std::ostream &stream, bool cfi) { // Find the name of the selected file's architecture, to appear in // the MODULE record and in error messages. - const NXArchInfo *selected_arch_info - = NXGetArchInfoFromCpuType(selected_object_file_->cputype, - selected_object_file_->cpusubtype); + const NXArchInfo *selected_arch_info = + google_breakpad::BreakpadGetArchInfoFromCpuType( + selected_object_file_->cputype, selected_object_file_->cpusubtype); const char *selected_arch_name = selected_arch_info->name; if (strcmp(selected_arch_name, "i386") == 0) |