Page MenuHomeFreeBSD

emulators/wine-devel: Add wow64 support
AcceptedPublic

Authored by monwarez_mailoo.org on Mar 31 2026, 7:44 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Jul 25, 11:09 AM
Unknown Object (File)
Sat, Jul 25, 8:59 AM
Unknown Object (File)
Sat, Jul 25, 8:56 AM
Unknown Object (File)
Fri, Jul 24, 1:26 AM
Unknown Object (File)
Tue, Jul 21, 7:21 PM
Unknown Object (File)
Sat, Jul 18, 4:56 PM
Unknown Object (File)
Sat, Jul 18, 8:00 AM
Unknown Object (File)
Fri, Jul 17, 12:11 PM

Details

Summary

This is a patch of wine-devel to add wow64 support.

It is from https://gitlab.winehq.org/wine/wine/-/merge_requests/8073

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

monwarez_mailoo.org created this revision.
monwarez_mailoo.org created this object with edit policy "Administrators".
monwarez_mailoo.org edited the summary of this revision. (Show Details)

This is the final working version for new wow64

pi changed the edit policy from "Administrators" to "committers (Project)".May 9 2026, 4:51 AM
pi added subscribers: iwtcex_gmail.com, gerald.
gerald requested changes to this revision.May 10 2026, 11:03 AM

I am very happy and very supportive of this change and believe it can go
in soon – hopefully getting key FreeBSD-specific changes upstream (or at
least submitted upstream).

My recommendation is to focus on getting dlls/ntdll/unix/signal_x86_64.c
upstream and at least submitting the configure.ac changes. Then I'd feel
comfortable approving this patchset (presumably for Wine 11.8 then)?

emulators/wine-devel/files/patch-configure.ac
2

Could this go upstream independently? Not to hold off this overall changset, it just seems important not to carry something like this locally, so at least seeing it submitted upstream seems important.

emulators/wine-devel/files/patch-dlls_ntdll_unix_signal__x86__64.c
3

This file is currently (for about a week) broken upstream after changes by Alexandre that only work on Linux and macOS.

My strong recommendation is to focus on this, get it upstream (so that no local patch to this file is required) and then make the switch. Carrying a local patch of this complexity and size looks like a big maintenance risk.

This revision now requires changes to proceed.May 10 2026, 11:03 AM
emulators/wine-devel/files/patch-dlls_ntdll_unix_signal__x86__64.c
3

For this file, it is the one already upstream that is broken. So even if it is upstream, there is no guarantee that nothing will break.
Unless upstream integrate FreeBSD into their CI, the only change there is to having the patch upstream is that the patch won't need to be rebased each times this files is changed. But that won't prevent things to break over time as we can see with the recent update.
Sure it is a big maintenance risk, but having it upstream won't lift it.

I'd be happy to approve a revision of this based on the latest upstream submission by @iwtcex_gmail.com.

monwarez_mailoo.org changed the edit policy from "committers (Project)" to "All Users".Sun, Jul 19, 9:27 PM
emulators/wine-devel/files/patch-configure.ac
2

I'll explain what that particular patch does, since this is not exactly obvious. The intention is to keep FreeBSD shared libs out of the first 4 GiB of memory in a non-aslr mode (rtld seems to always place them after the executable). In aslr-mode the system does that implicitly (probably because that benefits randomization). The downside is that we fix the entry main address in the aslr-mode as well, making it entirely predictable, which is against the spirit of aslr. We probably should request an elfctl flag for the behaviour that want instead of upstreaming that patch.

emulators/wine-devel/files/patch-configure.ac
2

s/entry main address/entry address/

Thank you Thibault, and thank you for the background Alex.

Thibault, I recommend adding Alex' explanation at the top of the relevant patch, so it's easy to find and get that background when touching the port.

This revision is now accepted and ready to land.Mon, Jul 20, 12:00 AM
emulators/wine-devel/pkg-plist
2955

This doesn't look right, pkg will complain If OSS, ALSA (and other options as well as it looks like) is unselected.

I guess you forgot that?

I will add Alex's comments about the configure.ac patches in my next update of wine-devel

emulators/wine-devel/pkg-plist
2955

Yes I likely forgot it since I had to rollback new wow64 for every update of wine-devel.

The final move will be directly in my next update to 11.14 in a bugzilla ticket.