Searched hist:"19 b3fe6c5a72925c394f5eb1397cfcf17553f01d" (Results 1 – 1 of 1) sorted by relevance
| /optee_os/core/arch/arm/kernel/ |
| H A D | unwind_arm32.c | 19b3fe6c5a72925c394f5eb1397cfcf17553f01d Thu Jul 23 11:31:23 UTC 2020 Angelina Zhao <xuemingzhao@asrmicro.com> core: arm: fix the unwind stack failure with __no_return function
unwind operation use LR instead of PC to locate unwind data. In some case, the compiler removes all the extra instrustions after a branch to __no_return function, and then LR saves the address of next function, rather than the caller of the __no_return function, leading to unwind failure.
The fix manually adjust the LR value to match the search algorithm so as to locate the correct caller in unwind stack operation.
Signed-off-by: Angelina Zhao <xuemingzhao@asrmicro.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> [jf: reformat the commit description] Signed-off-by: Jerome Forissier <jerome@forissier.org>
|