<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>