<pre style='margin:0'>
Ryan Carsten Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/6eee785b163c48f0118885404e5b9276eb2ca41e">https://github.com/macports/macports-ports/commit/6eee785b163c48f0118885404e5b9276eb2ca41e</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 6eee785b163c48f0118885404e5b9276eb2ca41e
</span>Author: Dean M Greer <38226388+Gcenx@users.noreply.github.com>
AuthorDate: Sat Jun 29 16:29:47 2024 -0400
<span style='display:block; white-space:pre;color:#404040;'> wine-devel,wine-staging: Update to 9.12
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Co-Authored-By: Brendan Shanks <780632+mrpippy@users.noreply.github.com>
</span>---
emulators/wine-devel/Portfile | 34 +++++------
emulators/wine-devel/files/1001-msync.diff | 4 +-
emulators/wine-devel/files/5871.diff | 87 -----------------------------
emulators/wine-devel/files/macos_hacks.diff | 60 +++++++++++++++++---
4 files changed, 70 insertions(+), 115 deletions(-)
<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 b6d9351afb6..517f3c025ce 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;'>@@ -7,12 +7,12 @@ PortGroup muniversal 1.1
</span>
# Keep the wine-stable, wine-devel and wine-crossover portfiles as similar as possible.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup wine-mirror wine 9.11 wine-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup wine-mirror wine 9.12 wine-
</span> github.tarball_from archive
name wine-devel
conflicts wine-stable wine-staging wine-crossover
set my_name wine
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 0
</span> platforms {darwin >= 19}
set branch [lindex [split ${version} .] 0].x
license LGPL-2.1+
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -37,9 +37,9 @@ long_description \
</span>
checksums \
${distname}${extract.suffix} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 9f45723d664c16a89a7d35450ceb7df252e29d8f \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 b2b199fb2f95f6c9d61f2e9bbd038c1cc803f5a6d4b63c69b2707a0021140370 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 49452646
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 dc60e454fb2023e69ab8369a58b6eb1367b7036e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 2df47b244aaa2878ba4631f05197670bc4f1f5d102bd7145feff7bfac2b87107 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 49501104
</span>
depends_build \
port:bison \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -58,7 +58,7 @@ depends_lib \
</span>
depends_run \
port:mingw-w64-wine-gecko-2.47.4 \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:mingw-w64-wine-mono-9.1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:mingw-w64-wine-mono-9.2.0
</span>
patch.pre_args-replace -p0 -p1
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -69,11 +69,6 @@ patchfiles-append \
</span> patchfiles-append \
macos_hacks.diff
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# ntdll: Fix macOS build errors with Xcode 16.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://gitlab.winehq.org/wine/wine/-/merge_requests/5871
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 5871.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</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;background:#e0e0e0;'>@@ -130,6 +125,10 @@ configure.ldflags-append -Wl,-rpath,${compiler.library_path}
</span> # FSF GCC cannot compile code using Apple's "blocks" language extensions
compiler.blacklist-append {*gcc*} {clang < 800} {macports-clang-3.*}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Setting an older deployment target avoids build error with MacOSX15.sdk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://gitlab.winehq.org/wine/wine/-/merge_requests/5935#note_74758
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+macosx_deployment_target 10.15
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> subport wine-staging {
conflicts wine-stable wine-devel wine-crossover
set staging_version ${version}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -141,18 +140,16 @@ subport wine-staging {
</span>
checksums-append \
${wine_staging_distfile} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 fa43f49144181ef03ef18e6791c2daa69b2c5033 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 5edfa88452afd9a52dd9c978ec9ca6a713ad3d645d08d8baa318d35583e7a975 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 9460666
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 1d02cf1d20d567142370ef586db20e6c0a871d5b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 f6f1b701ae071e98807dbde425726c2d1c934dc951e7d8414e1746fa57039f3b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 9456608
</span>
depends_patch-append port:autoconf
# Applying staging after other patchfiles to avoid problems
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # "winemac.drv-no-flicker-patch" gets inherited from wine-devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # "1001-msync" needs to applied after staging
</span> post-patch {
system -W ${worksrcpath} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- "${workpath}/wine-staging-${staging_version}/staging/patchinstall.py --all -W winemac.drv-no-flicker-patch"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "${workpath}/wine-staging-${staging_version}/staging/patchinstall.py --all -W winemac.drv-no-flicker-patch -W ntdll-Syscall_Emulation"
</span> system -W ${worksrcpath} \
"patch -p1 < ${filespath}/1001-msync.diff"
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -192,8 +189,7 @@ muniversal.arch_flag no
</span> muniversal.arch_compiler yes
configure.ldflags-delete -L${compiler.library_path}
configure.optflags -g -O2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# gcc14.1 now sets -Werror-incompatible-pointer-types
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.env-append "CROSSCFLAGS=${configure.optflags} -Wno-error=incompatible-pointer-types"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.env-append "CROSSCFLAGS=${configure.optflags}"
</span>
# Were only installing wine not the development files
destroot.target install-lib
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/wine-devel/files/1001-msync.diff b/emulators/wine-devel/files/1001-msync.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index f8f61e1c1d8..b4cc9640c88 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/emulators/wine-devel/files/1001-msync.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/wine-devel/files/1001-msync.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2205,8 +2205,8 @@ index 8bedd7d2bbe..a26d6ce6ef7 100644
</span>
/* ### protocol_version begin ### */
<span style='display:block; white-space:pre;background:#ffe0e0;'>--#define SERVER_PROTOCOL_VERSION 807
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SERVER_PROTOCOL_VERSION 808
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define SERVER_PROTOCOL_VERSION 820
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SERVER_PROTOCOL_VERSION 821
</span>
/* ### protocol_version end ### */
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/wine-devel/files/5871.diff b/emulators/wine-devel/files/5871.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 3ebd7f60411..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/emulators/wine-devel/files/5871.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,87 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 802a52cb1b9825a8baa63276b0e6620d7f4edc83 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Brendan Shanks <bshanks@codeweavers.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 19 Jun 2024 15:36:27 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH] ntdll: Make __wine_syscall_dispatcher_return a separate
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- function to fix Xcode 16 build errors.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-LLVM no longer allows non-private labels to appear between
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.cfi_startproc/endproc when targeting Mach-O.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-For consistency, also modify ARM and i386.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dlls/ntdll/unix/signal_arm.c | 6 +++---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dlls/ntdll/unix/signal_arm64.c | 6 +++---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dlls/ntdll/unix/signal_i386.c | 5 ++---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dlls/ntdll/unix/signal_x86_64.c | 6 +++---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 4 files changed, 11 insertions(+), 12 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/dlls/ntdll/unix/signal_arm.c b/dlls/ntdll/unix/signal_arm.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a477d8d2ed8..77d66909135 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/dlls/ntdll/unix/signal_arm.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/dlls/ntdll/unix/signal_arm.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1252,9 +1252,9 @@ __ASM_GLOBAL_FUNC( __wine_syscall_dispatcher,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "5:\tmovw r0, #0x000d\n\t" /* STATUS_INVALID_PARAMETER */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "movt r0, #0xc000\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "b " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return") "\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ".globl " __ASM_NAME("__wine_syscall_dispatcher_return") "\n"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- __ASM_NAME("__wine_syscall_dispatcher_return") ":\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "b " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return") )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__ASM_GLOBAL_FUNC( __wine_syscall_dispatcher_return,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "mov r8, r0\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "mov r0, r1\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "b " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return") )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-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:#ffe0e0;'>-index 58911d9b1f2..667bc1108cf 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/dlls/ntdll/unix/signal_arm64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/dlls/ntdll/unix/signal_arm64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1607,9 +1607,9 @@ __ASM_GLOBAL_FUNC( __wine_syscall_dispatcher,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "ret x16\n"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "4:\tmov x0, #0xc0000000\n\t" /* STATUS_INVALID_PARAMETER */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "movk x0, #0x000d\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "b " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return") "\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ".globl " __ASM_NAME("__wine_syscall_dispatcher_return") "\n"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- __ASM_NAME("__wine_syscall_dispatcher_return") ":\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "b " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return") )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__ASM_GLOBAL_FUNC( __wine_syscall_dispatcher_return,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "mov sp, x0\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "mov x0, x1\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "b " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return") )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/dlls/ntdll/unix/signal_i386.c b/dlls/ntdll/unix/signal_i386.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6457f0221bd..61d41ec3589 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/dlls/ntdll/unix/signal_i386.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/dlls/ntdll/unix/signal_i386.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2768,10 +2768,9 @@ __ASM_GLOBAL_FUNC( __wine_syscall_dispatcher,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- __ASM_CFI("\t.cfi_restore_state\n")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "6:\tmovl $0xc000000d,%eax\n\t" /* STATUS_INVALID_PARAMETER */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "jmp " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return") "\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "jmp " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return") )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ".globl " __ASM_NAME("__wine_syscall_dispatcher_return") "\n"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- __ASM_NAME("__wine_syscall_dispatcher_return") ":\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__ASM_GLOBAL_FUNC( __wine_syscall_dispatcher_return,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "movl 8(%esp),%eax\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "movl 4(%esp),%esp\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "jmp " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return") )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-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:#ffe0e0;'>-index a163d5d0b33..e84044fa805 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/dlls/ntdll/unix/signal_x86_64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/dlls/ntdll/unix/signal_x86_64.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2876,9 +2876,9 @@ __ASM_GLOBAL_FUNC( __wine_syscall_dispatcher,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- __ASM_CFI("\t.cfi_restore_state\n")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "5:\tmovl $0xc000000d,%eax\n\t" /* STATUS_INVALID_PARAMETER */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "movq %rsp,%rcx\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "jmp " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return") "\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ".globl " __ASM_NAME("__wine_syscall_dispatcher_return") "\n"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- __ASM_NAME("__wine_syscall_dispatcher_return") ":\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "jmp " __ASM_LOCAL_LABEL("__wine_syscall_dispatcher_return") )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__ASM_GLOBAL_FUNC( __wine_syscall_dispatcher_return,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "movq %rdi,%rcx\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "movl 0xb0(%rcx),%r14d\n\t" /* frame->syscall_flags */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "movq %rsi,%rax\n\t"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-GitLab
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/wine-devel/files/macos_hacks.diff b/emulators/wine-devel/files/macos_hacks.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 31a3d5e8c3c..779423e5bdb 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/emulators/wine-devel/files/macos_hacks.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/wine-devel/files/macos_hacks.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,5 +1,5 @@
</span> diff --git a/dlls/kernelbase/process.c b/dlls/kernelbase/process.c
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 775512e7f0d..049d8224789 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2d08481cd35..9972781a183 100644
</span> --- a/dlls/kernelbase/process.c
+++ b/dlls/kernelbase/process.c
@@ -502,6 +502,46 @@ done:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -470,10 +470,10 @@ index 5c59d102dd9..08df8328080 100644
</span> if (NtCurrentTeb()->WowTebOffset) init_wow64( context );
#endif
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8cf6abed3da..2509cde21c6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 19fbfb2b68c..0411738ff19 100644
</span> --- a/dlls/ntdll/unix/loader.c
+++ b/dlls/ntdll/unix/loader.c
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1813,6 +1813,48 @@ static ULONG_PTR get_image_address(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1842,6 +1842,48 @@ static ULONG_PTR get_image_address(void)
</span> return 0;
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -522,7 +522,7 @@ index 8cf6abed3da..2509cde21c6 100644
</span> /***********************************************************************
* start_main_thread
*/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1835,6 +1877,13 @@ static void start_main_thread(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1864,6 +1906,13 @@ static void start_main_thread(void)
</span> load_ntdll();
load_wow64_ntdll( main_image_info.Machine );
load_apiset_dll();
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -537,7 +537,7 @@ index 8cf6abed3da..2509cde21c6 100644
</span> }
diff --git a/dlls/ntdll/unix/signal_x86_64.c b/dlls/ntdll/unix/signal_x86_64.c
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index a163d5d0b33..73995693b57 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e84044fa805..17ecd21b79d 100644
</span> --- a/dlls/ntdll/unix/signal_x86_64.c
+++ b/dlls/ntdll/unix/signal_x86_64.c
@@ -1003,7 +1003,11 @@ NTSTATUS WINAPI NtSetContextThread( HANDLE handle, const CONTEXT *context )
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -719,7 +719,53 @@ index a163d5d0b33..73995693b57 100644
</span> break;
case TRAP_x86_STKFLT: /* Stack fault */
rec.ExceptionCode = EXCEPTION_STACK_OVERFLOW;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2530,6 +2678,8 @@ void call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2203,6 +2351,34 @@ static void usr1_handler( int signal, siginfo_t *siginfo, void *sigcontext )
</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;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* CW HACK 22350 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/**********************************************************************
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * sigsys_handler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Handler for SIGSYS, signals that a non-existent system call was invoked.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Only called on macOS 14 Sonoma and later.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static void sigsys_handler( int signal, siginfo_t *siginfo, void *sigcontext )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ extern const void *__wine_syscall_dispatcher_prolog_end_ptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ struct syscall_frame *frame = amd64_thread_data()->syscall_frame;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ucontext_t *ctx = sigcontext;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ TRACE_(seh)("SIGSYS, rax %#llx, rip %#llx.\n", RAX_sig(ctx), RIP_sig(ctx));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ frame->rip = RIP_sig(ctx) + 0xb;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ frame->rcx = RIP_sig(ctx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ frame->eflags = EFL_sig(ctx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ frame->restore_flags = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ RCX_sig(ctx) = (ULONG_PTR)frame;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ R11_sig(ctx) = frame->eflags;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ EFL_sig(ctx) &= ~0x100; /* clear single-step flag */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ RIP_sig(ctx) = (ULONG64)__wine_syscall_dispatcher_prolog_end_ptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</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;'>+ * LDT support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2496,6 +2672,10 @@ void signal_init_process(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (sigaction( SIGSEGV, &sig_act, NULL ) == -1) goto error;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (sigaction( SIGILL, &sig_act, NULL ) == -1) goto error;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (sigaction( SIGBUS, &sig_act, NULL ) == -1) goto error;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sig_act.sa_sigaction = sigsys_handler;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (sigaction( SIGSYS, &sig_act, NULL ) == -1) goto error;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ error:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2530,6 +2710,8 @@ void call_init_thunk( LPTHREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB
</span> __asm__ volatile (".byte 0x65\n\tmovq %0,%c1" :: "r" (teb->Tib.Self), "n" (FIELD_OFFSET(TEB, Tib.Self)));
__asm__ volatile (".byte 0x65\n\tmovq %0,%c1" :: "r" (teb->ThreadLocalStoragePointer), "n" (FIELD_OFFSET(TEB, ThreadLocalStoragePointer)));
thread_data->pthread_teb = mac_thread_gsbase();
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -750,7 +796,7 @@ index 3d151e7b2b8..03d1516fc03 100644
</span> }
diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4b23d9954df..44e341ece56 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3981905bcd3..e7e766582ce 100644
</span> --- a/dlls/ntdll/unix/virtual.c
+++ b/dlls/ntdll/unix/virtual.c
@@ -62,6 +62,7 @@
</pre><pre style='margin:0'>
</pre>