HomePhabricator

Minidump plugin: redesign the x86_64 register context

Authored by dvlahovski on Oct 20 2016, 9:01 AM.

Description

Minidump plugin: redesign the x86_64 register context

Summary:
I misunderstood the format of the register context layout.
I thought it was a dynamically changing structure, and that it's size
depended on context_flags.
It turned out that it always has the same fixed layout and size,
and the context_flags says which fields of the
struct have valid values.
This required a minor redesign of the register context class.

The layout inconsistency, however, was not a "problem" before (e.g. the plugin was working)
because there also was a bug with checking context_flags - the code was
parsing the entire struct regardless of context_flags.
This bug is also fixed in this commit.

Reviewers: labath, zturner

Subscribers: lldb-commits, amccarth

Differential Revision: https://reviews.llvm.org/D25677

llvm-svn: 284741

Details

Committed
dvlahovskiOct 20 2016, 9:01 AM
Differential Revision
D25677: Minidump plugin: redesign the x86_64 register context
Parents
rG7314c48bcbc5: Fix SectionPiece size when compiling with MSVC
Branches
Unknown
Tags
Unknown