1# RUN: yaml2obj %s -o %t 2# RUN: llvm-objdump -p %t | FileCheck %s 3# RUN: llvm-otool -l %t | FileCheck %s 4# 5# CHECK: LC_ATOM_INFO 6# 7# Created with: 8# echo 'void foo() {}' > foo.c 9# clang -dynamiclib foo.c -Wl,-make_mergeable -Wl,-no_adhoc_codesign 10 11--- !mach-o 12FileHeader: 13 magic: 0xFEEDFACF 14 cputype: 0x100000C 15 cpusubtype: 0x0 16 filetype: 0x6 17 ncmds: 14 18 sizeofcmds: 648 19 flags: 0x100085 20 reserved: 0x0 21LoadCommands: 22 - cmd: LC_SEGMENT_64 23 cmdsize: 232 24 segname: __TEXT 25 vmaddr: 0 26 vmsize: 16384 27 fileoff: 0 28 filesize: 16384 29 maxprot: 5 30 initprot: 5 31 nsects: 2 32 flags: 0 33 Sections: 34 - sectname: __text 35 segname: __TEXT 36 addr: 0x3FB8 37 size: 4 38 offset: 0x3FB8 39 align: 2 40 reloff: 0x0 41 nreloc: 0 42 flags: 0x80000400 43 reserved1: 0x0 44 reserved2: 0x0 45 reserved3: 0x0 46 content: C0035FD6 47 - sectname: __unwind_info 48 segname: __TEXT 49 addr: 0x3FBC 50 size: 68 51 offset: 0x3FBC 52 align: 2 53 reloff: 0x0 54 nreloc: 0 55 flags: 0x0 56 reserved1: 0x0 57 reserved2: 0x0 58 reserved3: 0x0 59 content: 010000001C000000000000001C000000000000001C00000002000000B83F00003400000034000000BD3F000000000000340000000200000008000100B83F000000000002 60 - cmd: LC_SEGMENT_64 61 cmdsize: 72 62 segname: __LINKEDIT 63 vmaddr: 16384 64 vmsize: 16384 65 fileoff: 16384 66 filesize: 592 67 maxprot: 1 68 initprot: 1 69 nsects: 0 70 flags: 0 71 - cmd: LC_ID_DYLIB 72 cmdsize: 32 73 dylib: 74 name: 24 75 timestamp: 1 76 current_version: 0 77 compatibility_version: 0 78 Content: obj 79 ZeroPadBytes: 5 80 - cmd: LC_DYLD_CHAINED_FIXUPS 81 cmdsize: 16 82 dataoff: 16384 83 datasize: 56 84 - cmd: LC_DYLD_EXPORTS_TRIE 85 cmdsize: 16 86 dataoff: 16440 87 datasize: 24 88 - cmd: LC_SYMTAB 89 cmdsize: 24 90 symoff: 16952 91 nsyms: 1 92 stroff: 16968 93 strsize: 8 94 - cmd: LC_DYSYMTAB 95 cmdsize: 80 96 ilocalsym: 0 97 nlocalsym: 0 98 iextdefsym: 0 99 nextdefsym: 1 100 iundefsym: 1 101 nundefsym: 0 102 tocoff: 0 103 ntoc: 0 104 modtaboff: 0 105 nmodtab: 0 106 extrefsymoff: 0 107 nextrefsyms: 0 108 indirectsymoff: 0 109 nindirectsyms: 0 110 extreloff: 0 111 nextrel: 0 112 locreloff: 0 113 nlocrel: 0 114 - cmd: LC_UUID 115 cmdsize: 24 116 uuid: F30F2ED6-99E3-3BF0-B9A9-A4DAEEF9EA65 117 - cmd: LC_BUILD_VERSION 118 cmdsize: 32 119 platform: 1 120 minos: 851968 121 sdk: 917504 122 ntools: 1 123 Tools: 124 - tool: 3 125 version: 66062080 126 - cmd: LC_SOURCE_VERSION 127 cmdsize: 16 128 version: 0 129 - cmd: LC_LOAD_DYLIB 130 cmdsize: 56 131 dylib: 132 name: 24 133 timestamp: 2 134 current_version: 87556096 135 compatibility_version: 65536 136 Content: '/usr/lib/libSystem.B.dylib' 137 ZeroPadBytes: 6 138 - cmd: LC_FUNCTION_STARTS 139 cmdsize: 16 140 dataoff: 16464 141 datasize: 8 142 - cmd: LC_DATA_IN_CODE 143 cmdsize: 16 144 dataoff: 16472 145 datasize: 0 146 - cmd: LC_ATOM_INFO 147 cmdsize: 16 148 dataoff: 16472 149 datasize: 480 150LinkEditData: 151 ExportTrie: 152 TerminalSize: 0 153 NodeOffset: 0 154 Name: '' 155 Flags: 0x0 156 Address: 0x0 157 Other: 0x0 158 ImportName: '' 159 Children: 160 - TerminalSize: 0 161 NodeOffset: 12 162 Name: _foo 163 Flags: 0x0 164 Address: 0x0 165 Other: 0x0 166 ImportName: '' 167 NameList: 168 - n_strx: 2 169 n_type: 0xF 170 n_sect: 1 171 n_desc: 0 172 n_value: 16312 173 StringTable: 174 - ' ' 175 - _foo 176 - '' 177 FunctionStarts: [ 0x3FB8 ] 178 ChainedFixups: [ 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x30, 0x0, 179 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 180 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 181 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 182 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 183 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 ] 184... 185