[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
GitOrigin-RevId: 3255578ee1dbb5561025ac89cd33ba08e8f26efb
diff --git a/src/cxa_exception.cpp b/src/cxa_exception.cpp
index 7044cb9..c8779a0 100644
--- a/src/cxa_exception.cpp
+++ b/src/cxa_exception.cpp
@@ -382,7 +382,8 @@
" 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)