Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 pmbaty 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) || defined(HANDLE_MDMP_PROTECT) ||         \
11
      defined(HANDLE_MDMP_MEMSTATE) || defined(HANDLE_MDMP_MEMTYPE))
12
#error "Missing HANDLE_MDMP definition"
13
#endif
14
 
15
#ifndef HANDLE_MDMP_STREAM_TYPE
16
#define HANDLE_MDMP_STREAM_TYPE(CODE, NAME)
17
#endif
18
 
19
#ifndef HANDLE_MDMP_ARCH
20
#define HANDLE_MDMP_ARCH(CODE, NAME)
21
#endif
22
 
23
#ifndef HANDLE_MDMP_PLATFORM
24
#define HANDLE_MDMP_PLATFORM(CODE, NAME)
25
#endif
26
 
27
#ifndef HANDLE_MDMP_PROTECT
28
#define HANDLE_MDMP_PROTECT(CODE, NAME, NATIVENAME)
29
#endif
30
 
31
#ifndef HANDLE_MDMP_MEMSTATE
32
#define HANDLE_MDMP_MEMSTATE(CODE, NAME, NATIVENAME)
33
#endif
34
 
35
#ifndef HANDLE_MDMP_MEMTYPE
36
#define HANDLE_MDMP_MEMTYPE(CODE, NAME, NATIVENAME)
37
#endif
38
 
39
HANDLE_MDMP_STREAM_TYPE(0x0003, ThreadList)
40
HANDLE_MDMP_STREAM_TYPE(0x0004, ModuleList)
41
HANDLE_MDMP_STREAM_TYPE(0x0005, MemoryList)
42
HANDLE_MDMP_STREAM_TYPE(0x0006, Exception)
43
HANDLE_MDMP_STREAM_TYPE(0x0007, SystemInfo)
44
HANDLE_MDMP_STREAM_TYPE(0x0008, ThreadExList)
45
HANDLE_MDMP_STREAM_TYPE(0x0009, Memory64List)
46
HANDLE_MDMP_STREAM_TYPE(0x000a, CommentA)
47
HANDLE_MDMP_STREAM_TYPE(0x000b, CommentW)
48
HANDLE_MDMP_STREAM_TYPE(0x000c, HandleData)
49
HANDLE_MDMP_STREAM_TYPE(0x000d, FunctionTable)
50
HANDLE_MDMP_STREAM_TYPE(0x000e, UnloadedModuleList)
51
HANDLE_MDMP_STREAM_TYPE(0x000f, MiscInfo)
52
HANDLE_MDMP_STREAM_TYPE(0x0010, MemoryInfoList)
53
HANDLE_MDMP_STREAM_TYPE(0x0011, ThreadInfoList)
54
HANDLE_MDMP_STREAM_TYPE(0x0012, HandleOperationList)
55
HANDLE_MDMP_STREAM_TYPE(0x0013, Token)
56
HANDLE_MDMP_STREAM_TYPE(0x0014, JavascriptData)
57
HANDLE_MDMP_STREAM_TYPE(0x0015, SystemMemoryInfo)
58
HANDLE_MDMP_STREAM_TYPE(0x0016, ProcessVMCounters)
59
// Breakpad extension types.  0x4767 = "Gg"
60
HANDLE_MDMP_STREAM_TYPE(0x47670001, BreakpadInfo)
61
HANDLE_MDMP_STREAM_TYPE(0x47670002, AssertionInfo)
62
// These are additional minidump stream values which are specific to the linux
63
// breakpad implementation.
64
HANDLE_MDMP_STREAM_TYPE(0x47670003, LinuxCPUInfo)    // /proc/cpuinfo
65
HANDLE_MDMP_STREAM_TYPE(0x47670004, LinuxProcStatus) // /proc/$x/status
66
HANDLE_MDMP_STREAM_TYPE(0x47670005, LinuxLSBRelease) // /etc/lsb-release
67
HANDLE_MDMP_STREAM_TYPE(0x47670006, LinuxCMDLine)    // /proc/$x/cmdline
68
HANDLE_MDMP_STREAM_TYPE(0x47670007, LinuxEnviron)    // /proc/$x/environ
69
HANDLE_MDMP_STREAM_TYPE(0x47670008, LinuxAuxv)       // /proc/$x/auxv
70
HANDLE_MDMP_STREAM_TYPE(0x47670009, LinuxMaps)       // /proc/$x/maps
71
HANDLE_MDMP_STREAM_TYPE(0x4767000A, LinuxDSODebug)
72
HANDLE_MDMP_STREAM_TYPE(0x4767000B, LinuxProcStat)   // /proc/$x/stat
73
HANDLE_MDMP_STREAM_TYPE(0x4767000C, LinuxProcUptime) // uptime
74
HANDLE_MDMP_STREAM_TYPE(0x4767000D, LinuxProcFD)     // /proc/$x/fd
75
// Facebook-defined stream types
76
HANDLE_MDMP_STREAM_TYPE(0xFACE1CA7, FacebookLogcat)
77
HANDLE_MDMP_STREAM_TYPE(0xFACECAFA, FacebookAppCustomData)
78
HANDLE_MDMP_STREAM_TYPE(0xFACECAFB, FacebookBuildID)
79
HANDLE_MDMP_STREAM_TYPE(0xFACECAFC, FacebookAppVersionName)
80
HANDLE_MDMP_STREAM_TYPE(0xFACECAFD, FacebookJavaStack)
81
HANDLE_MDMP_STREAM_TYPE(0xFACECAFE, FacebookDalvikInfo)
82
HANDLE_MDMP_STREAM_TYPE(0xFACECAFF, FacebookUnwindSymbols)
83
HANDLE_MDMP_STREAM_TYPE(0xFACECB00, FacebookDumpErrorLog)
84
HANDLE_MDMP_STREAM_TYPE(0xFACECCCC, FacebookAppStateLog)
85
HANDLE_MDMP_STREAM_TYPE(0xFACEDEAD, FacebookAbortReason)
86
HANDLE_MDMP_STREAM_TYPE(0xFACEE000, FacebookThreadName)
87
 
88
HANDLE_MDMP_ARCH(0x0000, X86)       // PROCESSOR_ARCHITECTURE_INTEL
89
HANDLE_MDMP_ARCH(0x0001, MIPS)      // PROCESSOR_ARCHITECTURE_MIPS
90
HANDLE_MDMP_ARCH(0x0002, Alpha)     // PROCESSOR_ARCHITECTURE_ALPHA
91
HANDLE_MDMP_ARCH(0x0003, PPC)       // PROCESSOR_ARCHITECTURE_PPC
92
HANDLE_MDMP_ARCH(0x0004, SHX)       // PROCESSOR_ARCHITECTURE_SHX (Super-H)
93
HANDLE_MDMP_ARCH(0x0005, ARM)       // PROCESSOR_ARCHITECTURE_ARM
94
HANDLE_MDMP_ARCH(0x0006, IA64)      // PROCESSOR_ARCHITECTURE_IA64
95
HANDLE_MDMP_ARCH(0x0007, Alpha64)   // PROCESSOR_ARCHITECTURE_ALPHA64
96
HANDLE_MDMP_ARCH(0x0008, MSIL)      // PROCESSOR_ARCHITECTURE_MSIL
97
HANDLE_MDMP_ARCH(0x0009, AMD64)     // PROCESSOR_ARCHITECTURE_AMD64
98
HANDLE_MDMP_ARCH(0x000a, X86Win64)  // PROCESSOR_ARCHITECTURE_IA32_ON_WIN64
99
HANDLE_MDMP_ARCH(0x000c, ARM64)     // PROCESSOR_ARCHITECTURE_ARM64
100
HANDLE_MDMP_ARCH(0x8001, BP_SPARC)  // Breakpad-defined value for SPARC
101
HANDLE_MDMP_ARCH(0x8002, BP_PPC64)  // Breakpad-defined value for PPC64
102
HANDLE_MDMP_ARCH(0x8003, BP_ARM64)  // Breakpad-defined value for ARM64
103
HANDLE_MDMP_ARCH(0x8004, BP_MIPS64) // Breakpad-defined value for MIPS64
104
 
105
HANDLE_MDMP_PLATFORM(0x0000, Win32S) // Win32 on Windows 3.1
106
HANDLE_MDMP_PLATFORM(0x0001, Win32Windows) // Windows 95-98-Me
107
HANDLE_MDMP_PLATFORM(0x0002, Win32NT) // Windows NT, 2000+
108
HANDLE_MDMP_PLATFORM(0x0003, Win32CE) // Windows CE, Windows Mobile, "Handheld"
109
// Breakpad-defined values.
110
HANDLE_MDMP_PLATFORM(0x8000, Unix) // Generic Unix-ish
111
HANDLE_MDMP_PLATFORM(0x8101, MacOSX) // Mac OS X/Darwin
112
HANDLE_MDMP_PLATFORM(0x8102, IOS) // iOS
113
HANDLE_MDMP_PLATFORM(0x8201, Linux) // Linux
114
HANDLE_MDMP_PLATFORM(0x8202, Solaris) // Solaris
115
HANDLE_MDMP_PLATFORM(0x8203, Android) // Android
116
HANDLE_MDMP_PLATFORM(0x8204, PS3) // PS3
117
HANDLE_MDMP_PLATFORM(0x8205, NaCl) // Native Client (NaCl)
118
 
119
HANDLE_MDMP_PROTECT(0x01, NoAccess, PAGE_NO_ACCESS)
120
HANDLE_MDMP_PROTECT(0x02, ReadOnly, PAGE_READ_ONLY)
121
HANDLE_MDMP_PROTECT(0x04, ReadWrite, PAGE_READ_WRITE)
122
HANDLE_MDMP_PROTECT(0x08, WriteCopy, PAGE_WRITE_COPY)
123
HANDLE_MDMP_PROTECT(0x10, Execute, PAGE_EXECUTE)
124
HANDLE_MDMP_PROTECT(0x20, ExecuteRead, PAGE_EXECUTE_READ)
125
HANDLE_MDMP_PROTECT(0x40, ExecuteReadWrite, PAGE_EXECUTE_READ_WRITE)
126
HANDLE_MDMP_PROTECT(0x80, ExeciteWriteCopy, PAGE_EXECUTE_WRITE_COPY)
127
HANDLE_MDMP_PROTECT(0x100, Guard, PAGE_GUARD)
128
HANDLE_MDMP_PROTECT(0x200, NoCache, PAGE_NOCACHE)
129
HANDLE_MDMP_PROTECT(0x400, WriteCombine, PAGE_WRITECOMBINE)
130
HANDLE_MDMP_PROTECT(0x40000000, TargetsInvalid, PAGE_TARGETS_INVALID)
131
 
132
HANDLE_MDMP_MEMSTATE(0x01000, Commit, MEM_COMMIT)
133
HANDLE_MDMP_MEMSTATE(0x02000, Reserve, MEM_RESERVE)
134
HANDLE_MDMP_MEMSTATE(0x10000, Free, MEM_FREE)
135
 
136
HANDLE_MDMP_MEMTYPE(0x0020000, Private, MEM_PRIVATE)
137
HANDLE_MDMP_MEMTYPE(0x0040000, Mapped, MEM_MAPPED)
138
HANDLE_MDMP_MEMTYPE(0x1000000, Image, MEM_IMAGE)
139
 
140
#undef HANDLE_MDMP_STREAM_TYPE
141
#undef HANDLE_MDMP_ARCH
142
#undef HANDLE_MDMP_PLATFORM
143
#undef HANDLE_MDMP_PROTECT
144
#undef HANDLE_MDMP_MEMSTATE
145
#undef HANDLE_MDMP_MEMTYPE