diff options
author | Daniel Kiss <daniel.kiss@arm.com> | 2021-09-02 12:30:26 +0300 |
---|---|---|
committer | Daniel Kiss <daniel.kiss@arm.com> | 2021-09-02 12:31:03 +0300 |
commit | f5b997e6b7061323fff13fafcc0c311d9e78e848 (patch) | |
tree | 94376ab103f30e5287b856ca4843670b62c282c8 /libunwind/test | |
parent | 9621bbdf62d35b30fbe5a7a26028970bbed5de68 (diff) |
[Unwind] Harmonise exception class for EHABI spec.
EHABI defines the exception class as char[8] instead of uint64_t [1].
For ABI compatibility the ABI the definition needs to be updated.
[1] https://github.com/ARM-software/abi-aa/blob/main/ehabi32/ehabi32.rst#82language-independent-unwinding-types-and-functions
Reviewed By: manojgupta, MaskRay, #libunwind
Differential Revision: https://reviews.llvm.org/D109047
Diffstat (limited to 'libunwind/test')
-rw-r--r-- | libunwind/test/forceunwind.pass.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libunwind/test/forceunwind.pass.cpp b/libunwind/test/forceunwind.pass.cpp index e74aa3faa080..466697264035 100644 --- a/libunwind/test/forceunwind.pass.cpp +++ b/libunwind/test/forceunwind.pass.cpp @@ -27,7 +27,7 @@ void foo(); _Unwind_Exception ex; _Unwind_Reason_Code stop(int version, _Unwind_Action actions, - uint64_t exceptionClass, + _Unwind_Exception_Class exceptionClass, _Unwind_Exception *exceptionObject, struct _Unwind_Context *context, void *stop_parameter) { @@ -57,7 +57,7 @@ __attribute__((noinline)) void foo() { #if defined(_LIBUNWIND_ARM_EHABI) // Create a mock exception object. memset(e, '\0', sizeof(*e)); - e->exception_class = 0x434C4E47554E5700; // CLNGUNW\0 + strcpy(reinterpret_cast<char *>(&e->exception_class), "CLNGUNW"); #endif _Unwind_ForcedUnwind(e, stop, (void *)&foo); } |