From a9cbd9cc5f0bdd535220fd392b04762dfee3a161 Mon Sep 17 00:00:00 2001 From: Triang3l Date: Mon, 4 Jul 2022 23:24:26 +0300 Subject: [PATCH] [Linux] Update RIP after handling an exception --- src/xenia/base/exception_handler_posix.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/xenia/base/exception_handler_posix.cc b/src/xenia/base/exception_handler_posix.cc index 591928434..a957d37d1 100644 --- a/src/xenia/base/exception_handler_posix.cc +++ b/src/xenia/base/exception_handler_posix.cc @@ -77,6 +77,8 @@ void ExceptionHandlerCallback(int signum, siginfo_t* siginfo, void* sigctx) { for (size_t i = 0; i < xe::countof(handlers_) && handlers_[i].first; ++i) { if (handlers_[i].first(&ex, handlers_[i].second)) { // Exception handled. + // TODO(benvanik): Update all thread state? Dirty flags? + ctx->uc_mcontext.gregs[REG_RIP] = thread_context.rip; return; } }