147
|
1 //===- MinidumpConstants.def - Iteration over minidump constants-*- C++ -*-===//
|
|
2 //
|
|
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
4 // See https://llvm.org/LICENSE.txt for license information.
|
|
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
6 //
|
|
7 //===----------------------------------------------------------------------===//
|
|
8
|
|
9 #if !(defined HANDLE_MDMP_STREAM_TYPE || defined HANDLE_MDMP_ARCH || \
|
|
10 defined HANDLE_MDMP_PLATFORM)
|
|
11 #error "Missing HANDLE_MDMP definition"
|
|
12 #endif
|
|
13
|
|
14 #ifndef HANDLE_MDMP_STREAM_TYPE
|
|
15 #define HANDLE_MDMP_STREAM_TYPE(CODE, NAME)
|
|
16 #endif
|
|
17
|
|
18 #ifndef HANDLE_MDMP_ARCH
|
|
19 #define HANDLE_MDMP_ARCH(CODE, NAME)
|
|
20 #endif
|
|
21
|
|
22 #ifndef HANDLE_MDMP_PLATFORM
|
|
23 #define HANDLE_MDMP_PLATFORM(CODE, NAME)
|
|
24 #endif
|
|
25
|
|
26 HANDLE_MDMP_STREAM_TYPE(0x0003, ThreadList)
|
|
27 HANDLE_MDMP_STREAM_TYPE(0x0004, ModuleList)
|
|
28 HANDLE_MDMP_STREAM_TYPE(0x0005, MemoryList)
|
|
29 HANDLE_MDMP_STREAM_TYPE(0x0006, Exception)
|
|
30 HANDLE_MDMP_STREAM_TYPE(0x0007, SystemInfo)
|
|
31 HANDLE_MDMP_STREAM_TYPE(0x0008, ThreadExList)
|
|
32 HANDLE_MDMP_STREAM_TYPE(0x0009, Memory64List)
|
|
33 HANDLE_MDMP_STREAM_TYPE(0x000a, CommentA)
|
|
34 HANDLE_MDMP_STREAM_TYPE(0x000b, CommentW)
|
|
35 HANDLE_MDMP_STREAM_TYPE(0x000c, HandleData)
|
|
36 HANDLE_MDMP_STREAM_TYPE(0x000d, FunctionTable)
|
|
37 HANDLE_MDMP_STREAM_TYPE(0x000e, UnloadedModuleList)
|
|
38 HANDLE_MDMP_STREAM_TYPE(0x000f, MiscInfo)
|
|
39 HANDLE_MDMP_STREAM_TYPE(0x0010, MemoryInfoList)
|
|
40 HANDLE_MDMP_STREAM_TYPE(0x0011, ThreadInfoList)
|
|
41 HANDLE_MDMP_STREAM_TYPE(0x0012, HandleOperationList)
|
|
42 HANDLE_MDMP_STREAM_TYPE(0x0013, Token)
|
|
43 HANDLE_MDMP_STREAM_TYPE(0x0014, JavascriptData)
|
|
44 HANDLE_MDMP_STREAM_TYPE(0x0015, SystemMemoryInfo)
|
|
45 HANDLE_MDMP_STREAM_TYPE(0x0016, ProcessVMCounters)
|
|
46 // Breakpad extension types. 0x4767 = "Gg"
|
|
47 HANDLE_MDMP_STREAM_TYPE(0x47670001, BreakpadInfo)
|
|
48 HANDLE_MDMP_STREAM_TYPE(0x47670002, AssertionInfo)
|
|
49 // These are additional minidump stream values which are specific to the linux
|
|
50 // breakpad implementation.
|
|
51 HANDLE_MDMP_STREAM_TYPE(0x47670003, LinuxCPUInfo) // /proc/cpuinfo
|
|
52 HANDLE_MDMP_STREAM_TYPE(0x47670004, LinuxProcStatus) // /proc/$x/status
|
|
53 HANDLE_MDMP_STREAM_TYPE(0x47670005, LinuxLSBRelease) // /etc/lsb-release
|
|
54 HANDLE_MDMP_STREAM_TYPE(0x47670006, LinuxCMDLine) // /proc/$x/cmdline
|
|
55 HANDLE_MDMP_STREAM_TYPE(0x47670007, LinuxEnviron) // /proc/$x/environ
|
|
56 HANDLE_MDMP_STREAM_TYPE(0x47670008, LinuxAuxv) // /proc/$x/auxv
|
|
57 HANDLE_MDMP_STREAM_TYPE(0x47670009, LinuxMaps) // /proc/$x/maps
|
|
58 HANDLE_MDMP_STREAM_TYPE(0x4767000A, LinuxDSODebug)
|
|
59 HANDLE_MDMP_STREAM_TYPE(0x4767000B, LinuxProcStat) // /proc/$x/stat
|
|
60 HANDLE_MDMP_STREAM_TYPE(0x4767000C, LinuxProcUptime) // uptime
|
|
61 HANDLE_MDMP_STREAM_TYPE(0x4767000D, LinuxProcFD) // /proc/$x/fd
|
|
62 // Facebook-defined stream types
|
|
63 HANDLE_MDMP_STREAM_TYPE(0xFACE1CA7, FacebookLogcat)
|
|
64 HANDLE_MDMP_STREAM_TYPE(0xFACECAFA, FacebookAppCustomData)
|
|
65 HANDLE_MDMP_STREAM_TYPE(0xFACECAFB, FacebookBuildID)
|
|
66 HANDLE_MDMP_STREAM_TYPE(0xFACECAFC, FacebookAppVersionName)
|
|
67 HANDLE_MDMP_STREAM_TYPE(0xFACECAFD, FacebookJavaStack)
|
|
68 HANDLE_MDMP_STREAM_TYPE(0xFACECAFE, FacebookDalvikInfo)
|
|
69 HANDLE_MDMP_STREAM_TYPE(0xFACECAFF, FacebookUnwindSymbols)
|
|
70 HANDLE_MDMP_STREAM_TYPE(0xFACECB00, FacebookDumpErrorLog)
|
|
71 HANDLE_MDMP_STREAM_TYPE(0xFACECCCC, FacebookAppStateLog)
|
|
72 HANDLE_MDMP_STREAM_TYPE(0xFACEDEAD, FacebookAbortReason)
|
|
73 HANDLE_MDMP_STREAM_TYPE(0xFACEE000, FacebookThreadName)
|
|
74
|
|
75 HANDLE_MDMP_ARCH(0x0000, X86) // PROCESSOR_ARCHITECTURE_INTEL
|
|
76 HANDLE_MDMP_ARCH(0x0001, MIPS) // PROCESSOR_ARCHITECTURE_MIPS
|
|
77 HANDLE_MDMP_ARCH(0x0002, Alpha) // PROCESSOR_ARCHITECTURE_ALPHA
|
|
78 HANDLE_MDMP_ARCH(0x0003, PPC) // PROCESSOR_ARCHITECTURE_PPC
|
|
79 HANDLE_MDMP_ARCH(0x0004, SHX) // PROCESSOR_ARCHITECTURE_SHX (Super-H)
|
|
80 HANDLE_MDMP_ARCH(0x0005, ARM) // PROCESSOR_ARCHITECTURE_ARM
|
|
81 HANDLE_MDMP_ARCH(0x0006, IA64) // PROCESSOR_ARCHITECTURE_IA64
|
|
82 HANDLE_MDMP_ARCH(0x0007, Alpha64) // PROCESSOR_ARCHITECTURE_ALPHA64
|
|
83 HANDLE_MDMP_ARCH(0x0008, MSIL) // PROCESSOR_ARCHITECTURE_MSIL
|
|
84 HANDLE_MDMP_ARCH(0x0009, AMD64) // PROCESSOR_ARCHITECTURE_AMD64
|
|
85 HANDLE_MDMP_ARCH(0x000a, X86Win64) // PROCESSOR_ARCHITECTURE_IA32_ON_WIN64
|
|
86 HANDLE_MDMP_ARCH(0x8001, SPARC) // Breakpad-defined value for SPARC
|
|
87 HANDLE_MDMP_ARCH(0x8002, PPC64) // Breakpad-defined value for PPC64
|
|
88 HANDLE_MDMP_ARCH(0x8003, ARM64) // Breakpad-defined value for ARM64
|
|
89 HANDLE_MDMP_ARCH(0x8004, MIPS64) // Breakpad-defined value for MIPS64
|
|
90
|
|
91 HANDLE_MDMP_PLATFORM(0x0000, Win32S) // Win32 on Windows 3.1
|
|
92 HANDLE_MDMP_PLATFORM(0x0001, Win32Windows) // Windows 95-98-Me
|
|
93 HANDLE_MDMP_PLATFORM(0x0002, Win32NT) // Windows NT, 2000+
|
|
94 HANDLE_MDMP_PLATFORM(0x0003, Win32CE) // Windows CE, Windows Mobile, "Handheld"
|
|
95 // Breakpad-defined values.
|
|
96 HANDLE_MDMP_PLATFORM(0x8000, Unix) // Generic Unix-ish
|
|
97 HANDLE_MDMP_PLATFORM(0x8101, MacOSX) // Mac OS X/Darwin
|
|
98 HANDLE_MDMP_PLATFORM(0x8102, IOS) // iOS
|
|
99 HANDLE_MDMP_PLATFORM(0x8201, Linux) // Linux
|
|
100 HANDLE_MDMP_PLATFORM(0x8202, Solaris) // Solaris
|
|
101 HANDLE_MDMP_PLATFORM(0x8203, Android) // Android
|
|
102 HANDLE_MDMP_PLATFORM(0x8204, PS3) // PS3
|
|
103 HANDLE_MDMP_PLATFORM(0x8205, NaCl) // Native Client (NaCl)
|
|
104
|
|
105 #undef HANDLE_MDMP_STREAM_TYPE
|
|
106 #undef HANDLE_MDMP_ARCH
|
|
107 #undef HANDLE_MDMP_PLATFORM
|