https://bugs.winehq.org/show_bug.cgi?id=33159
--- Comment #22 from Sebastian Lackner sebastian@fds-team.de --- Starting with Wine Staging 2.10 we have added an experimental preloader implementation for macOS. So far we have only tested it on a small subset of macOS versions, so please give it a try and report any issues you encounter. If you use official Wine Staging builds, the preloader will be enabled by default.
----
Michael Müller has prepared various executables for testing purposes ( http://fds-team.de/~michael/osx-preloader-test.tar.gz ), which test specific functions of the preloader. The tarball provides the following testcases:
wine test-win.exe
A Windows executable without relocation information, which should fail to load without this patch. It simply prints "Success!" when everything is working as expected. When you give it a try, please also check that that there are no warnings related to the preloader (especially no failures to allocate reserved areas).
wine-preloader test-main wine64-preloader test-main64
MacOS binaries with LC_MAIN entrypoint. If everything works as expected, they will print "wine_main_preload_info not found", and afterwards dump the argv/envp and apple data arguments passed to the main() function.
wine-preloader test-unix wine64-preloader test-unix64
MacOS binaries with LC_UNIXTHREAD entrypoint. If everything works as expected, they will print "wine_main_preload_info not found", and afterwards dump the argv/envp and apple data arguments passed to the main() function.
----
If you encounter any issues with the preloader, and you want to disable it for testing purposes, you can simplify remove execute permissions of the file.
chmod -x wine-preloader chmod -x wine64-preloader
Please be aware that the introduction of the preloader also required other changes, so this will not necessarily give the same results as Wine compiled without the patchset.