Home | History | Annotate | Download | only in BinaryFormat
      1 //,,,-- llvm/Support/MachO.def - The MachO file definitions -----*- C++ -*-,,,//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //,,,----------------------------------------------------------------------,,,//
      9 //
     10 // Definitions for MachO files
     11 //
     12 //,,,----------------------------------------------------------------------,,,//
     13 
     14 #ifdef HANDLE_LOAD_COMMAND
     15 
     16 HANDLE_LOAD_COMMAND(LC_SEGMENT, 0x00000001u, segment_command)
     17 HANDLE_LOAD_COMMAND(LC_SYMTAB, 0x00000002u, symtab_command)
     18 // LC_SYMSEG is obsolete and no longer supported.
     19 HANDLE_LOAD_COMMAND(LC_SYMSEG, 0x00000003u, symseg_command)
     20 HANDLE_LOAD_COMMAND(LC_THREAD, 0x00000004u, thread_command)
     21 HANDLE_LOAD_COMMAND(LC_UNIXTHREAD, 0x00000005u, thread_command)
     22 // LC_LOADFVMLIB is obsolete and no longer supported.
     23 HANDLE_LOAD_COMMAND(LC_LOADFVMLIB, 0x00000006u, fvmlib_command)
     24 // LC_IDFVMLIB is obsolete and no longer supported.
     25 HANDLE_LOAD_COMMAND(LC_IDFVMLIB, 0x00000007u, fvmlib_command)
     26 // LC_IDENT is obsolete and no longer supported.
     27 HANDLE_LOAD_COMMAND(LC_IDENT, 0x00000008u, ident_command)
     28 // LC_FVMFILE is obsolete and no longer supported.
     29 HANDLE_LOAD_COMMAND(LC_FVMFILE, 0x00000009u, fvmfile_command)
     30 // LC_PREPAGE is obsolete and no longer supported.
     31 HANDLE_LOAD_COMMAND(LC_PREPAGE, 0x0000000Au, load_command)
     32 HANDLE_LOAD_COMMAND(LC_DYSYMTAB, 0x0000000Bu, dysymtab_command)
     33 HANDLE_LOAD_COMMAND(LC_LOAD_DYLIB, 0x0000000Cu, dylib_command)
     34 HANDLE_LOAD_COMMAND(LC_ID_DYLIB, 0x0000000Du, dylib_command)
     35 HANDLE_LOAD_COMMAND(LC_LOAD_DYLINKER, 0x0000000Eu, dylinker_command)
     36 HANDLE_LOAD_COMMAND(LC_ID_DYLINKER, 0x0000000Fu, dylinker_command)
     37 // LC_PREBOUND_DYLIB is obsolete and no longer supported.
     38 HANDLE_LOAD_COMMAND(LC_PREBOUND_DYLIB, 0x00000010u, prebound_dylib_command)
     39 HANDLE_LOAD_COMMAND(LC_ROUTINES, 0x00000011u, routines_command)
     40 HANDLE_LOAD_COMMAND(LC_SUB_FRAMEWORK, 0x00000012u, sub_framework_command)
     41 HANDLE_LOAD_COMMAND(LC_SUB_UMBRELLA, 0x00000013u, sub_umbrella_command)
     42 HANDLE_LOAD_COMMAND(LC_SUB_CLIENT, 0x00000014u, sub_client_command)
     43 HANDLE_LOAD_COMMAND(LC_SUB_LIBRARY, 0x00000015u, sub_library_command)
     44 // LC_TWOLEVEL_HINTS is obsolete and no longer supported.
     45 HANDLE_LOAD_COMMAND(LC_TWOLEVEL_HINTS, 0x00000016u, twolevel_hints_command)
     46 // LC_PREBIND_CKSUM is obsolete and no longer supported.
     47 HANDLE_LOAD_COMMAND(LC_PREBIND_CKSUM, 0x00000017u, prebind_cksum_command)
     48 // LC_LOAD_WEAK_DYLIB is obsolete and no longer supported.
     49 HANDLE_LOAD_COMMAND(LC_LOAD_WEAK_DYLIB, 0x80000018u, dylib_command)
     50 HANDLE_LOAD_COMMAND(LC_SEGMENT_64, 0x00000019u, segment_command_64)
     51 HANDLE_LOAD_COMMAND(LC_ROUTINES_64, 0x0000001Au, routines_command_64)
     52 HANDLE_LOAD_COMMAND(LC_UUID, 0x0000001Bu, uuid_command)
     53 HANDLE_LOAD_COMMAND(LC_RPATH, 0x8000001Cu, rpath_command)
     54 HANDLE_LOAD_COMMAND(LC_CODE_SIGNATURE, 0x0000001Du, linkedit_data_command)
     55 HANDLE_LOAD_COMMAND(LC_SEGMENT_SPLIT_INFO, 0x0000001Eu, linkedit_data_command)
     56 HANDLE_LOAD_COMMAND(LC_REEXPORT_DYLIB, 0x8000001Fu, dylib_command)
     57 HANDLE_LOAD_COMMAND(LC_LAZY_LOAD_DYLIB, 0x00000020u, dylib_command)
     58 HANDLE_LOAD_COMMAND(LC_ENCRYPTION_INFO, 0x00000021u, encryption_info_command)
     59 HANDLE_LOAD_COMMAND(LC_DYLD_INFO, 0x00000022u, dyld_info_command)
     60 HANDLE_LOAD_COMMAND(LC_DYLD_INFO_ONLY, 0x80000022u, dyld_info_command)
     61 HANDLE_LOAD_COMMAND(LC_LOAD_UPWARD_DYLIB, 0x80000023u, dylib_command)
     62 HANDLE_LOAD_COMMAND(LC_VERSION_MIN_MACOSX, 0x00000024u, version_min_command)
     63 HANDLE_LOAD_COMMAND(LC_VERSION_MIN_IPHONEOS, 0x00000025u, version_min_command)
     64 HANDLE_LOAD_COMMAND(LC_FUNCTION_STARTS, 0x00000026u, linkedit_data_command)
     65 HANDLE_LOAD_COMMAND(LC_DYLD_ENVIRONMENT, 0x00000027u, dylinker_command)
     66 HANDLE_LOAD_COMMAND(LC_MAIN, 0x80000028u, entry_point_command)
     67 HANDLE_LOAD_COMMAND(LC_DATA_IN_CODE, 0x00000029u, linkedit_data_command)
     68 HANDLE_LOAD_COMMAND(LC_SOURCE_VERSION, 0x0000002Au, source_version_command)
     69 HANDLE_LOAD_COMMAND(LC_DYLIB_CODE_SIGN_DRS, 0x0000002Bu, linkedit_data_command)
     70 HANDLE_LOAD_COMMAND(LC_ENCRYPTION_INFO_64, 0x0000002Cu,
     71                     encryption_info_command_64)
     72 HANDLE_LOAD_COMMAND(LC_LINKER_OPTION, 0x0000002Du, linker_option_command)
     73 HANDLE_LOAD_COMMAND(LC_LINKER_OPTIMIZATION_HINT, 0x0000002Eu, linkedit_data_command)
     74 HANDLE_LOAD_COMMAND(LC_VERSION_MIN_TVOS, 0x0000002Fu, version_min_command)
     75 HANDLE_LOAD_COMMAND(LC_VERSION_MIN_WATCHOS, 0x00000030u, version_min_command)
     76 HANDLE_LOAD_COMMAND(LC_NOTE, 0x00000031u, note_command)
     77 HANDLE_LOAD_COMMAND(LC_BUILD_VERSION, 0x00000032u, build_version_command)
     78 
     79 #endif
     80 
     81 #ifdef LOAD_COMMAND_STRUCT
     82 
     83 LOAD_COMMAND_STRUCT(dyld_info_command)
     84 LOAD_COMMAND_STRUCT(dylib_command)
     85 LOAD_COMMAND_STRUCT(dylinker_command)
     86 LOAD_COMMAND_STRUCT(dysymtab_command)
     87 LOAD_COMMAND_STRUCT(encryption_info_command)
     88 LOAD_COMMAND_STRUCT(encryption_info_command_64)
     89 LOAD_COMMAND_STRUCT(entry_point_command)
     90 LOAD_COMMAND_STRUCT(fvmfile_command)
     91 LOAD_COMMAND_STRUCT(fvmlib_command)
     92 LOAD_COMMAND_STRUCT(ident_command)
     93 LOAD_COMMAND_STRUCT(linkedit_data_command)
     94 LOAD_COMMAND_STRUCT(linker_option_command)
     95 LOAD_COMMAND_STRUCT(load_command)
     96 LOAD_COMMAND_STRUCT(prebind_cksum_command)
     97 LOAD_COMMAND_STRUCT(prebound_dylib_command)
     98 LOAD_COMMAND_STRUCT(routines_command)
     99 LOAD_COMMAND_STRUCT(routines_command_64)
    100 LOAD_COMMAND_STRUCT(rpath_command)
    101 LOAD_COMMAND_STRUCT(segment_command)
    102 LOAD_COMMAND_STRUCT(segment_command_64)
    103 LOAD_COMMAND_STRUCT(source_version_command)
    104 LOAD_COMMAND_STRUCT(sub_client_command)
    105 LOAD_COMMAND_STRUCT(sub_framework_command)
    106 LOAD_COMMAND_STRUCT(sub_library_command)
    107 LOAD_COMMAND_STRUCT(sub_umbrella_command)
    108 LOAD_COMMAND_STRUCT(symseg_command)
    109 LOAD_COMMAND_STRUCT(symtab_command)
    110 LOAD_COMMAND_STRUCT(thread_command)
    111 LOAD_COMMAND_STRUCT(twolevel_hints_command)
    112 LOAD_COMMAND_STRUCT(uuid_command)
    113 LOAD_COMMAND_STRUCT(version_min_command)
    114 LOAD_COMMAND_STRUCT(note_command)
    115 LOAD_COMMAND_STRUCT(build_version_command)
    116 
    117 #endif
    118 
    119 #undef HANDLE_LOAD_COMMAND
    120 #undef LOAD_COMMAND_STRUCT
    121