From e383cc89eb9d65013295e364e30bca6139bf9d34 Mon Sep 17 00:00:00 2001 From: Billy Laws Date: Mon, 21 Jul 2025 18:18:23 +0100 Subject: [PATCH] unittests: Test for the noexec pagefault trap number --- unittests/FEXLinuxTests/tests/signal/noexec_protect.64.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/unittests/FEXLinuxTests/tests/signal/noexec_protect.64.cpp b/unittests/FEXLinuxTests/tests/signal/noexec_protect.64.cpp index 97b44004c..65a9f051c 100644 --- a/unittests/FEXLinuxTests/tests/signal/noexec_protect.64.cpp +++ b/unittests/FEXLinuxTests/tests/signal/noexec_protect.64.cpp @@ -10,8 +10,12 @@ bool Caught = false; static jmp_buf LongJump {}; static void SIGSEGV_Handler(int signal, siginfo_t* siginfo, void* context) { + ucontext_t* _context = (ucontext_t*)context; // Needs to be an access error. REQUIRE(siginfo->si_code == SEGV_ACCERR); + + // Page fault + REQUIRE(_context->uc_mcontext.gregs[REG_TRAPNO] == 14); Caught = true; longjmp(LongJump, 1); }