Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Unified Diff: util/win/process_structs.h

Issue 1349313003: win: support x64 reading x86 (wow64) (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: mac Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « util/win/process_info_test.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: util/win/process_structs.h
diff --git a/util/win/process_structs.h b/util/win/process_structs.h
index 7f4e4f59e77e7f3561f37aa091f7ab365f89194e..79f6515259c4bb13c29564749bd329e2f3bfcf6e 100644
--- a/util/win/process_structs.h
+++ b/util/win/process_structs.h
@@ -283,16 +283,22 @@ struct PEB {
template <class Traits>
struct NT_TIB {
- typename Traits::Pointer ExceptionList;
- typename Traits::Pointer StackBase;
- typename Traits::Pointer StackLimit;
- typename Traits::Pointer SubSystemTib;
union {
- typename Traits::Pointer FiberData;
- BYTE Version[4];
+ // See https://msdn.microsoft.com/en-us/library/dn424783.aspx.
+ typename Traits::Pointer Wow64Teb;
+ struct {
+ typename Traits::Pointer ExceptionList;
+ typename Traits::Pointer StackBase;
+ typename Traits::Pointer StackLimit;
+ typename Traits::Pointer SubSystemTib;
+ union {
+ typename Traits::Pointer FiberData;
+ BYTE Version[4];
+ };
+ typename Traits::Pointer ArbitraryUserPointer;
+ typename Traits::Pointer Self;
+ };
};
- typename Traits::Pointer ArbitraryUserPointer;
- typename Traits::Pointer Self;
};
// See https://msdn.microsoft.com/en-us/library/gg750647.aspx.
@@ -417,7 +423,7 @@ struct SYSTEM_PROCESS_INFORMATION {
template <class Traits>
struct THREAD_BASIC_INFORMATION {
union {
- NTSTATUS ExitStatus;
+ LONG ExitStatus;
typename Traits::Pad padding_for_x64_0;
};
typename Traits::Pointer TebBaseAddress;
@@ -427,6 +433,15 @@ struct THREAD_BASIC_INFORMATION {
LONG BasePriority;
};
+template <class Traits>
+struct EXCEPTION_POINTERS {
+ typename Traits::Pointer ExceptionRecord;
+ typename Traits::Pointer ContextRecord;
+};
+
+using EXCEPTION_POINTERS32 = EXCEPTION_POINTERS<internal::Traits32>;
+using EXCEPTION_POINTERS64 = EXCEPTION_POINTERS<internal::Traits64>;
+
#pragma pack(pop)
//! \}
« no previous file with comments | « util/win/process_info_test.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698