Hi Sebastian,
On 11/02/15 04:10, Sebastian Lackner wrote:
On 02.11.2015 01:28, Jacek Caban wrote:
Hi Sebastian,
On 10/30/15 5:57 PM, Sebastian Lackner wrote:
On 30.10.2015 17:42, Theodore Dubois wrote:
Wine Staging includes some patches to fix Steam
web browsing, but they are deactivated on Mac because they apparently require special
build flags. Does anyone know what this refers to?
~Theodore
The staged patchset adds thunk wrappers for ntdll functions, but to be compatible
with Windows, they have to contain absolute addresses. This requires text relocations,
which are not allowed by default on OSX. Since this issue was discovered shortly before
the last release, disabling the patchset on OSX was easier than the necessary configure.ac
changes, but I'm working on a solution. Unless we hit some impossible to solve
problems Wine Staging 1.7.54 will make the Steam fix also available on OSX. ;)
I
took a look at this problem and the patchset and I think we should be able to avoid text
relocation in this case. I should have a proof of concept patch soon.
Thanks,
Jacek
Can you provide more details what your alternative plan is? We have investigated
many more attempts (including patching winebuild and/or automatic code
generation), not just the version in our repository, however they have all
disadvantages and/or technical difficulties. To avoid duplicate work or an
attempt in the wrong direction, feel free to explain your idea before spending
too much time on it.
Sure. The idea is to pass relative addresses instead to
call_syscall_func and let it handle that. Calling call_syscall_func
itself may use a constant address if we let it live in user shared data.
Did you try that? That's one of those things that one has to try to see
if it works in practice.
Also I believe that using winebuild for that is the right way.
BTW: I am not sure if there is actually ANY way to fix
it properly, because as
soon as a user has a WOW64 prefix, the steamwebhelper process expects 64-bit
thunks. Those contain a SYSCALL instruction, so we cannot really make the
sandboxing code happy.
Yeah, that sounds worrying. I didn't look at 64-bit variant at all.
Thanks,
Jacek