Files
Astral/patches/wine/jinx-working-patch.patch
T
NULLderef a32cfa9574 ports: wine update 10.0 -> 11.4
Updated wine and its correspondig patch to current latest stable `11.4`.
Fixes a bunch of issues related to the old version and also works with
`--enable-mingw`.
2026-03-07 21:27:41 +01:00

147 lines
5.9 KiB
Diff

diff --git wine-clean/configure wine-workdir/configure
index ed9c961..7b8413f 100755
--- wine-clean/configure
+++ wine-workdir/configure
@@ -10219,12 +10219,14 @@ then :
printf "%s\n" "#define HAVE_SYS_CDIO_H 1" >>confdefs.h
fi
-ac_fn_c_check_header_compile "$LINENO" "sys/epoll.h" "ac_cv_header_sys_epoll_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_epoll_h" = xyes
-then :
- printf "%s\n" "#define HAVE_SYS_EPOLL_H 1" >>confdefs.h
-fi
+#ac_fn_c_check_header_compile "$LINENO" "sys/epoll.h" "ac_cv_header_sys_epoll_h" "$ac_includes_default"
+#if test "x$ac_cv_header_sys_epoll_h" = xyes
+#then :
+# printf "%s\n" "#define HAVE_SYS_EPOLL_H 1" >>confdefs.h
+#
+#fi
+
ac_fn_c_check_header_compile "$LINENO" "sys/event.h" "ac_cv_header_sys_event_h" "$ac_includes_default"
if test "x$ac_cv_header_sys_event_h" = xyes
then :
@@ -10387,12 +10389,12 @@ then :
printf "%s\n" "#define HAVE_SYS_VNODE_H 1" >>confdefs.h
fi
-ac_fn_c_check_header_compile "$LINENO" "sys/xattr.h" "ac_cv_header_sys_xattr_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_xattr_h" = xyes
-then :
- printf "%s\n" "#define HAVE_SYS_XATTR_H 1" >>confdefs.h
+#ac_fn_c_check_header_compile "$LINENO" "sys/xattr.h" "ac_cv_header_sys_xattr_h" "$ac_includes_default"
+#if test "x$ac_cv_header_sys_xattr_h" = xyes
+#then :
+# printf "%s\n" "#define HAVE_SYS_XATTR_H 1" >>confdefs.h
-fi
+#fi
ac_fn_c_check_header_compile "$LINENO" "syscall.h" "ac_cv_header_syscall_h" "$ac_includes_default"
if test "x$ac_cv_header_syscall_h" = xyes
then :
@@ -21321,12 +21323,12 @@ then :
printf "%s\n" "#define HAVE_DLINFO 1" >>confdefs.h
fi
-ac_fn_c_check_func "$LINENO" "epoll_create" "ac_cv_func_epoll_create"
-if test "x$ac_cv_func_epoll_create" = xyes
-then :
- printf "%s\n" "#define HAVE_EPOLL_CREATE 1" >>confdefs.h
-
-fi
+# ac_fn_c_check_func "$LINENO" "epoll_create" "ac_cv_func_epoll_create"
+# if test "x$ac_cv_func_epoll_create" = xyes
+# then :
+# printf "%s\n" "#define HAVE_EPOLL_CREATE 1" >>confdefs.h
+#
+# fi
ac_fn_c_check_func "$LINENO" "epoll_pwait2" "ac_cv_func_epoll_pwait2"
if test "x$ac_cv_func_epoll_pwait2" = xyes
then :
diff --git wine-clean/dlls/ntdll/unix/signal_x86_64.c wine-workdir/dlls/ntdll/unix/signal_x86_64.c
index 740df80..f0ac779 100644
--- wine-clean/dlls/ntdll/unix/signal_x86_64.c
+++ wine-workdir/dlls/ntdll/unix/signal_x86_64.c
@@ -82,6 +82,10 @@ extern void _thread_set_tsd_base(uint64_t);
#include "unix_private.h"
#include "wine/debug.h"
+#ifdef __astral__
+#include <astral/archctl.h>
+#endif
+
WINE_DEFAULT_DEBUG_CHANNEL(unwind);
WINE_DECLARE_DEBUG_CHANNEL(seh);
@@ -355,6 +359,39 @@ static inline const WORD *SS_sig_ptr( const ucontext_t *context )
#define XState_sig(context) NULL
+#elif defined(__astral__)
+
+#ifndef FP_XSTATE_MAGIC1
+#define FP_XSTATE_MAGIC1 0x46505853
+#endif
+
+#define RAX_sig(context) ((context)->uc_mcontext.gregs[REG_RAX])
+#define RBX_sig(context) ((context)->uc_mcontext.gregs[REG_RBX])
+#define RCX_sig(context) ((context)->uc_mcontext.gregs[REG_RCX])
+#define RDX_sig(context) ((context)->uc_mcontext.gregs[REG_RDX])
+#define RSI_sig(context) ((context)->uc_mcontext.gregs[REG_RSI])
+#define RDI_sig(context) ((context)->uc_mcontext.gregs[REG_RDI])
+#define RBP_sig(context) ((context)->uc_mcontext.gregs[REG_RBP])
+#define R8_sig(context) ((context)->uc_mcontext.gregs[REG_R8])
+#define R9_sig(context) ((context)->uc_mcontext.gregs[REG_R9])
+#define R10_sig(context) ((context)->uc_mcontext.gregs[REG_R10])
+#define R11_sig(context) ((context)->uc_mcontext.gregs[REG_R11])
+#define R12_sig(context) ((context)->uc_mcontext.gregs[REG_R12])
+#define R13_sig(context) ((context)->uc_mcontext.gregs[REG_R13])
+#define R14_sig(context) ((context)->uc_mcontext.gregs[REG_R14])
+#define R15_sig(context) ((context)->uc_mcontext.gregs[REG_R15])
+#define CS_sig(context) (*((WORD *)&(context)->uc_mcontext.gregs[REG_CSGSFS] + 0))
+#define GS_sig(context) (*((WORD *)&(context)->uc_mcontext.gregs[REG_CSGSFS] + 1))
+#define FS_sig(context) (*((WORD *)&(context)->uc_mcontext.gregs[REG_CSGSFS] + 2))
+#define SS_sig(context) (*((WORD *)&(context)->uc_mcontext.gregs[REG_CSGSFS] + 3))
+#define RSP_sig(context) ((context)->uc_mcontext.gregs[REG_RSP])
+#define RIP_sig(context) ((context)->uc_mcontext.gregs[REG_RIP])
+#define EFL_sig(context) ((context)->uc_mcontext.gregs[REG_EFL])
+#define TRAP_sig(context) ((context)->uc_mcontext.gregs[REG_TRAPNO])
+#define ERROR_sig(context) ((context)->uc_mcontext.gregs[REG_ERR])
+#define FPU_sig(context) ((XMM_SAVE_AREA32 *)((context)->uc_mcontext.fpregs))
+#define XState_sig(fpu) (((unsigned int *)fpu->Reserved4)[12] == FP_XSTATE_MAGIC1 ? (XSAVE_AREA_HEADER *)(fpu + 1) : NULL)
+
#else
#error You must define the signal context functions for your platform
#endif
@@ -2918,6 +2955,10 @@ void init_syscall_frame( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend,
sysarch( X86_64_SET_GSBASE, &teb );
#elif defined (__APPLE__)
thread_data->pthread_teb = mac_thread_gsbase();
+#elif defined(__astral__)
+ arch_ctl(ARCH_CTL_SET_GSBASE, teb);
+ //arch_ctl(ARCH_CTL_GET_FSBASE, &thread_data->pthread_teb);
+ //if (fs32_sel) alloc_fs_sel( fs32_sel >> 3, get_wow_teb( teb ));
#else
# error Please define setting %gs for your architecture
#endif
diff --git wine-clean/server/sock.c wine-workdir/server/sock.c
index fdc26bc..235406b 100644
--- wine-clean/server/sock.c
+++ wine-workdir/server/sock.c
@@ -4282,12 +4282,12 @@ static MIB_TCP_STATE get_tcp_socket_state( int fd )
#define TCP_INFO TCP_CONNECTION_INFO
#define tcp_info tcp_connection_info
#endif
-
+/*
struct tcp_info info;
socklen_t info_len = sizeof(info);
if (getsockopt( fd, IPPROTO_TCP, TCP_INFO, &info, &info_len ) == 0)
return tcp_state_to_mib_state( info.tcpi_state );
-
+*/
if (debug_level)
fprintf( stderr, "getsockopt TCP_INFO failed: %s\n", strerror( errno ) );