MinidumpContext: fix some problems in AMD64 (x86_64) context enums.

This fixes a sloppy compliation error: “Redefinition of enumerator
'kMinidumpContextX86Xstate'”. It also fixes CONTEXT_FULL, which should
contain floating-point registers but not segment registers unlike the
its 32-bit x86 equivalent.

Some comments are revised to provide better, um, context.

R=rsesek@chromium.org

Review URL: https://codereview.chromium.org/620663002
This commit is contained in:
Mark Mentovai 2014-09-30 17:22:35 -04:00
parent 7dda7b3228
commit 5906513e30

View File

@ -112,11 +112,13 @@ enum MinidumpContextX86Flags : uint32_t {
kMinidumpContextX86Xstate = kMinidumpContextX86 | 0x00000040, kMinidumpContextX86Xstate = kMinidumpContextX86 | 0x00000040,
//! \brief Indicates the validity of control, integer, and segment registers. //! \brief Indicates the validity of control, integer, and segment registers.
//! (`CONTEXT_FULL`).
kMinidumpContextX86Full = kMinidumpContextX86Control | kMinidumpContextX86Full = kMinidumpContextX86Control |
kMinidumpContextX86Integer | kMinidumpContextX86Integer |
kMinidumpContextX86Segment, kMinidumpContextX86Segment,
//! \brief Indicates the validity of all registers except `xsave` data. //! \brief Indicates the validity of all registers except `xsave` data.
//! (`CONTEXT_ALL`).
kMinidumpContextX86All = kMinidumpContextX86Full | kMinidumpContextX86All = kMinidumpContextX86Full |
kMinidumpContextX86FloatingPoint | kMinidumpContextX86FloatingPoint |
kMinidumpContextX86Debug | kMinidumpContextX86Debug |
@ -217,16 +219,18 @@ enum MinidumpContextAMD64Flags : uint32_t {
//! //!
//! The context contains `xsave` data. This is used with an extended context //! The context contains `xsave` data. This is used with an extended context
//! structure not currently defined here. //! structure not currently defined here.
kMinidumpContextX86Xstate = kMinidumpContextAMD64 | 0x00000040, kMinidumpContextAMD64Xstate = kMinidumpContextAMD64 | 0x00000040,
//! \brief Indicates the validity of control, integer, and segment registers. //! \brief Indicates the validity of control, integer, and floating-point
//! registers (`CONTEXT_FULL`).
kMinidumpContextAMD64Full = kMinidumpContextAMD64Control | kMinidumpContextAMD64Full = kMinidumpContextAMD64Control |
kMinidumpContextAMD64Integer | kMinidumpContextAMD64Integer |
kMinidumpContextAMD64Segment, kMinidumpContextAMD64FloatingPoint,
//! \brief Indicates the validity of all registers except `xsave` data. //! \brief Indicates the validity of all registers except `xsave` data
//! (`CONTEXT_ALL`).
kMinidumpContextAMD64All = kMinidumpContextAMD64Full | kMinidumpContextAMD64All = kMinidumpContextAMD64Full |
kMinidumpContextAMD64FloatingPoint | kMinidumpContextAMD64Segment |
kMinidumpContextAMD64Debug, kMinidumpContextAMD64Debug,
}; };