summaryrefslogtreecommitdiff
path: root/libunwind
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2023-04-18 15:04:57 +0300
committerMartin Storsjö <martin@martin.st>2023-04-19 23:05:48 +0300
commitba9b2cdb9c00f68f1759386fdafc2285e0227357 (patch)
treec4133d2d1b3baab5816be6906ed98272a11cc1de /libunwind
parentba148a1c86775bf6e6ab14c65011acc6555ef11e (diff)
downloadllvm-ba9b2cdb9c00f68f1759386fdafc2285e0227357.tar.gz
[libunwind] [SEH] Add debug logging in __libunwind_seh_personality
Differential Revision: https://reviews.llvm.org/D148659
Diffstat (limited to 'libunwind')
-rw-r--r--libunwind/src/Unwind-seh.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/libunwind/src/Unwind-seh.cpp b/libunwind/src/Unwind-seh.cpp
index 150ba6453a22..b2bb119ed6d2 100644
--- a/libunwind/src/Unwind-seh.cpp
+++ b/libunwind/src/Unwind-seh.cpp
@@ -212,10 +212,18 @@ __libunwind_seh_personality(int version, _Unwind_Action state,
ms_exc.ExceptionInformation[2] = state;
DISPATCHER_CONTEXT *disp_ctx =
__unw_seh_get_disp_ctx((unw_cursor_t *)context);
+ _LIBUNWIND_TRACE_UNWINDING("__libunwind_seh_personality() calling "
+ "LanguageHandler %p(%p, %p, %p, %p)",
+ (void *)disp_ctx->LanguageHandler, (void *)&ms_exc,
+ (void *)disp_ctx->EstablisherFrame,
+ (void *)disp_ctx->ContextRecord, (void *)disp_ctx);
EXCEPTION_DISPOSITION ms_act = disp_ctx->LanguageHandler(&ms_exc,
(PVOID)disp_ctx->EstablisherFrame,
disp_ctx->ContextRecord,
disp_ctx);
+ _LIBUNWIND_TRACE_UNWINDING("__libunwind_seh_personality() LanguageHandler "
+ "returned %d",
+ (int)ms_act);
switch (ms_act) {
case ExceptionContinueExecution: return _URC_END_OF_STACK;
case ExceptionContinueSearch: return _URC_CONTINUE_UNWIND;