From 94eb4937ad443d135df874888c3f7b2aed841c0f Mon Sep 17 00:00:00 2001 From: Weiteng Chen Date: Mon, 3 Nov 2025 17:37:17 -0800 Subject: [PATCH 1/2] make syscall_callback global --- litebox_platform_windows_userland/src/lib.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/litebox_platform_windows_userland/src/lib.rs b/litebox_platform_windows_userland/src/lib.rs index beecdade7..a6aee2057 100644 --- a/litebox_platform_windows_userland/src/lib.rs +++ b/litebox_platform_windows_userland/src/lib.rs @@ -462,6 +462,7 @@ unsafe extern "C-unwind" fn run_thread_inner( // At entry, the register context is the guest context with the // return address in rcx. r11 is an available scratch register (it would // contain rflags if the syscall instruction had actually been issued). + .globl syscall_callback syscall_callback: // Get the TLS state from the TLS slot and clear the in-guest flag. mov r11d, DWORD PTR [rip + {TLS_INDEX}] From fe9028fa900a78713122e8287ce5e4d491cde108 Mon Sep 17 00:00:00 2001 From: Weiteng Chen Date: Mon, 3 Nov 2025 17:24:28 -0800 Subject: [PATCH 2/2] ignore rt_sigaction --- litebox_platform_windows_userland/src/lib.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/litebox_platform_windows_userland/src/lib.rs b/litebox_platform_windows_userland/src/lib.rs index a6aee2057..54ace3320 100644 --- a/litebox_platform_windows_userland/src/lib.rs +++ b/litebox_platform_windows_userland/src/lib.rs @@ -929,6 +929,15 @@ impl litebox::platform::PunchthroughToken for PunchthroughToken { eprintln!("WARNING: ignoring RtSigprocmask punchthrough"); Ok(0) } + PunchthroughSyscall::RtSigaction { + signum, + act: _, + oldact: _, + } => { + // Ignored for now. + eprintln!("WARNING: ignoring RtSigaction punchthrough for signum={signum:?}"); + Ok(0) + } p => { unimplemented!("unimplemented PunchthroughToken for WindowsUserland: {p:?}"); }