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