From 882d933d8494a44cb03c0db8705ca0c96117aeeb Mon Sep 17 00:00:00 2001 From: Yang Liu Date: Thu, 17 Apr 2025 18:30:59 +0800 Subject: [WOW64] Finished skeleton code for PE build (#2542) * [WOW64] Finished skeleton code for PE build * move musl to external --- src/include/box64context.h | 3 ++- src/include/mypthread.h | 29 +++++++++++++++++++++++++++++ src/include/mysignal.h | 4 ++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 src/include/mypthread.h (limited to 'src/include') diff --git a/src/include/box64context.h b/src/include/box64context.h index a3d651d2..e7c7b0cc 100644 --- a/src/include/box64context.h +++ b/src/include/box64context.h @@ -1,7 +1,8 @@ #ifndef __BOX64CONTEXT_H_ #define __BOX64CONTEXT_H_ #include -#include + +#include "mypthread.h" #include "pathcoll.h" #include "dictionnary.h" #ifdef DYNAREC diff --git a/src/include/mypthread.h b/src/include/mypthread.h new file mode 100644 index 00000000..ce9ea86c --- /dev/null +++ b/src/include/mypthread.h @@ -0,0 +1,29 @@ +#ifndef __MYPTHREAD_H_ +#define __MYPTHREAD_H_ + +#ifndef _WIN32 +#include +#else +#include + +NTSTATUS WINAPI RtlEnterCriticalSection(RTL_CRITICAL_SECTION *); +NTSTATUS WINAPI RtlLeaveCriticalSection(RTL_CRITICAL_SECTION *); +BOOL WINAPI RtlTryEnterCriticalSection(RTL_CRITICAL_SECTION *); +NTSTATUS WINAPI RtlInitializeCriticalSection(RTL_CRITICAL_SECTION *); + +typedef void* pthread_key_t; +typedef void* pthread_mutexattr_t; +#define pthread_mutex_t RTL_CRITICAL_SECTION +#define pthread_mutex_init(x, y) RtlInitializeCriticalSection(x) +#define pthread_mutex_lock(x) RtlEnterCriticalSection(x) +#define pthread_mutex_unlock(x) RtlLeaveCriticalSection(x) +#define pthread_mutex_trylock(x) !RtlTryEnterCriticalSection(x) + +#define pthread_mutex_destroy(x) 0 +#define pthread_mutexattr_init(x) 0 +#define pthread_mutexattr_destroy(x) 0 +#define pthread_mutexattr_settype(x, y) 0 +#define pthread_atfork(a, b, c) 0 +#endif + +#endif // __MYPTHREAD_H_ \ No newline at end of file diff --git a/src/include/mysignal.h b/src/include/mysignal.h index 22861634..6f3548ad 100644 --- a/src/include/mysignal.h +++ b/src/include/mysignal.h @@ -12,7 +12,11 @@ typedef sigset_t __sigset_t; #define sigfillset(x) +#define SIGILL 4 #define SIGTRAP 5 +#define SIGSEGV 11 + +#define pthread_sigmask(a, b, c) 0 #endif #endif // __MYSIGNAL_H_ \ No newline at end of file -- cgit 1.4.1