<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d2b0ec2f4f493d8d15174800c94826ca5bae17b6">https://github.com/macports/macports-ports/commit/d2b0ec2f4f493d8d15174800c94826ca5bae17b6</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new d2b0ec2f4f4 wine-stable,wine-devel: Upstream MR 5871 - Fix macOS build errors with Xcode 16.
</span>d2b0ec2f4f4 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit d2b0ec2f4f493d8d15174800c94826ca5bae17b6
</span>Author: Dean M Greer <38226388+Gcenx@users.noreply.github.com>
AuthorDate: Wed Jun 19 16:13:48 2024 -0400
<span style='display:block; white-space:pre;color:#404040;'> wine-stable,wine-devel: Upstream MR 5871 - Fix macOS build errors with Xcode 16.
</span>---
emulators/wine-devel/Portfile | 5 ++
emulators/wine-devel/files/5871.patch | 127 +++++++++++++++++++++++++++++++++
emulators/wine-stable/Portfile | 5 ++
emulators/wine-stable/files/5871.patch | 127 +++++++++++++++++++++++++++++++++
4 files changed, 264 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/wine-devel/Portfile b/emulators/wine-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index abdd048a528..36624a7910e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/emulators/wine-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/wine-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -69,6 +69,11 @@ patchfiles-append \
</span> patchfiles-append \
macos_hacks.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# ntdll: Fix macOS build errors with Xcode 16.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://gitlab.winehq.org/wine/wine/-/merge_requests/5871
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 5871.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # wine requires the program specified in INSTALL to create intermediate
# directories; /usr/bin/install doesn't.
# http://bugs.winehq.org/show_bug.cgi?id=35310
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/wine-devel/files/5871.patch b/emulators/wine-devel/files/5871.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d6e2934f42b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/wine-devel/files/5871.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,127 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 306e8d2c145b678d117174dbc3cd3b0b1761f271 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Brendan Shanks <bshanks@codeweavers.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 18 Jun 2024 10:35:03 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] ntdll: Fix macOS build errors with Xcode 16.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+LLVM no longer allows non-private labels to appear between
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.cfi_startproc/endproc when targeting Mach-O.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Similar fixes as in commit 295d521b11644fb76c36854336b13c2155bb7d79.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dlls/ntdll/unix/signal_arm64.c | 16 ++++++++++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dlls/ntdll/unix/signal_x86_64.c | 13 +++++++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 21 insertions(+), 8 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/dlls/ntdll/unix/signal_arm64.c b/dlls/ntdll/unix/signal_arm64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 58911d9b1f2..49d54b11f91 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/dlls/ntdll/unix/signal_arm64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/dlls/ntdll/unix/signal_arm64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1017,10 +1017,12 @@ static BOOL handle_syscall_fault( ucontext_t *context, EXCEPTION_RECORD *rec )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ extern typeof(__wine_syscall_dispatcher_return) *__wine_syscall_dispatcher_return_ptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ TRACE( "returning to user mode ip=%p ret=%08x\n", (void *)frame->pc, rec->ExceptionCode );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ REGn_sig(0, context) = (ULONG_PTR)frame;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ REGn_sig(1, context) = rec->ExceptionCode;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- PC_sig(context) = (ULONG_PTR)__wine_syscall_dispatcher_return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PC_sig(context) = (ULONG_PTR)__wine_syscall_dispatcher_return_ptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return TRUE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1381,6 +1383,7 @@ void call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CONTEXT *ctx, context = { CONTEXT_ALL };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ I386_CONTEXT *i386_context;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ARM_CONTEXT *arm_context;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ extern typeof(__wine_syscall_dispatcher_return) *__wine_syscall_dispatcher_return_ptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ thread_data->syscall_table = KeServiceDescriptorTable;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1440,7 +1443,7 @@ void call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ syscall_frame_fixup_for_fastpath( frame );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pthread_sigmask( SIG_UNBLOCK, &server_block_set, NULL );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- __wine_syscall_dispatcher_return( frame, 0 );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __wine_syscall_dispatcher_return_ptr( frame, 0 );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1608,12 +1611,17 @@ __ASM_GLOBAL_FUNC( __wine_syscall_dispatcher,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "4:\tmov x0, #0xc0000000\n\t" /* STATUS_INVALID_PARAMETER */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "movk x0, #0x000d\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "b " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return") "\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ".globl " __ASM_NAME("__wine_syscall_dispatcher_return") "\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- __ASM_NAME("__wine_syscall_dispatcher_return") ":\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return_label") ":\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "mov sp, x0\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "mov x0, x1\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "b " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return") )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++asm( ".data\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ".align 4\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ".globl " __ASM_NAME("__wine_syscall_dispatcher_return_ptr") "\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __ASM_NAME("__wine_syscall_dispatcher_return_ptr") ":\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ".quad " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return_label") "\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ".text\n\t" );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /***********************************************************************
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * __wine_unix_call_dispatcher
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/dlls/ntdll/unix/signal_x86_64.c b/dlls/ntdll/unix/signal_x86_64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a163d5d0b33..894ddee9348 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/dlls/ntdll/unix/signal_x86_64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/dlls/ntdll/unix/signal_x86_64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1880,10 +1880,12 @@ static BOOL handle_syscall_fault( ucontext_t *sigcontext, EXCEPTION_RECORD *rec,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ extern typeof(__wine_syscall_dispatcher_return) *__wine_syscall_dispatcher_return_ptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ TRACE_(seh)( "returning to user mode ip=%016lx ret=%08x\n", frame->rip, rec->ExceptionCode );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ RDI_sig(sigcontext) = (ULONG_PTR)frame;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ RSI_sig(sigcontext) = rec->ExceptionCode;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- RIP_sig(sigcontext) = (ULONG_PTR)__wine_syscall_dispatcher_return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ RIP_sig(sigcontext) = (ULONG_PTR)__wine_syscall_dispatcher_return_ptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return TRUE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2513,6 +2515,7 @@ void call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct amd64_thread_data *thread_data = (struct amd64_thread_data *)&teb->GdiTebBatch;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CONTEXT *ctx, context = { 0 };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ I386_CONTEXT *wow_context;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ extern typeof(__wine_syscall_dispatcher_return) *__wine_syscall_dispatcher_return_ptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ thread_data->syscall_table = KeServiceDescriptorTable;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ thread_data->xstate_features_mask = xstate_supported_features_mask;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2592,7 +2595,7 @@ void call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ frame->syscall_cfa = syscall_cfa;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pthread_sigmask( SIG_UNBLOCK, &server_block_set, NULL );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- __wine_syscall_dispatcher_return( frame, 0 );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __wine_syscall_dispatcher_return_ptr( frame, 0 );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2877,8 +2880,7 @@ __ASM_GLOBAL_FUNC( __wine_syscall_dispatcher,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "5:\tmovl $0xc000000d,%eax\n\t" /* STATUS_INVALID_PARAMETER */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "movq %rsp,%rcx\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "jmp " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return") "\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ".globl " __ASM_NAME("__wine_syscall_dispatcher_return") "\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- __ASM_NAME("__wine_syscall_dispatcher_return") ":\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return_label") ":\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "movq %rdi,%rcx\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "movl 0xb0(%rcx),%r14d\n\t" /* frame->syscall_flags */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "movq %rsi,%rax\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2994,6 +2996,9 @@ asm( ".data\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ".globl " __ASM_NAME("__wine_unix_call_dispatcher_prolog_end_ptr") "\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ __ASM_NAME("__wine_unix_call_dispatcher_prolog_end_ptr") ":\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ".quad " __ASM_LOCAL_LABEL("__wine_unix_call_dispatcher_prolog_end") "\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ".globl " __ASM_NAME("__wine_syscall_dispatcher_return_ptr") "\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __ASM_NAME("__wine_syscall_dispatcher_return_ptr") ":\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ".quad " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return_label") "\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ".text\n\t" );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif /* __x86_64__ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+GitLab
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/wine-stable/Portfile b/emulators/wine-stable/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 35c087575e5..f3667c1ea66 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/emulators/wine-stable/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/wine-stable/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -70,6 +70,11 @@ patchfiles-append \
</span> patchfiles-append \
macos_hacks.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# ntdll: Fix macOS build errors with Xcode 16.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://gitlab.winehq.org/wine/wine/-/merge_requests/5871
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 5871.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # wine requires the program specified in INSTALL to create intermediate
# directories; /usr/bin/install doesn't.
# http://bugs.winehq.org/show_bug.cgi?id=35310
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/wine-stable/files/5871.patch b/emulators/wine-stable/files/5871.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d6e2934f42b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/wine-stable/files/5871.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,127 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 306e8d2c145b678d117174dbc3cd3b0b1761f271 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Brendan Shanks <bshanks@codeweavers.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 18 Jun 2024 10:35:03 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] ntdll: Fix macOS build errors with Xcode 16.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+LLVM no longer allows non-private labels to appear between
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.cfi_startproc/endproc when targeting Mach-O.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Similar fixes as in commit 295d521b11644fb76c36854336b13c2155bb7d79.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dlls/ntdll/unix/signal_arm64.c | 16 ++++++++++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dlls/ntdll/unix/signal_x86_64.c | 13 +++++++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 21 insertions(+), 8 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/dlls/ntdll/unix/signal_arm64.c b/dlls/ntdll/unix/signal_arm64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 58911d9b1f2..49d54b11f91 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/dlls/ntdll/unix/signal_arm64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/dlls/ntdll/unix/signal_arm64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1017,10 +1017,12 @@ static BOOL handle_syscall_fault( ucontext_t *context, EXCEPTION_RECORD *rec )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ extern typeof(__wine_syscall_dispatcher_return) *__wine_syscall_dispatcher_return_ptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ TRACE( "returning to user mode ip=%p ret=%08x\n", (void *)frame->pc, rec->ExceptionCode );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ REGn_sig(0, context) = (ULONG_PTR)frame;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ REGn_sig(1, context) = rec->ExceptionCode;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- PC_sig(context) = (ULONG_PTR)__wine_syscall_dispatcher_return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PC_sig(context) = (ULONG_PTR)__wine_syscall_dispatcher_return_ptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return TRUE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1381,6 +1383,7 @@ void call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CONTEXT *ctx, context = { CONTEXT_ALL };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ I386_CONTEXT *i386_context;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ARM_CONTEXT *arm_context;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ extern typeof(__wine_syscall_dispatcher_return) *__wine_syscall_dispatcher_return_ptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ thread_data->syscall_table = KeServiceDescriptorTable;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1440,7 +1443,7 @@ void call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ syscall_frame_fixup_for_fastpath( frame );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pthread_sigmask( SIG_UNBLOCK, &server_block_set, NULL );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- __wine_syscall_dispatcher_return( frame, 0 );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __wine_syscall_dispatcher_return_ptr( frame, 0 );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1608,12 +1611,17 @@ __ASM_GLOBAL_FUNC( __wine_syscall_dispatcher,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "4:\tmov x0, #0xc0000000\n\t" /* STATUS_INVALID_PARAMETER */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "movk x0, #0x000d\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "b " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return") "\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ".globl " __ASM_NAME("__wine_syscall_dispatcher_return") "\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- __ASM_NAME("__wine_syscall_dispatcher_return") ":\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return_label") ":\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "mov sp, x0\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "mov x0, x1\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "b " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return") )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++asm( ".data\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ".align 4\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ".globl " __ASM_NAME("__wine_syscall_dispatcher_return_ptr") "\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __ASM_NAME("__wine_syscall_dispatcher_return_ptr") ":\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ".quad " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return_label") "\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ".text\n\t" );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /***********************************************************************
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * __wine_unix_call_dispatcher
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/dlls/ntdll/unix/signal_x86_64.c b/dlls/ntdll/unix/signal_x86_64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a163d5d0b33..894ddee9348 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/dlls/ntdll/unix/signal_x86_64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/dlls/ntdll/unix/signal_x86_64.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1880,10 +1880,12 @@ static BOOL handle_syscall_fault( ucontext_t *sigcontext, EXCEPTION_RECORD *rec,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ extern typeof(__wine_syscall_dispatcher_return) *__wine_syscall_dispatcher_return_ptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ TRACE_(seh)( "returning to user mode ip=%016lx ret=%08x\n", frame->rip, rec->ExceptionCode );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ RDI_sig(sigcontext) = (ULONG_PTR)frame;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ RSI_sig(sigcontext) = rec->ExceptionCode;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- RIP_sig(sigcontext) = (ULONG_PTR)__wine_syscall_dispatcher_return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ RIP_sig(sigcontext) = (ULONG_PTR)__wine_syscall_dispatcher_return_ptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return TRUE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2513,6 +2515,7 @@ void call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct amd64_thread_data *thread_data = (struct amd64_thread_data *)&teb->GdiTebBatch;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CONTEXT *ctx, context = { 0 };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ I386_CONTEXT *wow_context;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ extern typeof(__wine_syscall_dispatcher_return) *__wine_syscall_dispatcher_return_ptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ thread_data->syscall_table = KeServiceDescriptorTable;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ thread_data->xstate_features_mask = xstate_supported_features_mask;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2592,7 +2595,7 @@ void call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ frame->syscall_cfa = syscall_cfa;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pthread_sigmask( SIG_UNBLOCK, &server_block_set, NULL );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- __wine_syscall_dispatcher_return( frame, 0 );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __wine_syscall_dispatcher_return_ptr( frame, 0 );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2877,8 +2880,7 @@ __ASM_GLOBAL_FUNC( __wine_syscall_dispatcher,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "5:\tmovl $0xc000000d,%eax\n\t" /* STATUS_INVALID_PARAMETER */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "movq %rsp,%rcx\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "jmp " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return") "\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ".globl " __ASM_NAME("__wine_syscall_dispatcher_return") "\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- __ASM_NAME("__wine_syscall_dispatcher_return") ":\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return_label") ":\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "movq %rdi,%rcx\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "movl 0xb0(%rcx),%r14d\n\t" /* frame->syscall_flags */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "movq %rsi,%rax\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2994,6 +2996,9 @@ asm( ".data\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ".globl " __ASM_NAME("__wine_unix_call_dispatcher_prolog_end_ptr") "\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ __ASM_NAME("__wine_unix_call_dispatcher_prolog_end_ptr") ":\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ".quad " __ASM_LOCAL_LABEL("__wine_unix_call_dispatcher_prolog_end") "\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ".globl " __ASM_NAME("__wine_syscall_dispatcher_return_ptr") "\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ __ASM_NAME("__wine_syscall_dispatcher_return_ptr") ":\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ".quad " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return_label") "\n\t"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ".text\n\t" );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif /* __x86_64__ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+GitLab
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>
</pre>