aboutsummaryrefslogtreecommitdiff
path: root/contrib/libcxxrt
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2022-08-08 16:30:56 +0000
committerMark Johnston <markj@FreeBSD.org>2022-08-08 16:50:48 +0000
commitcbd1e83154af8bae3daa3919bb2746d587436515 (patch)
tree5c47d7b56e5f5118e2e92816d89ce90a17c9e5da /contrib/libcxxrt
parent2dd83b3f0507fc7bc64b908fb88f285a3b9663c8 (diff)
Diffstat (limited to 'contrib/libcxxrt')
-rw-r--r--contrib/libcxxrt/exception.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/contrib/libcxxrt/exception.cc b/contrib/libcxxrt/exception.cc
index f28082ab7e80..6c5196876b10 100644
--- a/contrib/libcxxrt/exception.cc
+++ b/contrib/libcxxrt/exception.cc
@@ -1577,8 +1577,10 @@ asm (
".type __cxa_end_cleanup, \"function\" \n"
"__cxa_end_cleanup: \n"
" push {r1, r2, r3, r4} \n"
+" mov r4, lr \n"
" bl __cxa_get_cleanup \n"
-" push {r1, r2, r3, r4} \n"
+" mov lr, r4 \n"
+" pop {r1, r2, r3, r4} \n"
" b _Unwind_Resume \n"
" bl abort \n"
".popsection \n"