diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-08-04 18:09:10 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-08-04 18:09:10 -0700 |
| commit | 2f635c3ce9be74f9e9ffb71324f7ba51bd2987f4 (patch) | |
| tree | f04b0f4fb7a0e5ce0e36829bfd9aaa032447ac2a /lib/libunwind/src/Unwind-EHABI.cpp | |
| parent | c0d9578a84c95f66f34729f6c8842a98a995f223 (diff) | |
| download | zig-2f635c3ce9be74f9e9ffb71324f7ba51bd2987f4.tar.gz zig-2f635c3ce9be74f9e9ffb71324f7ba51bd2987f4.zip | |
update libunwind to LLVM 15
release/15.x commit 134fd359a5d884f16662a9edd22ab24feeb1498c
Diffstat (limited to 'lib/libunwind/src/Unwind-EHABI.cpp')
| -rw-r--r-- | lib/libunwind/src/Unwind-EHABI.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/libunwind/src/Unwind-EHABI.cpp b/lib/libunwind/src/Unwind-EHABI.cpp index 257db724c2..f203887567 100644 --- a/lib/libunwind/src/Unwind-EHABI.cpp +++ b/lib/libunwind/src/Unwind-EHABI.cpp @@ -432,10 +432,11 @@ _Unwind_VRS_Interpret(_Unwind_Context *context, const uint32_t *data, uint32_t sp; uint32_t pac; _Unwind_VRS_Get(context, _UVRSC_CORE, UNW_ARM_SP, _UVRSD_UINT32, &sp); - _Unwind_VRS_Get(context, _UVRSC_PSEUDO, UNW_ARM_RA_AUTH_CODE, - _UVRSD_UINT32, &pac); + _Unwind_VRS_Get(context, _UVRSC_PSEUDO, 0, _UVRSD_UINT32, &pac); __asm__ __volatile__("autg %0, %1, %2" : : "r"(pac), "r"(lr), "r"(sp) :); } +#else + (void)hasReturnAddrAuthCode; #endif _Unwind_VRS_Set(context, _UVRSC_CORE, UNW_ARM_IP, _UVRSD_UINT32, &lr); } @@ -1136,8 +1137,7 @@ _Unwind_VRS_Pop(_Unwind_Context *context, _Unwind_VRS_RegClass regclass, } uint32_t pac = *sp++; _Unwind_VRS_Set(context, _UVRSC_CORE, UNW_ARM_SP, _UVRSD_UINT32, &sp); - return _Unwind_VRS_Set(context, _UVRSC_CORE, UNW_ARM_RA_AUTH_CODE, - _UVRSD_UINT32, &pac); + return _Unwind_VRS_Set(context, _UVRSC_PSEUDO, 0, _UVRSD_UINT32, &pac); } } _LIBUNWIND_ABORT("unsupported register class"); @@ -1193,6 +1193,7 @@ _Unwind_DeleteException(_Unwind_Exception *exception_object) { extern "C" _LIBUNWIND_EXPORT _Unwind_Reason_Code __gnu_unwind_frame(_Unwind_Exception *exception_object, struct _Unwind_Context *context) { + (void)exception_object; unw_cursor_t *cursor = (unw_cursor_t *)context; switch (__unw_step(cursor)) { case UNW_STEP_SUCCESS: |
