1--- !mach-o 2FileHeader: 3 magic: 0xFEEDFACF 4 cputype: 0x100000C 5 cpusubtype: 0x0 6 filetype: 0x2 7 ncmds: 15 8 sizeofcmds: 728 9 flags: 0x200085 10 reserved: 0x0 11LoadCommands: 12 - cmd: LC_SEGMENT_64 13 cmdsize: 72 14 segname: __PAGEZERO 15 vmaddr: 0 16 vmsize: 4294967296 17 fileoff: 0 18 filesize: 0 19 maxprot: 0 20 initprot: 0 21 nsects: 0 22 flags: 0 23 - cmd: LC_SEGMENT_64 24 cmdsize: 232 25 segname: __TEXT 26 vmaddr: 4294967296 27 vmsize: 16384 28 fileoff: 0 29 filesize: 16384 30 maxprot: 5 31 initprot: 5 32 nsects: 2 33 flags: 0 34 Sections: 35 - sectname: __text 36 segname: __TEXT 37 addr: 0x100003F80 38 size: 48 39 offset: 0x3F80 40 align: 2 41 reloff: 0x0 42 nreloc: 0 43 flags: 0x80000400 44 reserved1: 0x0 45 reserved2: 0x0 46 reserved3: 0x0 47 content: C0035FD6FF8300D1FD7B01A9FD43009108008052E80B00B9BFC31FB8F9FFFF97E00B40B9FD7B41A9FF830091C0035FD6 48 - sectname: __unwind_info 49 segname: __TEXT 50 addr: 0x100003FB0 51 size: 80 52 offset: 0x3FB0 53 align: 2 54 reloff: 0x0 55 nreloc: 0 56 flags: 0x0 57 reserved1: 0x0 58 reserved2: 0x0 59 reserved3: 0x0 60 content: 010000001C000000000000001C000000000000001C00000002000000803F00003400000034000000B13F00000000000034000000030000000C0002001400020000000001040000000000000400000002 61 - cmd: LC_SEGMENT_64 62 cmdsize: 72 63 segname: __LINKEDIT 64 vmaddr: 4294983680 65 vmsize: 16384 66 fileoff: 16384 67 filesize: 208 68 maxprot: 1 69 initprot: 1 70 nsects: 0 71 flags: 0 72 - cmd: LC_DYLD_CHAINED_FIXUPS 73 cmdsize: 16 74 dataoff: 16384 75 datasize: 56 76 - cmd: LC_DYLD_EXPORTS_TRIE 77 cmdsize: 16 78 dataoff: 16440 79 datasize: 56 80 - cmd: LC_SYMTAB 81 cmdsize: 24 82 symoff: 16504 83 nsyms: 3 84 stroff: 16552 85 strsize: 40 86 - cmd: LC_DYSYMTAB 87 cmdsize: 80 88 ilocalsym: 0 89 nlocalsym: 0 90 iextdefsym: 0 91 nextdefsym: 3 92 iundefsym: 3 93 nundefsym: 0 94 tocoff: 0 95 ntoc: 0 96 modtaboff: 0 97 nmodtab: 0 98 extrefsymoff: 0 99 nextrefsyms: 0 100 indirectsymoff: 0 101 nindirectsyms: 0 102 extreloff: 0 103 nextrel: 0 104 locreloff: 0 105 nlocrel: 0 106 - cmd: LC_LOAD_DYLINKER 107 cmdsize: 32 108 name: 12 109 Content: '/usr/lib/dyld' 110 ZeroPadBytes: 7 111 - cmd: LC_UUID 112 cmdsize: 24 113 uuid: E1953271-0EDC-3009-9BED-635C8BB3DFE7 114 - cmd: LC_BUILD_VERSION 115 cmdsize: 32 116 platform: 1 117 minos: 786432 118 sdk: 786688 119 ntools: 1 120 Tools: 121 - tool: 3 122 version: 46596096 123 - cmd: LC_SOURCE_VERSION 124 cmdsize: 16 125 version: 0 126 - cmd: LC_MAIN 127 cmdsize: 24 128 entryoff: 16260 129 stacksize: 0 130 - cmd: LC_LOAD_DYLIB 131 cmdsize: 56 132 dylib: 133 name: 24 134 timestamp: 2 135 current_version: 85917696 136 compatibility_version: 65536 137 Content: '/usr/lib/libSystem.B.dylib' 138 ZeroPadBytes: 6 139 - cmd: LC_FUNCTION_STARTS 140 cmdsize: 16 141 dataoff: 16496 142 datasize: 8 143 - cmd: LC_DATA_IN_CODE 144 cmdsize: 16 145 dataoff: 16504 146 datasize: 0 147LinkEditData: 148 NameList: 149 - n_strx: 2 150 n_type: 0xF 151 n_sect: 1 152 n_desc: 16 153 n_value: 4294967296 154 - n_strx: 22 155 n_type: 0xF 156 n_sect: 1 157 n_desc: 0 158 n_value: 4294983552 159 - n_strx: 27 160 n_type: 0xF 161 n_sect: 1 162 n_desc: 0 163 n_value: 4294983556 164 StringTable: 165 - ' ' 166 - __mh_execute_header 167 - _foo 168 - _main 169 - '' 170 - '' 171 - '' 172 - '' 173 - '' 174 - '' 175 - '' 176 FunctionStarts: [ 0x3F80, 0x3F84 ] 177... 178 179# RUN: yaml2obj %s -o=%t 180# RUN: obj2yaml %t | FileCheck %s 181# CHECK: FunctionStarts: [ 0x3F80, 0x3F84 ] 182 183# RUN: llvm-objdump --macho --function-starts %t | FileCheck %s --check-prefix=OBJDUMP-VERIFY 184# OBJDUMP-VERIFY: function_starts.yaml.tmp: 185# OBJDUMP-VERIFY: 0000000100003f80 186# OBJDUMP-VERIFY: 0000000100003f84 187