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

Unified Diff: snapshot/mac/process_types/crashreporterclient.proctype

Issue 1277513003: Recognize crashreporter_annotations_t version 5 found on OS X 10.11 (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: ExpectedSizeForVersion(), ReadIntoVersioned() Created 5 years, 4 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 | « snapshot/mac/process_types.cc ('k') | snapshot/mac/process_types/custom.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: snapshot/mac/process_types/crashreporterclient.proctype
diff --git a/snapshot/mac/process_types/crashreporterclient.proctype b/snapshot/mac/process_types/crashreporterclient.proctype
index 7d83c2334b09d61e6115f08576a1292468ccfe17..7afaddea799f777f5b77c2dd008733e7abea70e2 100644
--- a/snapshot/mac/process_types/crashreporterclient.proctype
+++ b/snapshot/mac/process_types/crashreporterclient.proctype
@@ -27,14 +27,32 @@
// Client Mach-O images will contain a __DATA,__crash_info section formatted
// according to this structure.
+//
+// crashreporter_annotations_t is variable-length. Its length dictated by its
+// |version| field which is always present. A custom implementation of the
+// flavored ReadSpecificInto function that understands how to map this field to
+// the structure’s actual size is provided in
+// snapshot/mac/process_types/custom.cc. No implementation of ReadArrayInto is
+// provided because dyld_all_image_infos structs are singletons in a process and
+// are never present in arrays, so the functionality is unnecessary.
+
+#if !defined(PROCESS_TYPE_STRUCT_IMPLEMENT_INTERNAL_READ_INTO) && \
+ !defined(PROCESS_TYPE_STRUCT_IMPLEMENT_ARRAY)
+
PROCESS_TYPE_STRUCT_BEGIN(crashreporter_annotations_t)
- // The only known version is 4.
PROCESS_TYPE_STRUCT_MEMBER(uint64_t, version) // unsigned long
+ // Version 4 (Mac OS X 10.7)
PROCESS_TYPE_STRUCT_MEMBER(uint64_t, message) // char*
PROCESS_TYPE_STRUCT_MEMBER(uint64_t, signature_string) // char*
PROCESS_TYPE_STRUCT_MEMBER(uint64_t, backtrace) // char*
PROCESS_TYPE_STRUCT_MEMBER(uint64_t, message2) // char*
PROCESS_TYPE_STRUCT_MEMBER(uint64_t, thread)
PROCESS_TYPE_STRUCT_MEMBER(uint64_t, dialog_mode) // unsigned int
+
+ // Version 5 (OS X 10.11)
+ PROCESS_TYPE_STRUCT_MEMBER(uint64_t, unknown_0)
PROCESS_TYPE_STRUCT_END(crashreporter_annotations_t)
+
+#endif // ! PROCESS_TYPE_STRUCT_IMPLEMENT_INTERNAL_READ_INTO &&
+ // ! PROCESS_TYPE_STRUCT_IMPLEMENT_ARRAY
« no previous file with comments | « snapshot/mac/process_types.cc ('k') | snapshot/mac/process_types/custom.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698