[PATCH] includes: Add NtCurrentTeb assembly for win64
mlankhorst
mlankhorst at dhcp-172-29-61-127.smo.corp.google.com
Wed Nov 26 07:42:48 CST 2008
---
include/winnt.h | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/include/winnt.h b/include/winnt.h
index a1e9fe0..90c4d3b 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -2007,6 +2007,21 @@ extern inline struct _TEB * WINAPI NtCurrentTeb(void)
__asm mov teb, eax;
return teb;
}
+#elif defined(__x86_64__) && defined(__GNUC__)
+extern inline struct _TEB * WINAPI NtCurrentTeb(void)
+{
+ struct _TEB *teb;
+ __asm__(".byte 0x65\n\tmovq (0x30),%0" : "=r" (teb));
+ return teb;
+}
+#elif defined(__x86_64__) && defined (_MSC_VER)
+extern inline struct _TEB * WINAPI NtCurrentTeb(void)
+{
+ struct _TEB *teb;
+ __asm mov rax, gs:[0x30];
+ __asm mov teb, rax;
+ return teb;
+}
#else
extern struct _TEB * WINAPI NtCurrentTeb(void);
#endif
--
1.5.6.5
--------------070805040404030001020904--
More information about the wine-patches
mailing list