Rebase against c18152630362c1bff1813fe8ad5c75ffb8dbb7cf.

This commit is contained in:
Zebediah Figura
2020-04-16 17:42:47 -05:00
parent a23c076055
commit 767b90c5dd
6 changed files with 58 additions and 68 deletions

View File

@@ -1,8 +1,8 @@
From ea639387658c32c0e7df03795462f140f8921f06 Mon Sep 17 00:00:00 2001
From e25066ea9c9e0442d4c18c13818071c104a9c5d2 Mon Sep 17 00:00:00 2001
From: Martin Storsjo <martin@martin.st>
Date: Wed, 16 Aug 2017 23:48:40 +0300
Subject: [PATCH] ntdll: Always restore TEB to x18 on aarch 64 on return
from calls to builtins
Subject: [PATCH] ntdll: Always restore TEB to x18 on aarch 64 on return from
calls to builtins
This requires always enabling relaying of calls though.
@@ -20,10 +20,10 @@ Signed-off-by: Martin Storsjo <martin@martin.st>
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index 994ff6f215..1f40021b7a 100644
index 0568be63ad8..b7612dcc9a7 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -1827,7 +1827,13 @@ static void load_builtin_callback( void *module, const char *filename )
@@ -2036,7 +2036,13 @@ static NTSTATUS build_so_dll_module( const WCHAR *load_path, const UNICODE_STRIN
SERVER_END_REQ;
/* setup relay debugging entry points */
@@ -35,14 +35,14 @@ index 994ff6f215..1f40021b7a 100644
+ if (TRACE_ON(relay))
+#endif
+ RELAY_SetupDLL( module );
}
*pwm = wm;
return STATUS_SUCCESS;
diff --git a/dlls/ntdll/relay.c b/dlls/ntdll/relay.c
index 7974587c4a..1d88eddb3f 100644
index acccf088811..35dd4161d8b 100644
--- a/dlls/ntdll/relay.c
+++ b/dlls/ntdll/relay.c
@@ -709,8 +709,12 @@ static LONGLONG WINAPI relay_call( struct relay_descr *descr, unsigned int idx,
@@ -705,8 +705,12 @@ static LONGLONG WINAPI relay_call( struct relay_descr *descr, unsigned int idx,
{
unsigned int nb_args;
void *func = relay_trace_entry( descr, idx, stack, &nb_args );
@@ -56,5 +56,5 @@ index 7974587c4a..1d88eddb3f 100644
}
--
2.17.1
2.26.0