Commit Graph

12 Commits

Author SHA1 Message Date
Elliott Hughes
c3c8619579 Make 'stack' able to find toolchains regardless of lunch.
This is needed by the internal stack decoding website, which
will be pulling symbols from the build servers anyway (so doesn't
need to be correctly lunched).

Bug: 16734486
Change-Id: I9190065148c0d4bb4eacec28bcc062fa95798917
2014-08-29 13:49:57 -07:00
Brigid Smith
15142f793a Stack tool 32/64 bit compatibility fixes.
Left the default symbol.ARCH value intact and changed stack_core instead
so that it will assume the ABI is arm until it sees an ABI line.  This
allows compatibility for people who are used to pasting portions of a
tombstone instead of the whole thing (assuming said tombstone is arm)
while additionally supporting other architectures if a whole tombstone
  is pasted in.

Change-Id: Ib8b5754920d2e2aa5017c29daeca59abcf4b547d
2014-07-16 15:56:46 -07:00
Elliott Hughes
be4de46d09 Add the arm64 pstate register to the stack tool.
Also take into account the fact that the arm pcsr register is the
fifth entry on its line, so the stack tool previously stripped that
off.

Change-Id: I1dd2d11060e572b4d8ffd8710cf1df4d970671e4
2014-07-14 17:16:30 -07:00
Elliott Hughes
c3166bec1c Fix symbol.py's toolchain detection for x86.
x86 uses the x86_64 toolchain. There's no separate 32-bit toolchain.

I started to refactor so we could add FindToolchain tests, but that doesn't
work because FindToolchain depends on environment variables set up by 'lunch'.

Change-Id: I264b95e1e83a7e795f8cac49bc9e1cf497514029
2014-07-07 15:18:01 -07:00
Brigid Smith
9c2192a26e stack_core ProcessLine now returns a boolean.
The value corresponds to whether or not the line has matched one of the
detected formats (registers, header, backtrace, etc.) and can be used to
identify what logcat lines don't correspond to one of these formats.

Change-Id: Ibd7bc5a211dcfe86ea2f92d7e7941091afff4fc4
2014-07-07 14:53:18 -07:00
Brigid Smith
0b30940003 stack_core now also detects the "Revision: #" line.
Change-Id: I474602eca37964e412acf8cb5f2441cd223852e4
2014-07-07 14:34:00 -07:00
Elliott Hughes
a9e34173b9 Fix 'stack' register matching for all architectures.
Every architecture was at least slightly wrong. Rather than try to
tune the heuristics, let's just keep lists of all the registers.

Also start adding some unit tests.

Change-Id: I490dcc9855f7af1e3529734711400f366ffc4e0f
2014-07-01 14:56:22 -07:00
Brigid Smith
ea0a835d4d Turning stack_core into a class to make it compatible with adbs.
This includes the fairly large change of refactoring stack_core.py into
a class so that its behavior is compatible with adbs.  Additionally, if
the ABI line does not come before lines that require it to determine
proper widths (registers, stack), then it will assume that the ABI is
32 bit and not 64.

Change-Id: I6ad84a55337d86d25f7f8197048dc93868b0a01a
2014-07-01 11:25:44 -07:00
Elliott Hughes
d2471c871f Add the "Abort message:" line to the preserved stack output.
When QA paste a stack in to the decoder, we don't want to lose the
abort message.

Bug: 15701333
Change-Id: I538aab6b5cb6c20534b1b7027aec32bd78ee060c
2014-06-17 16:55:10 -07:00
Brigid Smith
45a46c6138 Updating stack_core.py to recognize new ABI output from debuggerd.
Change-Id: Ib9736a0509edb97be15f5e89dbc3a5188e744416
2014-06-13 17:43:38 -07:00
Narayan Kamath
9649700787 Fix the stack/ tool for 64 bit archs.
pc values might now be 16 bytes wide. Also add support
for the arm64 architecture switch.

Change-Id: Ia2e0282f3bee03ef6092de285b0c32fa6da07cb0
2014-04-14 11:07:37 +01:00
Ben Cheng
b42dad0dee Clean up the stack trace symbolization tool.
Change-Id: Id71cacde653a5c1c92a028ee80f5aa8264e1963a
2013-04-25 15:34:14 -07:00