1 diff --git a/src/google_breakpad/common/minidump_exception_linux.h b/src/google_breakpad/common/minidump_exception_linux.h
2 --- a/src/google_breakpad/common/minidump_exception_linux.h
3 +++ b/src/google_breakpad/common/minidump_exception_linux.h
4 @@ -83,16 +83,20 @@ typedef enum {
5 MD_EXCEPTION_CODE_LIN_DUMP_REQUESTED = 0xFFFFFFFF /* No exception,
7 } MDExceptionCodeLinux;
9 /* For (MDException).exception_flags. These values come from
10 * asm-generic/siginfo.h.
14 + MD_EXCEPTION_FLAG_LIN_SI_USER = 0,
15 + MD_EXCEPTION_FLAG_LIN_SI_KERNEL = 0x80,
18 MD_EXCEPTION_FLAG_LIN_ILL_ILLOPC = 1,
19 MD_EXCEPTION_FLAG_LIN_ILL_ILLOPN = 2,
20 MD_EXCEPTION_FLAG_LIN_ILL_ILLADR = 3,
21 MD_EXCEPTION_FLAG_LIN_ILL_ILLTRP = 4,
22 MD_EXCEPTION_FLAG_LIN_ILL_PRVOPC = 5,
23 MD_EXCEPTION_FLAG_LIN_ILL_PRVREG = 6,
24 MD_EXCEPTION_FLAG_LIN_ILL_COPROC = 7,
25 diff --git a/src/processor/minidump_processor.cc b/src/processor/minidump_processor.cc
26 --- a/src/processor/minidump_processor.cc
27 +++ b/src/processor/minidump_processor.cc
28 @@ -1401,16 +1401,22 @@ string MinidumpProcessor::GetCrashReason
31 case MD_EXCEPTION_CODE_LIN_SIGABRT:
34 case MD_EXCEPTION_CODE_LIN_SIGBUS:
36 switch (exception_flags) {
37 + case MD_EXCEPTION_FLAG_LIN_SI_USER:
38 + reason.append("SI_USER");
40 + case MD_EXCEPTION_FLAG_LIN_SI_KERNEL:
41 + reason.append("SI_KERNEL");
43 case MD_EXCEPTION_FLAG_LIN_BUS_ADRALN:
44 reason.append("BUS_ADRALN");
46 case MD_EXCEPTION_FLAG_LIN_BUS_ADRERR:
47 reason.append("BUS_ADRERR");
49 case MD_EXCEPTION_FLAG_LIN_BUS_OBJERR:
50 reason.append("BUS_OBJERR");
51 @@ -1462,18 +1468,24 @@ string MinidumpProcessor::GetCrashReason
53 case MD_EXCEPTION_CODE_LIN_SIGKILL:
56 case MD_EXCEPTION_CODE_LIN_SIGUSR1:
59 case MD_EXCEPTION_CODE_LIN_SIGSEGV:
60 - reason = "SIGSEGV /";
61 + reason = "SIGSEGV / ";
62 switch (exception_flags) {
63 + case MD_EXCEPTION_FLAG_LIN_SI_USER:
64 + reason.append("SI_USER");
66 + case MD_EXCEPTION_FLAG_LIN_SI_KERNEL:
67 + reason.append("SI_KERNEL");
69 case MD_EXCEPTION_FLAG_LIN_SEGV_MAPERR:
70 reason.append("SEGV_MAPERR");
72 case MD_EXCEPTION_FLAG_LIN_SEGV_ACCERR:
73 reason.append("SEGV_ACCERR");
75 case MD_EXCEPTION_FLAG_LIN_SEGV_BNDERR:
76 reason.append("SEGV_BNDERR");