diff options
author | 2022-01-12 13:31:00 +0000 | |
---|---|---|
committer | 2022-04-07 17:50:17 +0000 | |
commit | 8bb486a78e350ce6072d71e15cc4f01a142e80d4 (patch) | |
tree | ce4a98de895bb081c67417271bd560523364704c /runtime/stack_map.cc | |
parent | 608a9158b06598c6403dea766822534a347b1f27 (diff) |
Add CFI-checking script and fix found CFI issues.
It is essential for the unwinder to know the stack size at any point.
Our assembly is manually annotated with this information, but it is
easy to make mistakes (e.g. cfi_restore_state handles register spills,
but does not restore CFI offset as one might easily assume).
Add python script which compares the CFI information to disassembly
and checks that they match (that is, it is checking that push/pop
instructions result in the expected CFI offset increment/decrement).
In general, this is unfeasible (as we would not need CFI otherwise),
but even conservative checks can catch many bugs.
Test: ./art/test.py -b -r
Change-Id: I232fc0a31fa6f28381e18fdf6aceaf0b8323f550
Diffstat (limited to 'runtime/stack_map.cc')
0 files changed, 0 insertions, 0 deletions