## Check how llvm-dwarfdump calculates section sizes
## with --show-section-sizes for Mach-O objects.
# RUN: yaml2obj %s | llvm-dwarfdump - --show-section-sizes \
# RUN: | FileCheck %s --match-full-lines --strict-whitespace
# CHECK:----------------------------------------------------
# CHECK-NEXT:file: {{.*}}
# CHECK-NEXT:----------------------------------------------------
# CHECK-NEXT:SECTION SIZE (b)
# CHECK-NEXT:---------------- --------
# CHECK-NEXT:__debug_str 183 (9.78%)
# CHECK-NEXT:__debug_abbrev 58 (3.10%)
# CHECK-NEXT:__debug_info 83 (4.43%)
# CHECK-NEXT:__apple_names 60 (3.21%)
# CHECK-NEXT:__apple_objc 36 (1.92%)
# CHECK-NEXT:__apple_namespac 36 (1.92%)
# CHECK-NEXT:__apple_types 71 (3.79%)
# CHECK-NEXT:__debug_line 61 (3.26%)
# CHECK-EMPTY:
# CHECK-NEXT: Total Size: 588 (31.41%)
# CHECK-NEXT: Total File Size: 1872
# CHECK-NEXT:----------------------------------------------------
--- !mach-o
FileHeader:
magic: 0xFEEDFACF
cputype: 0x01000007
cpusubtype: 0x00000003
filetype: 0x00000001
ncmds: 4
sizeofcmds: 1080
flags: 0x00002000
reserved: 0x00000000
LoadCommands:
- cmd: LC_SEGMENT_64
cmdsize: 952
segname: ''
vmaddr: 0
vmsize: 701
fileoff: 1112
filesize: 701
maxprot: 7
initprot: 7
nsects: 11
flags: 0
Sections:
## This is a debug section following the ELF naming style, and is used
## to show that such sections are not included in the report.
- sectname: .debug_line
segname: __DWARF
addr: 0x0000000000000000
size: 15
offset: 0x00000458
align: 4
reloff: 0x00000000
nreloc: 0
flags: 0x80000400
reserved1: 0x00000000
reserved2: 0x00000000
reserved3: 0x00000000
content: 554889E531C0C745FC000000005DC3
- sectname: __debug_str
segname: __DWARF
addr: 0x000000000000000F
size: 183
offset: 0x00000467
align: 0
reloff: 0x00000000
nreloc: 0
flags: 0x02000000
reserved1: 0x00000000
reserved2: 0x00000000
reserved3: 0x00000000
- sectname: __debug_abbrev
segname: __DWARF
addr: 0x00000000000000C6
size: 58
offset: 0x0000051E
align: 0
reloff: 0x00000000
nreloc: 0
flags: 0x02000000
reserved1: 0x00000000
reserved2: 0x00000000
reserved3: 0x00000000
- sectname: __debug_info
segname: __DWARF
addr: 0x0000000000000100
size: 83
offset: 0x00000558
align: 0
reloff: 0x00000718
nreloc: 2
flags: 0x02000000
reserved1: 0x00000000
reserved2: 0x00000000
reserved3: 0x00000000
relocations:
- address: 0x00000033
symbolnum: 1
pcrel: false
length: 3
extern: false
type: 0
scattered: false
value: 0
- address: 0x00000026
symbolnum: 1
pcrel: false
length: 3
extern: false
type: 0
scattered: false
value: 0
- sectname: __apple_names
segname: __DWARF
addr: 0x0000000000000153
size: 60
offset: 0x000005AB
align: 0
reloff: 0x00000000
nreloc: 0
flags: 0x02000000
reserved1: 0x00000000
reserved2: 0x00000000
reserved3: 0x00000000
content: 485341480100000001000000010000000C000000000000000100000001000600000000006A7F9A7C2C000000AE000000010000003200000000000000
- sectname: __apple_objc
segname: __DWARF
addr: 0x000000000000018F
size: 36
offset: 0x000005E7
align: 0
reloff: 0x00000000
nreloc: 0
flags: 0x02000000
reserved1: 0x00000000
reserved2: 0x00000000
reserved3: 0x00000000
content: 485341480100000001000000000000000C000000000000000100000001000600FFFFFFFF
- sectname: __apple_namespac
segname: __DWARF
addr: 0x00000000000001B3
size: 36
offset: 0x0000060B
align: 0
reloff: 0x00000000
nreloc: 0
flags: 0x02000000
reserved1: 0x00000000
reserved2: 0x00000000
reserved3: 0x00000000
content: 485341480100000001000000000000000C000000000000000100000001000600FFFFFFFF
- sectname: __apple_types
segname: __DWARF
addr: 0x00000000000001D7
size: 71
offset: 0x0000062F
align: 0
reloff: 0x00000000
nreloc: 0
flags: 0x02000000
reserved1: 0x00000000
reserved2: 0x00000000
reserved3: 0x00000000
content: 48534148010000000100000001000000140000000000000003000000010006000300050004000B00000000003080880B34000000B3000000010000004B00000024000000000000
- sectname: __compact_unwind
segname: __LD
addr: 0x0000000000000220
size: 32
offset: 0x00000678
align: 3
reloff: 0x00000728
nreloc: 1
flags: 0x02000000
reserved1: 0x00000000
reserved2: 0x00000000
reserved3: 0x00000000
content: 00000000000000000F0000000000000100000000000000000000000000000000
relocations:
- address: 0x00000000
symbolnum: 1
pcrel: false
length: 3
extern: false
type: 0
scattered: false
value: 0
- sectname: __eh_frame
segname: __TEXT
addr: 0x0000000000000240
size: 64
offset: 0x00000698
align: 3
reloff: 0x00000000
nreloc: 0
flags: 0x6800000B
reserved1: 0x00000000
reserved2: 0x00000000
reserved3: 0x00000000
content: 1400000000000000017A520001781001100C070890010000240000001C000000A0FDFFFFFFFFFFFF0F0000000000000000410E108602430D0600000000000000
- sectname: __debug_line
segname: __DWARF
addr: 0x0000000000000280
size: 61
offset: 0x000006D8
align: 0
reloff: 0x00000730
nreloc: 1
flags: 0x02000000
reserved1: 0x00000000
reserved2: 0x00000000
reserved3: 0x00000000
relocations:
- address: 0x0000002B
symbolnum: 1
pcrel: false
length: 3
extern: false
type: 0
scattered: false
value: 0
- cmd: LC_BUILD_VERSION
cmdsize: 24
platform: 1
minos: 720896
sdk: 720896
ntools: 0
- cmd: LC_SYMTAB
cmdsize: 24
symoff: 1848
nsyms: 1
stroff: 1864
strsize: 8
- cmd: LC_DYSYMTAB
cmdsize: 80
ilocalsym: 0
nlocalsym: 0
iextdefsym: 0
nextdefsym: 1
iundefsym: 1
nundefsym: 0
tocoff: 0
ntoc: 0
modtaboff: 0
nmodtab: 0
extrefsymoff: 0
nextrefsyms: 0
indirectsymoff: 0
nindirectsyms: 0
extreloff: 0
nextrel: 0
locreloff: 0
nlocrel: 0
LinkEditData:
NameList:
- n_strx: 1
n_type: 0x0F
n_sect: 1
n_desc: 0
n_value: 0
StringTable:
- ''
- _main
- ''
...