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