aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authormark@chromium.org <mark@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2010-08-06 19:47:16 +0000
committermark@chromium.org <mark@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2010-08-06 19:47:16 +0000
commit0ab73db415a14651bd8e336b26d33a7be4a37aad (patch)
treefd46dba665dd686cdc92dcbb410b768c9171f392 /src/common
parentFix HandleInvalidParameter/HandlePureVirtualCall to dynamically lookup the Rt... (diff)
downloadbreakpad-0ab73db415a14651bd8e336b26d33a7be4a37aad.tar.xz
Breakpad uses x86 as the architecture name, not i386. Most tools don't care
what architecture name is shown in a symbol file's MODULE line, but the Mac crash_report tool's on_demand_symbol_supplier does. The new Mac dumper inadvertently used i386. Correct that to make it x86. Temporarily make the on_demand_symbol_supplier accept symbol files whose architecture is i386. Also add x86_64 to the set of architectures that the on_demand_symbol_supplier considers valid. BUG=none TEST=none Review URL: http://breakpad.appspot.com/143001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@638 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/common')
-rw-r--r--src/common/mac/dump_syms.mm8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/common/mac/dump_syms.mm b/src/common/mac/dump_syms.mm
index 066683f3..cc2efe17 100644
--- a/src/common/mac/dump_syms.mm
+++ b/src/common/mac/dump_syms.mm
@@ -449,12 +449,16 @@ bool DumpSymbols::WriteSymbolFile(FILE *stream) {
= NXGetArchInfoFromCpuType(selected_object_file_->cputype,
selected_object_file_->cpusubtype);
+ const char *selected_arch_name = selected_arch_info->name;
+ if (strcmp(selected_arch_name, "i386") == 0)
+ selected_arch_name = "x86";
+
// Produce a name to use in error messages that includes the
// filename, and the architecture, if there is more than one.
selected_object_name_ = [object_filename_ UTF8String];
if (object_files_.size() > 1) {
selected_object_name_ += ", architecture ";
- selected_object_name_ + selected_arch_info->name;
+ selected_object_name_ + selected_arch_name;
}
// Compute a module name, to appear in the MODULE record.
@@ -467,7 +471,7 @@ bool DumpSymbols::WriteSymbolFile(FILE *stream) {
identifier += "0";
// Create a module to hold the debugging information.
- Module module([module_name UTF8String], "mac", selected_arch_info->name,
+ Module module([module_name UTF8String], "mac", selected_arch_name,
identifier);
// Parse the selected object file.