forked from OSchip/llvm-project
1ae8d81147
parseInstructions() doesn't always process the whole set of DWARF instructions for a frame. It will stop once the target PC is reached, or if malformed instructions are found. So, for example, if we have an instruction sequence like this: ``` <start> ... DW_CFA_remember_state ... DW_CFA_advance_loc past the location we're unwinding at (pcoffset in parseInstructions() main loop) ... DW_CFA_restore_state <end> ``` ... the saved state will never be freed, even though the DW_CFA_remember_state opcode has a matching DW_CFA_restore_state later in the sequence. This change adds code to free whatever is left on rememberStack after parsing the CIE and the FDE instructions. Differential Revision: https://reviews.llvm.org/D66904 |
||
---|---|---|
.. | ||
cmake | ||
docs | ||
include | ||
src | ||
test | ||
.arcconfig | ||
.clang-format | ||
CMakeLists.txt | ||
LICENSE.TXT |