1/*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16#ifndef ECMASCRIPT_BASE_LLVM_HELPER_H
17#define ECMASCRIPT_BASE_LLVM_HELPER_H
18
19#undef MH_MAGIC
20#undef MH_CIGAM
21#undef MH_MAGIC_64
22#undef MH_CIGAM_64
23#undef FAT_MAGIC
24#undef FAT_CIGAM
25#undef FAT_MAGIC_64
26#undef FAT_CIGAM_64
27
28#undef MH_OBJECT
29#undef MH_EXECUTE
30#undef MH_FVMLIB
31#undef MH_CORE
32#undef MH_PRELOAD
33#undef MH_DYLIB
34#undef MH_DYLINKER
35#undef MH_BUNDLE
36#undef MH_DYLIB_STUB
37#undef MH_DSYM
38#undef MH_KEXT_BUNDLE
39
40#undef MH_NOUNDEFS
41#undef MH_INCRLINK
42#undef MH_DYLDLINK
43#undef MH_BINDATLOAD
44#undef MH_PREBOUND
45#undef MH_SPLIT_SEGS
46#undef MH_LAZY_INIT
47#undef MH_TWOLEVEL
48#undef MH_FORCE_FLAT
49#undef MH_NOMULTIDEFS
50#undef MH_NOFIXPREBINDING
51#undef MH_PREBINDABLE
52#undef MH_ALLMODSBOUND
53#undef MH_SUBSECTIONS_VIA_SYMBOLS
54#undef MH_CANONICAL
55#undef MH_WEAK_DEFINES
56#undef MH_BINDS_TO_WEAK
57#undef MH_ALLOW_STACK_EXECUTION
58#undef MH_ROOT_SAFE
59#undef MH_SETUID_SAFE
60#undef MH_NO_REEXPORTED_DYLIBS
61#undef MH_PIE
62#undef MH_DEAD_STRIPPABLE_DYLIB
63#undef MH_HAS_TLV_DESCRIPTORS
64#undef MH_NO_HEAP_EXECUTION
65#undef MH_APP_EXTENSION_SAFE
66#undef MH_NLIST_OUTOFSYNC_WITH_DYLDINFO
67#undef MH_SIM_SUPPORT
68#undef MH_DYLIB_IN_CACHE
69
70#undef LC_REQ_DYLD
71
72#undef LC_SEGMENT
73#undef LC_SYMTAB
74#undef LC_SYMSEG
75#undef LC_THREAD
76#undef LC_UNIXTHREAD
77#undef LC_LOADFVMLIB
78#undef LC_IDFVMLIB
79#undef LC_IDENT
80#undef LC_FVMFILE
81#undef LC_PREPAGE
82#undef LC_DYSYMTAB
83#undef LC_LOAD_DYLIB
84#undef LC_ID_DYLIB
85#undef LC_LOAD_DYLINKER
86#undef LC_ID_DYLINKER
87#undef LC_PREBOUND_DYLIB
88#undef LC_ROUTINES
89#undef LC_SUB_FRAMEWORK
90#undef LC_SUB_UMBRELLA
91#undef LC_SUB_CLIENT
92#undef LC_SUB_LIBRARY
93#undef LC_TWOLEVEL_HINTS
94#undef LC_PREBIND_CKSUM
95#undef LC_LOAD_WEAK_DYLIB
96#undef LC_SEGMENT_64
97#undef LC_ROUTINES_64
98#undef LC_UUID
99#undef LC_RPATH
100#undef LC_CODE_SIGNATURE
101#undef LC_SEGMENT_SPLIT_INFO
102#undef LC_REEXPORT_DYLIB
103#undef LC_LAZY_LOAD_DYLIB
104#undef LC_ENCRYPTION_INFO
105#undef LC_DYLD_INFO
106#undef LC_DYLD_INFO_ONLY
107#undef LC_LOAD_UPWARD_DYLIB
108#undef LC_VERSION_MIN_MACOSX
109#undef LC_VERSION_MIN_IPHONEOS
110#undef LC_FUNCTION_STARTS
111#undef LC_DYLD_ENVIRONMENT
112#undef LC_MAIN
113#undef LC_DATA_IN_CODE
114#undef LC_SOURCE_VERSION
115#undef LC_DYLIB_CODE_SIGN_DRS
116#undef LC_ENCRYPTION_INFO_64
117#undef LC_LINKER_OPTION
118#undef LC_LINKER_OPTIMIZATION_HINT
119#undef LC_VERSION_MIN_TVOS
120#undef LC_VERSION_MIN_WATCHOS
121#undef LC_NOTE
122#undef LC_BUILD_VERSION
123
124#undef SG_HIGHVM
125#undef SG_FVMLIB
126#undef SG_NORELOC
127#undef SG_PROTECTED_VERSION_1
128
129#undef SECTION_TYPE
130#undef SECTION_ATTRIBUTES
131#undef SECTION_ATTRIBUTES_USR
132#undef SECTION_ATTRIBUTES_SYS
133
134#undef S_REGULAR
135#undef S_ZEROFILL
136#undef S_CSTRING_LITERALS
137#undef S_4BYTE_LITERALS
138#undef S_8BYTE_LITERALS
139#undef S_LITERAL_POINTERS
140#undef S_NON_LAZY_SYMBOL_POINTERS
141#undef S_LAZY_SYMBOL_POINTERS
142#undef S_SYMBOL_STUBS
143#undef S_MOD_INIT_FUNC_POINTERS
144#undef S_MOD_TERM_FUNC_POINTERS
145#undef S_COALESCED
146#undef S_GB_ZEROFILL
147#undef S_INTERPOSING
148#undef S_16BYTE_LITERALS
149#undef S_DTRACE_DOF
150#undef S_LAZY_DYLIB_SYMBOL_POINTERS
151#undef S_THREAD_LOCAL_REGULAR
152#undef S_THREAD_LOCAL_ZEROFILL
153#undef S_THREAD_LOCAL_VARIABLES
154#undef S_THREAD_LOCAL_VARIABLE_POINTERS
155#undef S_THREAD_LOCAL_INIT_FUNCTION_POINTERS
156
157
158#undef S_ATTR_PURE_INSTRUCTIONS
159#undef S_ATTR_NO_TOC
160#undef S_ATTR_STRIP_STATIC_SYMS
161#undef S_ATTR_NO_DEAD_STRIP
162#undef S_ATTR_LIVE_SUPPORT
163#undef S_ATTR_SELF_MODIFYING_CODE
164#undef S_ATTR_DEBUG
165#undef S_ATTR_SOME_INSTRUCTIONS
166#undef S_ATTR_EXT_RELOC
167#undef S_ATTR_LOC_RELOC
168#undef INDIRECT_SYMBOL_LOCAL
169#undef INDIRECT_SYMBOL_ABS
170
171#undef DICE_KIND_DATA
172#undef DICE_KIND_JUMP_TABLE8
173#undef DICE_KIND_JUMP_TABLE16
174#undef DICE_KIND_JUMP_TABLE32
175#undef DICE_KIND_ABS_JUMP_TABLE32
176
177#undef REBASE_TYPE_POINTER
178#undef REBASE_TYPE_TEXT_ABSOLUTE32
179#undef REBASE_TYPE_TEXT_PCREL32
180
181#undef REBASE_OPCODE_MASK
182#undef REBASE_IMMEDIATE_MASK
183
184#undef REBASE_OPCODE_DONE
185#undef REBASE_OPCODE_SET_TYPE_IMM
186#undef REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB
187#undef REBASE_OPCODE_ADD_ADDR_ULEB
188#undef REBASE_OPCODE_ADD_ADDR_IMM_SCALED
189#undef REBASE_OPCODE_DO_REBASE_IMM_TIMES
190#undef REBASE_OPCODE_DO_REBASE_ULEB_TIMES
191#undef REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB
192#undef REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB
193
194#undef BIND_TYPE_POINTER
195#undef BIND_TYPE_TEXT_ABSOLUTE32
196#undef BIND_TYPE_TEXT_PCREL32
197
198#undef BIND_SPECIAL_DYLIB_SELF
199#undef BIND_SPECIAL_DYLIB_MAIN_EXECUTABLE
200#undef BIND_SPECIAL_DYLIB_FLAT_LOOKUP
201
202#undef BIND_SYMBOL_FLAGS_WEAK_IMPORT
203#undef BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION
204#undef BIND_OPCODE_MASK
205#undef BIND_IMMEDIATE_MASK
206
207#undef BIND_OPCODE_DONE
208#undef BIND_OPCODE_SET_DYLIB_ORDINAL_IMM
209#undef BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB
210#undef BIND_OPCODE_SET_DYLIB_SPECIAL_IMM
211#undef BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM
212#undef BIND_OPCODE_SET_TYPE_IMM
213#undef BIND_OPCODE_SET_ADDEND_SLEB
214#undef BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB
215#undef BIND_OPCODE_ADD_ADDR_ULEB
216#undef BIND_OPCODE_DO_BIND
217#undef BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB
218#undef BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED
219#undef BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB
220
221#undef EXPORT_SYMBOL_FLAGS_KIND_MASK
222#undef EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION
223#undef EXPORT_SYMBOL_FLAGS_REEXPORT
224#undef EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER
225
226#undef EXPORT_SYMBOL_FLAGS_KIND_REGULAR
227#undef EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL
228#undef EXPORT_SYMBOL_FLAGS_KIND_ABSOLUTE
229
230#undef VM_PROT_READ
231#undef VM_PROT_WRITE
232#undef VM_PROT_EXECUTE
233
234#undef PLATFORM_MACOS
235#undef PLATFORM_IOS
236#undef PLATFORM_TVOS
237#undef PLATFORM_WATCHOS
238#undef PLATFORM_BRIDGEOS
239#undef PLATFORM_MACCATALYST
240#undef PLATFORM_IOSSIMULATOR
241#undef PLATFORM_TVOSSIMULATOR
242#undef PLATFORM_WATCHOSSIMULATOR
243#undef PLATFORM_DRIVERKIT
244
245#undef TOOL_CLANG
246#undef TOOL_SWIFT
247#undef TOOL_LD
248
249#undef CPU_ARCH_MASK
250#undef CPU_ARCH_ABI64
251#undef CPU_ARCH_ABI64_32
252
253#undef CPU_TYPE_ANY
254#undef CPU_TYPE_X86
255#undef CPU_TYPE_I386
256#undef CPU_TYPE_X86_64
257#undef CPU_TYPE_MC98000
258#undef CPU_TYPE_ARM
259#undef CPU_TYPE_ARM64
260#undef CPU_TYPE_ARM64_32
261#undef CPU_TYPE_SPARC
262#undef CPU_TYPE_POWERPC
263#undef CPU_TYPE_POWERPC64
264
265#undef CPU_SUBTYPE_MASK
266#undef CPU_SUBTYPE_LIB64
267#undef CPU_SUBTYPE_MULTIPLE
268
269#undef CPU_SUBTYPE_I386_ALL
270#undef CPU_SUBTYPE_386
271#undef CPU_SUBTYPE_486
272#undef CPU_SUBTYPE_486SX
273#undef CPU_SUBTYPE_586
274#undef CPU_SUBTYPE_PENT
275#undef CPU_SUBTYPE_PENTPRO
276#undef CPU_SUBTYPE_PENTII_M3
277#undef CPU_SUBTYPE_PENTII_M5
278#undef CPU_SUBTYPE_CELERON
279#undef CPU_SUBTYPE_CELERON_MOBILE
280#undef CPU_SUBTYPE_PENTIUM_3
281#undef CPU_SUBTYPE_PENTIUM_3_M
282#undef CPU_SUBTYPE_PENTIUM_3_XEON
283#undef CPU_SUBTYPE_PENTIUM_M
284#undef CPU_SUBTYPE_PENTIUM_4
285#undef CPU_SUBTYPE_PENTIUM_4_M
286#undef CPU_SUBTYPE_ITANIUM
287#undef CPU_SUBTYPE_ITANIUM_2
288#undef CPU_SUBTYPE_XEON
289#undef CPU_SUBTYPE_XEON_MP
290#undef CPU_SUBTYPE_X86_ALL
291#undef CPU_SUBTYPE_X86_64_ALL
292#undef CPU_SUBTYPE_X86_ARCH1
293#undef CPU_SUBTYPE_X86_64_H
294
295#undef CPU_SUBTYPE_INTEL
296#undef CPU_SUBTYPE_INTEL_FAMILY
297#undef CPU_SUBTYPE_INTEL_MODEL
298
299#undef CPU_SUBTYPE_INTEL_FAMILY_MAX
300#undef CPU_SUBTYPE_INTEL_MODEL_ALL
301
302#undef CPU_SUBTYPE_ARM_ALL
303#undef CPU_SUBTYPE_ARM_V4T
304#undef CPU_SUBTYPE_ARM_V6
305#undef CPU_SUBTYPE_ARM_V5
306#undef CPU_SUBTYPE_ARM_V5TEJ
307#undef CPU_SUBTYPE_ARM_XSCALE
308#undef CPU_SUBTYPE_ARM_V7
309#undef CPU_SUBTYPE_ARM_V7S
310#undef CPU_SUBTYPE_ARM_V7K
311#undef CPU_SUBTYPE_ARM_V6M
312#undef CPU_SUBTYPE_ARM_V7M
313#undef CPU_SUBTYPE_ARM_V7EM
314
315#undef CPU_SUBTYPE_ARM64_ALL
316#undef CPU_SUBTYPE_ARM64_V8
317#undef CPU_SUBTYPE_ARM64E
318
319#undef CPU_SUBTYPE_ARM64_32_V8
320
321#undef CPU_SUBTYPE_SPARC_ALL
322
323#undef CPU_SUBTYPE_POWERPC_ALL
324#undef CPU_SUBTYPE_POWERPC_601
325#undef CPU_SUBTYPE_POWERPC_602
326#undef CPU_SUBTYPE_POWERPC_603
327#undef CPU_SUBTYPE_POWERPC_603e
328#undef CPU_SUBTYPE_POWERPC_603ev
329#undef CPU_SUBTYPE_POWERPC_604
330#undef CPU_SUBTYPE_POWERPC_604e
331#undef CPU_SUBTYPE_POWERPC_620
332#undef CPU_SUBTYPE_POWERPC_750
333#undef CPU_SUBTYPE_POWERPC_7400
334#undef CPU_SUBTYPE_POWERPC_7450
335#undef CPU_SUBTYPE_POWERPC_970
336#undef CPU_SUBTYPE_MC980000_ALL
337#undef CPU_SUBTYPE_MC98601
338
339#undef x86_FP_PREC_24B
340#undef x86_FP_PREC_53B
341#undef x86_FP_PREC_64B
342
343#undef x86_FP_RND_NEAR
344#undef x86_FP_RND_DOWN
345#undef x86_FP_RND_UP
346#undef x86_FP_CHOP
347
348#undef x86_THREAD_STATE32
349#undef x86_FLOAT_STATE32
350#undef x86_EXCEPTION_STATE32
351#undef x86_THREAD_STATE64
352#undef x86_FLOAT_STATE64
353#undef x86_EXCEPTION_STATE64
354#undef x86_THREAD_STATE
355#undef x86_FLOAT_STATE
356#undef x86_EXCEPTION_STATE
357#undef x86_DEBUG_STATE32
358#undef x86_DEBUG_STATE64
359#undef x86_DEBUG_STATE
360
361#undef x86_THREAD_STATE32_COUNT
362#undef x86_THREAD_STATE64_COUNT
363#undef x86_FLOAT_STATE64_COUNT
364#undef x86_EXCEPTION_STATE64_COUNT
365#undef x86_THREAD_STATE_COUNT
366#undef x86_FLOAT_STATE_COUNT
367#undef x86_EXCEPTION_STATE_COUNT
368
369#undef ARM_THREAD_STATE
370#undef ARM_THREAD_STATE_COUNT
371#undef ARN_THREAD_STATE_NONE
372#undef ARM_THREAD_STATE64
373#undef ARM_THREAD_STATE64_COUNT
374#undef ARM_VFP_STATE
375#undef ARM_EXCEPTION_STATE
376#undef ARM_DEBUG_STATE
377#undef ARM_EXCEPTION_STATE64
378
379
380#undef PPC_THREAD_STATE
381#undef PPC_FLOAT_STATE
382#undef PPC_EXCEPTION_STATE
383#undef PPC_VECTOR_STATE
384#undef PPC_THREAD_STATE64
385#undef PPC_EXCEPTION_STATE64
386#undef PPC_THREAD_STATE_NONE
387
388#endif  // ECMASCRIPT_BASE_LLVM_HELPER_H