Rebase against 77fc4697dd7c2b81181c4549c22210bc16913736.

NtCurrentTeb()->Reserved5[0] is now used for a different purpose on x86_64 OSX.
This commit is contained in:
Sebastian Lackner 2016-07-30 00:34:50 +02:00
parent 50a53675fe
commit 0fabea78c6
2 changed files with 7 additions and 7 deletions

View File

@ -51,7 +51,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "ba2e025b94fa3705d439803a545129c32e8818af"
echo "77fc4697dd7c2b81181c4549c22210bc16913736"
}
# Show version information

View File

@ -107,8 +107,8 @@ index 356d631..a91e478 100644
SERVER_END_REQ;
+ /* initialize thread shared memory pointers */
+ NtCurrentTeb()->Reserved5[0] = server_get_shared_memory( 0 );
+ NtCurrentTeb()->Reserved5[1] = server_get_shared_memory( NtCurrentTeb()->ClientId.UniqueThread );
+ NtCurrentTeb()->Reserved5[1] = server_get_shared_memory( 0 );
+ NtCurrentTeb()->Reserved5[2] = server_get_shared_memory( NtCurrentTeb()->ClientId.UniqueThread );
+
is_wow64 = !is_win64 && (server_cpus & ((1 << CPU_x86_64) | (1 << CPU_ARM64))) != 0;
ntdll_get_thread_data()->wow64_redir = is_wow64;
@ -129,7 +129,7 @@ index 306a6c6..4af9caf 100644
LdrShutdownThread();
RtlFreeThreadActivationContextStack();
+ shmlocal = interlocked_xchg_ptr( &NtCurrentTeb()->Reserved5[1], NULL );
+ shmlocal = interlocked_xchg_ptr( &NtCurrentTeb()->Reserved5[2], NULL );
+ if (shmlocal) NtUnmapViewOfSection( NtCurrentProcess(), shmlocal );
+
pthread_sigmask( SIG_BLOCK, &server_block_set, NULL );
@ -146,13 +146,13 @@ index d573d1f..695389a 100644
+/* returns a pointer to the wineserver global shared memory block */
+static inline shmglobal_t *wine_get_shmglobal(void)
+{
+ return (shmglobal_t *)NtCurrentTeb()->Reserved5[0];
+ return (shmglobal_t *)NtCurrentTeb()->Reserved5[1];
+}
+
+/* returns a pointer to the wineserver local shared memory block */
+static inline shmlocal_t *wine_get_shmlocal(void)
+{
+ return (shmlocal_t *)NtCurrentTeb()->Reserved5[1];
+ return (shmlocal_t *)NtCurrentTeb()->Reserved5[2];
+}
/* macros for server requests */
@ -166,7 +166,7 @@ index f35091c..a969067 100644
PVOID ReservedForOle; /* f80/1758 */
ULONG WaitingOnLoaderLock; /* f84/1760 */
- PVOID Reserved5[3]; /* f88/1768 */
+ PVOID Reserved5[3]; /* f88/1768 used for wineserver shared memory */
+ PVOID Reserved5[3]; /* f88/1768 used for x86_64 OSX and wineserver shared memory */
PVOID *TlsExpansionSlots; /* f94/1780 */
ULONG ImpersonationLocale; /* f98/1788 */
ULONG IsImpersonating; /* f9c/178c */