aboutsummaryrefslogtreecommitdiff
path: root/src/google_breakpad/common
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2018-04-13 11:15:11 -0700
committerLei Zhang <thestig@chromium.org>2018-04-13 18:59:09 +0000
commit9eac2058b70615519b2c4d8c6bdbfca1bd079e39 (patch)
treed65b4317c1fdf9670650c5046bef992a7b60f912 /src/google_breakpad/common
parentInitialize variables for MSAN (diff)
downloadbreakpad-9eac2058b70615519b2c4d8c6bdbfca1bd079e39.tar.xz
Read Linux si_code in minidump_processor.
For common signals: SIGILL, SIGFPE, SIGSEGV, and SIGBUS. Change-Id: I80048f70445c3fa6accd548704c5700b3bed12a4 Reviewed-on: https://chromium-review.googlesource.com/1012589 Reviewed-by: Robert Sesek <rsesek@chromium.org>
Diffstat (limited to 'src/google_breakpad/common')
-rw-r--r--src/google_breakpad/common/minidump_exception_linux.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/google_breakpad/common/minidump_exception_linux.h b/src/google_breakpad/common/minidump_exception_linux.h
index 9e7e4f1e..6138d5d7 100644
--- a/src/google_breakpad/common/minidump_exception_linux.h
+++ b/src/google_breakpad/common/minidump_exception_linux.h
@@ -84,4 +84,42 @@ typedef enum {
dump requested. */
} MDExceptionCodeLinux;
+/* For (MDException).exception_flags. These values come from
+ * asm-generic/siginfo.h.
+ */
+typedef enum {
+ /* SIGILL */
+ MD_EXCEPTION_FLAG_LIN_ILL_ILLOPC = 1,
+ MD_EXCEPTION_FLAG_LIN_ILL_ILLOPN = 2,
+ MD_EXCEPTION_FLAG_LIN_ILL_ILLADR = 3,
+ MD_EXCEPTION_FLAG_LIN_ILL_ILLTRP = 4,
+ MD_EXCEPTION_FLAG_LIN_ILL_PRVOPC = 5,
+ MD_EXCEPTION_FLAG_LIN_ILL_PRVREG = 6,
+ MD_EXCEPTION_FLAG_LIN_ILL_COPROC = 7,
+ MD_EXCEPTION_FLAG_LIN_ILL_BADSTK = 8,
+
+ /* SIGFPE */
+ MD_EXCEPTION_FLAG_LIN_FPE_INTDIV = 1,
+ MD_EXCEPTION_FLAG_LIN_FPE_INTOVF = 2,
+ MD_EXCEPTION_FLAG_LIN_FPE_FLTDIV = 3,
+ MD_EXCEPTION_FLAG_LIN_FPE_FLTOVF = 4,
+ MD_EXCEPTION_FLAG_LIN_FPE_FLTUND = 5,
+ MD_EXCEPTION_FLAG_LIN_FPE_FLTRES = 6,
+ MD_EXCEPTION_FLAG_LIN_FPE_FLTINV = 7,
+ MD_EXCEPTION_FLAG_LIN_FPE_FLTSUB = 8,
+
+ /* SIGSEGV */
+ MD_EXCEPTION_FLAG_LIN_SEGV_MAPERR = 1,
+ MD_EXCEPTION_FLAG_LIN_SEGV_ACCERR = 2,
+ MD_EXCEPTION_FLAG_LIN_SEGV_BNDERR = 3,
+ MD_EXCEPTION_FLAG_LIN_SEGV_PKUERR = 4,
+
+ /* SIGBUS */
+ MD_EXCEPTION_FLAG_LIN_BUS_ADRALN = 1,
+ MD_EXCEPTION_FLAG_LIN_BUS_ADRERR = 2,
+ MD_EXCEPTION_FLAG_LIN_BUS_OBJERR = 3,
+ MD_EXCEPTION_FLAG_LIN_BUS_MCEERR_AR = 4,
+ MD_EXCEPTION_FLAG_LIN_BUS_MCEERR_AO = 5,
+} MDExceptionFlagLinux;
+
#endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_LINUX_H__ */