1## Check how llvm-dwarfdump calculates section sizes 2## with --show-section-sizes for Mach-O objects. 3 4# RUN: yaml2obj %s | llvm-dwarfdump - --show-section-sizes \ 5# RUN: | FileCheck %s --match-full-lines --strict-whitespace 6 7# CHECK:---------------------------------------------------- 8# CHECK-NEXT:file: {{.*}} 9# CHECK-NEXT:---------------------------------------------------- 10# CHECK-NEXT:SECTION SIZE (b) 11# CHECK-NEXT:---------------- -------- 12# CHECK-NEXT:__debug_str 183 (9.78%) 13# CHECK-NEXT:__debug_abbrev 58 (3.10%) 14# CHECK-NEXT:__debug_info 83 (4.43%) 15# CHECK-NEXT:__apple_names 60 (3.21%) 16# CHECK-NEXT:__apple_objc 36 (1.92%) 17# CHECK-NEXT:__apple_namespac 36 (1.92%) 18# CHECK-NEXT:__apple_types 71 (3.79%) 19# CHECK-NEXT:__debug_line 61 (3.26%) 20# CHECK-EMPTY: 21# CHECK-NEXT: Total Size: 588 (31.41%) 22# CHECK-NEXT: Total File Size: 1872 23# CHECK-NEXT:---------------------------------------------------- 24 25--- !mach-o 26FileHeader: 27 magic: 0xFEEDFACF 28 cputype: 0x01000007 29 cpusubtype: 0x00000003 30 filetype: 0x00000001 31 ncmds: 4 32 sizeofcmds: 1080 33 flags: 0x00002000 34 reserved: 0x00000000 35LoadCommands: 36 - cmd: LC_SEGMENT_64 37 cmdsize: 952 38 segname: '' 39 vmaddr: 0 40 vmsize: 701 41 fileoff: 1112 42 filesize: 701 43 maxprot: 7 44 initprot: 7 45 nsects: 11 46 flags: 0 47 Sections: 48## This is a debug section following the ELF naming style, and is used 49## to show that such sections are not included in the report. 50 - sectname: .debug_line 51 segname: __DWARF 52 addr: 0x0000000000000000 53 size: 15 54 offset: 0x00000458 55 align: 4 56 reloff: 0x00000000 57 nreloc: 0 58 flags: 0x80000400 59 reserved1: 0x00000000 60 reserved2: 0x00000000 61 reserved3: 0x00000000 62 content: 554889E531C0C745FC000000005DC3 63 - sectname: __debug_str 64 segname: __DWARF 65 addr: 0x000000000000000F 66 size: 183 67 offset: 0x00000467 68 align: 0 69 reloff: 0x00000000 70 nreloc: 0 71 flags: 0x02000000 72 reserved1: 0x00000000 73 reserved2: 0x00000000 74 reserved3: 0x00000000 75 - sectname: __debug_abbrev 76 segname: __DWARF 77 addr: 0x00000000000000C6 78 size: 58 79 offset: 0x0000051E 80 align: 0 81 reloff: 0x00000000 82 nreloc: 0 83 flags: 0x02000000 84 reserved1: 0x00000000 85 reserved2: 0x00000000 86 reserved3: 0x00000000 87 - sectname: __debug_info 88 segname: __DWARF 89 addr: 0x0000000000000100 90 size: 83 91 offset: 0x00000558 92 align: 0 93 reloff: 0x00000718 94 nreloc: 2 95 flags: 0x02000000 96 reserved1: 0x00000000 97 reserved2: 0x00000000 98 reserved3: 0x00000000 99 relocations: 100 - address: 0x00000033 101 symbolnum: 1 102 pcrel: false 103 length: 3 104 extern: false 105 type: 0 106 scattered: false 107 value: 0 108 - address: 0x00000026 109 symbolnum: 1 110 pcrel: false 111 length: 3 112 extern: false 113 type: 0 114 scattered: false 115 value: 0 116 - sectname: __apple_names 117 segname: __DWARF 118 addr: 0x0000000000000153 119 size: 60 120 offset: 0x000005AB 121 align: 0 122 reloff: 0x00000000 123 nreloc: 0 124 flags: 0x02000000 125 reserved1: 0x00000000 126 reserved2: 0x00000000 127 reserved3: 0x00000000 128 content: 485341480100000001000000010000000C000000000000000100000001000600000000006A7F9A7C2C000000AE000000010000003200000000000000 129 - sectname: __apple_objc 130 segname: __DWARF 131 addr: 0x000000000000018F 132 size: 36 133 offset: 0x000005E7 134 align: 0 135 reloff: 0x00000000 136 nreloc: 0 137 flags: 0x02000000 138 reserved1: 0x00000000 139 reserved2: 0x00000000 140 reserved3: 0x00000000 141 content: 485341480100000001000000000000000C000000000000000100000001000600FFFFFFFF 142 - sectname: __apple_namespac 143 segname: __DWARF 144 addr: 0x00000000000001B3 145 size: 36 146 offset: 0x0000060B 147 align: 0 148 reloff: 0x00000000 149 nreloc: 0 150 flags: 0x02000000 151 reserved1: 0x00000000 152 reserved2: 0x00000000 153 reserved3: 0x00000000 154 content: 485341480100000001000000000000000C000000000000000100000001000600FFFFFFFF 155 - sectname: __apple_types 156 segname: __DWARF 157 addr: 0x00000000000001D7 158 size: 71 159 offset: 0x0000062F 160 align: 0 161 reloff: 0x00000000 162 nreloc: 0 163 flags: 0x02000000 164 reserved1: 0x00000000 165 reserved2: 0x00000000 166 reserved3: 0x00000000 167 content: 48534148010000000100000001000000140000000000000003000000010006000300050004000B00000000003080880B34000000B3000000010000004B00000024000000000000 168 - sectname: __compact_unwind 169 segname: __LD 170 addr: 0x0000000000000220 171 size: 32 172 offset: 0x00000678 173 align: 3 174 reloff: 0x00000728 175 nreloc: 1 176 flags: 0x02000000 177 reserved1: 0x00000000 178 reserved2: 0x00000000 179 reserved3: 0x00000000 180 content: 00000000000000000F0000000000000100000000000000000000000000000000 181 relocations: 182 - address: 0x00000000 183 symbolnum: 1 184 pcrel: false 185 length: 3 186 extern: false 187 type: 0 188 scattered: false 189 value: 0 190 - sectname: __eh_frame 191 segname: __TEXT 192 addr: 0x0000000000000240 193 size: 64 194 offset: 0x00000698 195 align: 3 196 reloff: 0x00000000 197 nreloc: 0 198 flags: 0x6800000B 199 reserved1: 0x00000000 200 reserved2: 0x00000000 201 reserved3: 0x00000000 202 content: 1400000000000000017A520001781001100C070890010000240000001C000000A0FDFFFFFFFFFFFF0F0000000000000000410E108602430D0600000000000000 203 - sectname: __debug_line 204 segname: __DWARF 205 addr: 0x0000000000000280 206 size: 61 207 offset: 0x000006D8 208 align: 0 209 reloff: 0x00000730 210 nreloc: 1 211 flags: 0x02000000 212 reserved1: 0x00000000 213 reserved2: 0x00000000 214 reserved3: 0x00000000 215 relocations: 216 - address: 0x0000002B 217 symbolnum: 1 218 pcrel: false 219 length: 3 220 extern: false 221 type: 0 222 scattered: false 223 value: 0 224 - cmd: LC_BUILD_VERSION 225 cmdsize: 24 226 platform: 1 227 minos: 720896 228 sdk: 720896 229 ntools: 0 230 - cmd: LC_SYMTAB 231 cmdsize: 24 232 symoff: 1848 233 nsyms: 1 234 stroff: 1864 235 strsize: 8 236 - cmd: LC_DYSYMTAB 237 cmdsize: 80 238 ilocalsym: 0 239 nlocalsym: 0 240 iextdefsym: 0 241 nextdefsym: 1 242 iundefsym: 1 243 nundefsym: 0 244 tocoff: 0 245 ntoc: 0 246 modtaboff: 0 247 nmodtab: 0 248 extrefsymoff: 0 249 nextrefsyms: 0 250 indirectsymoff: 0 251 nindirectsyms: 0 252 extreloff: 0 253 nextrel: 0 254 locreloff: 0 255 nlocrel: 0 256LinkEditData: 257 NameList: 258 - n_strx: 1 259 n_type: 0x0F 260 n_sect: 1 261 n_desc: 0 262 n_value: 0 263 StringTable: 264 - '' 265 - _main 266 - '' 267... 268