Hi,
On Apr 9, 2016, at 3:17 PM, Michael Müller michael@fds-team.de wrote:
After checking a couple of 64-bit applications (VLC, Teamspeak 3, ...), they were mostly using a single TEB field, which is %%gs:0x30 (Teb->Tib.Self). My theory is that they use the NtCurrentTeb() inline function from the MS header files. As you are aware, just changing the %gs segment is not possible, but in order to get these applications working we just need to set %%gs:0x30 correctly.
Thanks for confirming.
We've been working with Apple to get them to bless this hack by officially permanently reserving that slot of the pthread TLS for Wine before we add this to CrossOver. No promises, yet, but they seem positively inclined.
We're still trying to find a more comprehensive solution.
-Ken