mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-31 06:04:58 +00:00
unwind: fix unwind build without heap
Add a missing guard for `_LIBUNWIND_NO_HEAP` around code dealing with the `.cfi_remember_state` and `.cfi_restore_state` instructions. Patch by Amanieu d'Antras!
This commit is contained in:
parent
ec44e08940
commit
b31cb3aa5e
@ -401,6 +401,7 @@ bool CFI_Parser<A>::parseFDEInstructions(A &addressSpace,
|
||||
fdeInfo.fdeStart + fdeInfo.fdeLength, cieInfo,
|
||||
upToPC - fdeInfo.pcStart, rememberStack, arch, results);
|
||||
|
||||
#if !defined(_LIBUNWIND_NO_HEAP)
|
||||
// Clean up rememberStack. Even in the case where every DW_CFA_remember_state
|
||||
// is paired with a DW_CFA_restore_state, parseInstructions can skip restore
|
||||
// opcodes if it reaches the target PC and stops interpreting, so we have to
|
||||
@ -410,6 +411,7 @@ bool CFI_Parser<A>::parseFDEInstructions(A &addressSpace,
|
||||
free(rememberStack);
|
||||
rememberStack = next;
|
||||
}
|
||||
#endif
|
||||
|
||||
return returnValue;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user