- Similar to the aarch64 issue with x18, find a way to save and
restore %gs at the boundary between PE modules and native modules.
IMHO #2 sounds like the best possible course. We already have something similar for user32 wndprocs, although on a way less intrusive scale.
Here the x18 staging patch for reference: https://github.com/wine-staging/ wine-staging/blob/00b434ec7f1123c221dae2006b33339a808cb24b/patches/ntdll- aarch-TEB/0002-ntdll-Always-restore-TEB-to-x18-on-aarch-64-on-retur.patch
Would something like this already work? Ideally we wouldn't want to use relay for that, but it would be a start. If this covers the usecases of that game, that is.
On a side-note, does anyone know how big the performance hit would be? Because in my naive thinking, it shouldn't be too bad. But then again, I'm not familiar with performance tuning.
Regards, Fabian Maurer