diff options
author | jimblandy <jimblandy@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2010-03-16 16:28:32 +0000 |
---|---|---|
committer | jimblandy <jimblandy@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2010-03-16 16:28:32 +0000 |
commit | 6d3a825dbf5b924c2e754309b3008e462af1d8d2 (patch) | |
tree | cb3fe204a65015c308b7a6324b96e73e528e57c8 /src/processor/testdata | |
parent | Breakpad processor: Unit tests for StackwalkerX86. (diff) | |
download | breakpad-6d3a825dbf5b924c2e754309b3008e462af1d8d2.tar.xz |
Breakpad: Add minidump processor support for DWARF Call Frame Information.
Add a CFIFrameInfo class (named for symmetry with WindowsFrameInfo) to
represent the set of STACK CFI rules in effect at a given instruction,
and apply them to a set of register values. Provide a SimpleCFIWalker
class template, to allow the essential CFI code to be shared amongst
the different architectures.
Teach BasicSourceLineResolver to partially parse 'STACK CFI' records,
and produce the set of rules in effect at a given instruction on
demand, by combining the initial rule set and the appropriate rule
deltas in a CFIFrameInfo object.
Adapt StackwalkerX86 and StackFrameX86 to retrieve, store, and apply
CFI stack walking information.
Add validity flags for all the general-purpose registers to
StackFrameX86::ContextValidity.
a=jimblandy, r=mmentovai
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@549 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/processor/testdata')
-rw-r--r-- | src/processor/testdata/module1.out | 6 | ||||
-rw-r--r-- | src/processor/testdata/module2.out | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/processor/testdata/module1.out b/src/processor/testdata/module1.out index 3fb1f181..d4a8208a 100644 --- a/src/processor/testdata/module1.out +++ b/src/processor/testdata/module1.out @@ -20,3 +20,9 @@ STACK WIN 4 1000 c 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = STACK WIN 4 1100 8 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = STACK WIN 4 1100 100 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = STACK WIN 4 1300 100 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = +STACK CFI INIT 3d40 af .cfa: $esp 4 + .ra: .cfa 4 - ^ +STACK CFI 3d41 .cfa: $esp 8 + +STACK CFI 3d43 .cfa: $ebp 8 + $ebp: .cfa 8 - ^ +STACK CFI 3d54 $ebx: .cfa 20 - ^ +STACK CFI 3d5a $esi: .cfa 16 - ^ +STACK CFI 3d84 $edi: .cfa 12 - ^ diff --git a/src/processor/testdata/module2.out b/src/processor/testdata/module2.out index 265401c1..845212cc 100644 --- a/src/processor/testdata/module2.out +++ b/src/processor/testdata/module2.out @@ -15,3 +15,9 @@ FUNC 2170 14 4 Function2_2 PUBLIC 21a0 0 Public2_2 STACK WIN 4 2000 c 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = STACK WIN 4 2170 14 1 0 0 0 0 0 1 $eip 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ = +STACK CFI INIT 3df0 af .cfa: $esp 4 + .ra: .cfa 4 - ^ +STACK CFI 3df1 .cfa: $esp 8 + +STACK CFI 3df3 .cfa: $ebp 8 + $ebp: .cfa 8 - ^ +STACK CFI 3e04 $ebx: .cfa 20 - ^ +STACK CFI 3e0a $esi: .cfa 16 - ^ +STACK CFI 3e34 $edi: .cfa 12 - ^ |