diff options
author | mseaborn@chromium.org <mseaborn@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2013-05-06 23:33:02 +0000 |
---|---|---|
committer | mseaborn@chromium.org <mseaborn@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2013-05-06 23:33:02 +0000 |
commit | 85c352695f41b3c4bab8773bc2ace5a730dff2b7 (patch) | |
tree | b7aee2a86524351e2fea610426bcfe1055004e53 | |
parent | Fix an "unused variable" compiler warning in exploitability_win.cc (diff) | |
download | breakpad-85c352695f41b3c4bab8773bc2ace5a730dff2b7.tar.xz |
Add MD_OS_NACL platform_id value for identifying NaCl minidumps
Change minidump-2-core to accept minidumps with this platform_id value
rather than rejecting them as non-Linux dumps.
Add a missing "break" for a MD_OS_PS3 case.
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3424
TEST= tested with work-in-progress NaCl minidump generator
Review URL: https://breakpad.appspot.com/590002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1172 4c0a9323-5329-0410-9bdc-e9ce6186880e
-rw-r--r-- | src/google_breakpad/common/minidump_format.h | 3 | ||||
-rwxr-xr-x | src/processor/minidump.cc | 4 | ||||
-rw-r--r-- | src/processor/minidump_processor.cc | 6 | ||||
-rw-r--r-- | src/tools/linux/md2core/minidump-2-core.cc | 5 |
4 files changed, 15 insertions, 3 deletions
diff --git a/src/google_breakpad/common/minidump_format.h b/src/google_breakpad/common/minidump_format.h index 11c21419..8c47e642 100644 --- a/src/google_breakpad/common/minidump_format.h +++ b/src/google_breakpad/common/minidump_format.h @@ -654,7 +654,8 @@ typedef enum { MD_OS_LINUX = 0x8201, /* Linux */ MD_OS_SOLARIS = 0x8202, /* Solaris */ MD_OS_ANDROID = 0x8203, /* Android */ - MD_OS_PS3 = 0x8204 /* PS3 */ + MD_OS_PS3 = 0x8204, /* PS3 */ + MD_OS_NACL = 0x8205 /* Native Client (NaCl) */ } MDOSPlatform; typedef struct { diff --git a/src/processor/minidump.cc b/src/processor/minidump.cc index 94ea08b5..8d4bab77 100755 --- a/src/processor/minidump.cc +++ b/src/processor/minidump.cc @@ -3307,6 +3307,10 @@ string MinidumpSystemInfo::GetOS() { os = "ps3"; break; + case MD_OS_NACL: + os = "nacl"; + break; + default: BPLOG(ERROR) << "MinidumpSystemInfo unknown OS for platform " << HexString(system_info_.platform_id); diff --git a/src/processor/minidump_processor.cc b/src/processor/minidump_processor.cc index 8b138775..374ea2fe 100644 --- a/src/processor/minidump_processor.cc +++ b/src/processor/minidump_processor.cc @@ -554,6 +554,12 @@ bool MinidumpProcessor::GetOSInfo(Minidump *dump, SystemInfo *info) { case MD_OS_PS3: { info->os = "PS3"; + break; + } + + case MD_OS_NACL: { + info->os = "NaCl"; + break; } default: { diff --git a/src/tools/linux/md2core/minidump-2-core.cc b/src/tools/linux/md2core/minidump-2-core.cc index 93c46aab..333a0e58 100644 --- a/src/tools/linux/md2core/minidump-2-core.cc +++ b/src/tools/linux/md2core/minidump-2-core.cc @@ -425,8 +425,9 @@ ParseSystemInfo(CrashedProcess* crashinfo, const MinidumpMemoryRange& range, #error "This code has not been ported to your platform yet" #endif if (!strstr(full_file.GetAsciiMDString(sysinfo->csd_version_rva).c_str(), - "Linux")) { - fprintf(stderr, "This minidump was not generated by Linux.\n"); + "Linux") && + sysinfo->platform_id != MD_OS_NACL) { + fprintf(stderr, "This minidump was not generated by Linux or NaCl.\n"); _exit(1); } |