7501942008
64-bit Windows apps have hard-coded accesses to %gs:0x30 baked into them. They need to find the TEB self pointer there. Technically, the gsbase register and the memory it points to belong to the pthread implementation on macOS. It's used for the pthread TLS implementation. However, study of the sources and experimentation reveal that TLS slot 6 (offset 0x30) is not currently used. Furthermore, Apple has promised to not use that slot in the future. So, we hijack it for our purposes. Signed-off-by: Ken Thomases <ken@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> |
||
---|---|---|
.. | ||
tests | ||
Makefile.in | ||
actctx.c | ||
atom.c | ||
cdrom.c | ||
critsection.c | ||
debugbuffer.c | ||
debugtools.c | ||
directory.c | ||
env.c | ||
error.c | ||
exception.c | ||
file.c | ||
handletable.c | ||
heap.c | ||
large_int.c | ||
loader.c | ||
loadorder.c | ||
misc.c | ||
nt.c | ||
ntdll.spec | ||
ntdll_misc.h | ||
om.c | ||
path.c | ||
printf.c | ||
process.c | ||
reg.c | ||
relay.c | ||
resource.c | ||
rtl.c | ||
rtlbitmap.c | ||
rtlstr.c | ||
sec.c | ||
serial.c | ||
server.c | ||
signal_arm.c | ||
signal_arm64.c | ||
signal_i386.c | ||
signal_powerpc.c | ||
signal_x86_64.c | ||
string.c | ||
sync.c | ||
tape.c | ||
thread.c | ||
threadpool.c | ||
time.c | ||
version.c | ||
version.rc | ||
virtual.c | ||
wcstring.c |