1 | //===-- SafeMachO.h -----------------------------------*- 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 | #ifndef LLDB_HOST_SAFEMACHO_H |
9 | #define LLDB_HOST_SAFEMACHO_H |
10 | |
11 | // This header file is required to work around collisions between the defines |
12 | // in mach/machine.h, and enum members of the same name in llvm's MachO.h. If |
13 | // you want to use llvm/Support/MachO.h, use this file instead. The caveats |
14 | // are: 1) You can only use the MachO.h enums, you can't use the defines. That |
15 | // won't make a difference since the values |
16 | // are the same. |
17 | // 2) If you need any header file that relies on mach/machine.h, you must |
18 | // include that first. 3) This isn't a total solution, it doesn't undef every |
19 | // define that MachO.h has borrowed from various system headers, |
20 | // only the ones that come from mach/machine.h because that is the one we |
21 | // ended up pulling in from various places. |
22 | // |
23 | |
24 | #undef CPU_ARCH_MASK |
25 | #undef CPU_ARCH_ABI64 |
26 | #undef CPU_ARCH_ABI64_32 |
27 | |
28 | #undef CPU_TYPE_ANY |
29 | #undef CPU_TYPE_X86 |
30 | #undef CPU_TYPE_I386 |
31 | #undef CPU_TYPE_X86_64 |
32 | #undef CPU_TYPE_MC98000 |
33 | #undef CPU_TYPE_ARM |
34 | #undef CPU_TYPE_ARM64 |
35 | #undef CPU_TYPE_ARM64_32 |
36 | #undef CPU_TYPE_SPARC |
37 | #undef CPU_TYPE_POWERPC |
38 | #undef CPU_TYPE_POWERPC64 |
39 | |
40 | #undef CPU_SUBTYPE_MASK |
41 | #undef CPU_SUBTYPE_LIB64 |
42 | |
43 | #undef CPU_SUBTYPE_MULTIPLE |
44 | |
45 | #undef CPU_SUBTYPE_I386_ALL |
46 | #undef CPU_SUBTYPE_386 |
47 | #undef CPU_SUBTYPE_486 |
48 | #undef CPU_SUBTYPE_486SX |
49 | #undef CPU_SUBTYPE_586 |
50 | #undef CPU_SUBTYPE_PENT |
51 | #undef CPU_SUBTYPE_PENTPRO |
52 | #undef CPU_SUBTYPE_PENTII_M3 |
53 | #undef CPU_SUBTYPE_PENTII_M5 |
54 | #undef CPU_SUBTYPE_CELERON |
55 | #undef CPU_SUBTYPE_CELERON_MOBILE |
56 | #undef CPU_SUBTYPE_PENTIUM_3 |
57 | #undef CPU_SUBTYPE_PENTIUM_3_M |
58 | #undef CPU_SUBTYPE_PENTIUM_3_XEON |
59 | #undef CPU_SUBTYPE_PENTIUM_M |
60 | #undef CPU_SUBTYPE_PENTIUM_4 |
61 | #undef CPU_SUBTYPE_PENTIUM_4_M |
62 | #undef CPU_SUBTYPE_ITANIUM |
63 | #undef CPU_SUBTYPE_ITANIUM_2 |
64 | #undef CPU_SUBTYPE_XEON |
65 | #undef CPU_SUBTYPE_XEON_MP |
66 | |
67 | #undef CPU_SUBTYPE_X86_ALL |
68 | #undef CPU_SUBTYPE_X86_64_ALL |
69 | #undef CPU_SUBTYPE_X86_ARCH1 |
70 | #undef CPU_SUBTYPE_X86_64_H |
71 | |
72 | #undef CPU_SUBTYPE_INTEL |
73 | #undef CPU_SUBTYPE_INTEL_FAMILY |
74 | #undef CPU_SUBTYPE_INTEL_FAMILY_MAX |
75 | #undef CPU_SUBTYPE_INTEL_MODEL |
76 | #undef CPU_SUBTYPE_INTEL_MODEL_ALL |
77 | |
78 | #undef CPU_SUBTYPE_ARM |
79 | #undef CPU_SUBTYPE_ARM_ALL |
80 | #undef CPU_SUBTYPE_ARM_V4T |
81 | #undef CPU_SUBTYPE_ARM_V6 |
82 | #undef CPU_SUBTYPE_ARM_V5 |
83 | #undef CPU_SUBTYPE_ARM_V5TEJ |
84 | #undef CPU_SUBTYPE_ARM_XSCALE |
85 | #undef CPU_SUBTYPE_ARM_V7 |
86 | |
87 | #undef CPU_SUBTYPE_ARM_V7S |
88 | #undef CPU_SUBTYPE_ARM_V7K |
89 | #undef CPU_SUBTYPE_ARM_V6M |
90 | #undef CPU_SUBTYPE_ARM_V7M |
91 | #undef CPU_SUBTYPE_ARM_V7EM |
92 | |
93 | #undef CPU_SUBTYPE_ARM64E |
94 | #undef CPU_SUBTYPE_ARM64_32_V8 |
95 | #undef CPU_SUBTYPE_ARM64_V8 |
96 | #undef CPU_SUBTYPE_ARM64_ALL |
97 | |
98 | #undef CPU_SUBTYPE_SPARC_ALL |
99 | |
100 | #undef CPU_SUBTYPE_POWERPC |
101 | #undef CPU_SUBTYPE_POWERPC_ALL |
102 | #undef CPU_SUBTYPE_POWERPC_601 |
103 | #undef CPU_SUBTYPE_POWERPC_602 |
104 | #undef CPU_SUBTYPE_POWERPC_603 |
105 | #undef CPU_SUBTYPE_POWERPC_603e |
106 | #undef CPU_SUBTYPE_POWERPC_603ev |
107 | #undef CPU_SUBTYPE_POWERPC_604 |
108 | #undef CPU_SUBTYPE_POWERPC_604e |
109 | #undef CPU_SUBTYPE_POWERPC_620 |
110 | #undef CPU_SUBTYPE_POWERPC_750 |
111 | #undef CPU_SUBTYPE_POWERPC_7400 |
112 | #undef CPU_SUBTYPE_POWERPC_7450 |
113 | #undef CPU_SUBTYPE_POWERPC_970 |
114 | |
115 | #undef CPU_SUBTYPE_MC980000_ALL |
116 | #undef CPU_SUBTYPE_MC98601 |
117 | |
118 | #undef VM_PROT_READ |
119 | #undef VM_PROT_WRITE |
120 | #undef VM_PROT_EXECUTE |
121 | |
122 | #undef ARM_DEBUG_STATE |
123 | #undef ARM_EXCEPTION_STATE |
124 | #undef ARM_EXCEPTION_STATE64 |
125 | #undef ARM_EXCEPTION_STATE64_COUNT |
126 | #undef ARM_THREAD_STATE |
127 | #undef ARM_THREAD_STATE64 |
128 | #undef ARM_THREAD_STATE64_COUNT |
129 | #undef ARM_THREAD_STATE_COUNT |
130 | #undef ARM_VFP_STATE |
131 | #undef ARN_THREAD_STATE_NONE |
132 | #undef PPC_EXCEPTION_STATE |
133 | #undef PPC_EXCEPTION_STATE64 |
134 | #undef PPC_FLOAT_STATE |
135 | #undef PPC_THREAD_STATE |
136 | #undef PPC_THREAD_STATE64 |
137 | #undef PPC_THREAD_STATE_NONE |
138 | #undef PPC_VECTOR_STATE |
139 | #undef x86_DEBUG_STATE |
140 | #undef x86_DEBUG_STATE32 |
141 | #undef x86_DEBUG_STATE64 |
142 | #undef x86_EXCEPTION_STATE |
143 | #undef x86_EXCEPTION_STATE32 |
144 | #undef x86_EXCEPTION_STATE64 |
145 | #undef x86_EXCEPTION_STATE64_COUNT |
146 | #undef x86_EXCEPTION_STATE_COUNT |
147 | #undef x86_FLOAT_STATE |
148 | #undef x86_FLOAT_STATE32 |
149 | #undef x86_FLOAT_STATE64 |
150 | #undef x86_FLOAT_STATE64_COUNT |
151 | #undef x86_FLOAT_STATE_COUNT |
152 | #undef x86_THREAD_STATE |
153 | #undef x86_THREAD_STATE32 |
154 | #undef x86_THREAD_STATE32_COUNT |
155 | #undef x86_THREAD_STATE64 |
156 | #undef x86_THREAD_STATE64_COUNT |
157 | #undef x86_THREAD_STATE_COUNT |
158 | |
159 | #include "llvm/BinaryFormat/MachO.h" |
160 | |
161 | #endif // LLDB_HOST_SAFEMACHO_H |
162 | |