[libcxxabi][ARM] Make CXX_end_cleanup compatible with Armv6-M

On Armv6-M the branch may not able to reach the _Unwind_Resume function because it's relocation(R_ARM_THM_JUMP11) is in -2048, 2047 range only.

Reviewed By: chill, stuij, lenary

Differential Revision: https://reviews.llvm.org/D113181
This commit is contained in:
Daniel Kiss 2021-11-04 16:29:12 +01:00
parent d3dc7d077f
commit 3255578ee1
1 changed files with 2 additions and 1 deletions

View File

@ -382,7 +382,8 @@ asm(" .pushsection .text.__cxa_end_cleanup,\"ax\",%progbits\n"
" bl __cxa_end_cleanup_impl\n"
" pop {r1, r2, r3, r4}\n"
" mov lr, r4\n"
" b _Unwind_Resume\n"
" ldr r4, =_Unwind_Resume\n"
" bx r4\n"
" .popsection");
#endif // defined(_LIBCXXABI_ARM_EHABI)