1diff --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, 6 dump requested. */ 7 } MDExceptionCodeLinux; 8 9 /* For (MDException).exception_flags. These values come from 10 * asm-generic/siginfo.h. 11 */ 12 typedef enum { 13+ /* Generic */ 14+ MD_EXCEPTION_FLAG_LIN_SI_USER = 0, 15+ MD_EXCEPTION_FLAG_LIN_SI_KERNEL = 0x80, 16+ 17 /* SIGILL */ 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, 25diff --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 29 reason = "SIGTRAP"; 30 break; 31 case MD_EXCEPTION_CODE_LIN_SIGABRT: 32 reason = "SIGABRT"; 33 break; 34 case MD_EXCEPTION_CODE_LIN_SIGBUS: 35 reason = "SIGBUS / "; 36 switch (exception_flags) { 37+ case MD_EXCEPTION_FLAG_LIN_SI_USER: 38+ reason.append("SI_USER"); 39+ break; 40+ case MD_EXCEPTION_FLAG_LIN_SI_KERNEL: 41+ reason.append("SI_KERNEL"); 42+ break; 43 case MD_EXCEPTION_FLAG_LIN_BUS_ADRALN: 44 reason.append("BUS_ADRALN"); 45 break; 46 case MD_EXCEPTION_FLAG_LIN_BUS_ADRERR: 47 reason.append("BUS_ADRERR"); 48 break; 49 case MD_EXCEPTION_FLAG_LIN_BUS_OBJERR: 50 reason.append("BUS_OBJERR"); 51@@ -1462,18 +1468,24 @@ string MinidumpProcessor::GetCrashReason 52 break; 53 case MD_EXCEPTION_CODE_LIN_SIGKILL: 54 reason = "SIGKILL"; 55 break; 56 case MD_EXCEPTION_CODE_LIN_SIGUSR1: 57 reason = "SIGUSR1"; 58 break; 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"); 65+ break; 66+ case MD_EXCEPTION_FLAG_LIN_SI_KERNEL: 67+ reason.append("SI_KERNEL"); 68+ break; 69 case MD_EXCEPTION_FLAG_LIN_SEGV_MAPERR: 70 reason.append("SEGV_MAPERR"); 71 break; 72 case MD_EXCEPTION_FLAG_LIN_SEGV_ACCERR: 73 reason.append("SEGV_ACCERR"); 74 break; 75 case MD_EXCEPTION_FLAG_LIN_SEGV_BNDERR: 76 reason.append("SEGV_BNDERR"); 77