# RUN: yaml2obj %s -o %T/a.out
# RUN: %lldb %T/a.out -o "image lookup --verbose --address 0x0000000100003fa1" -o exit | FileCheck %s --check-prefix=NOINLINE
# RUN: %lldb %T/a.out -o "image lookup --verbose --address 0x0000000100003fa2" -o exit | FileCheck %s --check-prefix=INLINE_1
# RUN: %lldb %T/a.out -o "image lookup --verbose --address 0x0000000100003fa8" -o exit | FileCheck %s --check-prefix=INLINE_2
# NOINLINE: Summary: a.out`main + 33 at main.cpp:10
# NOINLINE-NEXT: Module: file =
# INLINE_1: Summary: a.out`main + 34 [inlined] squares(int, int) at main.cpp:7:16
# INLINE_1-NEXT: a.out`main + 34 at main.cpp:11
# INLINE_1-NEXT: Module: file =
# INLINE_2: Summary: a.out`main + 40 [inlined] square(int) at main.cpp:3:9
# INLINE_2-NEXT: a.out`main + 40 [inlined] squares(int, int) + 6 at main.cpp:7
# INLINE_2-NEXT: a.out`main + 34 at main.cpp:11
# INLINE_2-NEXT: Module: file =
--- !mach-o
FileHeader:
magic: 0xFEEDFACF
cputype: 0x1000007
cpusubtype: 0x3
filetype: 0xA
ncmds: 7
sizeofcmds: 1400
flags: 0x0
reserved: 0x0
LoadCommands:
- cmd: LC_UUID
cmdsize: 24
uuid: E476BFB9-CC5C-34BC-B968-BF996B298060
- cmd: LC_BUILD_VERSION
cmdsize: 24
platform: 1
minos: 659200
sdk: 721152
ntools: 0
- cmd: LC_SYMTAB
cmdsize: 24
symoff: 4096
nsyms: 4
stroff: 4160
strsize: 54
- cmd: LC_SEGMENT_64
cmdsize: 72
segname: __PAGEZERO
vmaddr: 0
vmsize: 4294967296
fileoff: 0
filesize: 0
maxprot: 0
initprot: 0
nsects: 0
flags: 0
- cmd: LC_SEGMENT_64
cmdsize: 232
segname: __TEXT
vmaddr: 4294967296
vmsize: 16384
fileoff: 0
filesize: 0
maxprot: 5
initprot: 5
nsects: 2
flags: 0
Sections:
- sectname: __text
segname: __TEXT
addr: 0x100003F50
size: 100
offset: 0x0
align: 4
reloff: 0x0
nreloc: 0
flags: 0x80000400
reserved1: 0x0
reserved2: 0x0
reserved3: 0x0
content: CFFAEDFE07000001030000000A000000070000007805000000000000000000001B00000018000000E476BFB9CC5C34BCB968BF996B298060320000001800000001000000000F0A0000010B00000000000200000018000000001000000400000040100000
- sectname: __unwind_info
segname: __TEXT
addr: 0x100003FB4
size: 72
offset: 0x0
align: 2
reloff: 0x0
nreloc: 0
flags: 0x0
reserved1: 0x0
reserved2: 0x0
reserved3: 0x0
content: CFFAEDFE07000001030000000A000000070000007805000000000000000000001B00000018000000E476BFB9CC5C34BCB968BF996B298060320000001800000001000000000F0A00
- cmd: LC_SEGMENT_64
cmdsize: 72
segname: __LINKEDIT
vmaddr: 4294983680
vmsize: 4096
fileoff: 4096
filesize: 118
maxprot: 1
initprot: 1
nsects: 0
flags: 0
- cmd: LC_SEGMENT_64
cmdsize: 952
segname: __DWARF
vmaddr: 4294987776
vmsize: 4096
fileoff: 8192
filesize: 1530
maxprot: 7
initprot: 3
nsects: 11
flags: 0
Sections:
- sectname: __debug_line
segname: __DWARF
addr: 0x100005000
size: 130
offset: 0x2000
align: 0
reloff: 0x0
nreloc: 0
flags: 0x0
reserved1: 0x0
reserved2: 0x0
reserved3: 0x0
- sectname: __debug_pubnames
segname: __DWARF
addr: 0x100005082
size: 82
offset: 0x2082
align: 0
reloff: 0x0
nreloc: 0
flags: 0x0
reserved1: 0x0
reserved2: 0x0
reserved3: 0x0
- sectname: __debug_pubtypes
segname: __DWARF
addr: 0x1000050D4
size: 35
offset: 0x20D4
align: 0
reloff: 0x0
nreloc: 0
flags: 0x0
reserved1: 0x0
reserved2: 0x0
reserved3: 0x0
- sectname: __debug_aranges
segname: __DWARF
addr: 0x1000050F7
size: 64
offset: 0x20F7
align: 0
reloff: 0x0
nreloc: 0
flags: 0x0
reserved1: 0x0
reserved2: 0x0
reserved3: 0x0
- sectname: __debug_info
segname: __DWARF
addr: 0x100005137
size: 379
offset: 0x2137
align: 0
reloff: 0x0
nreloc: 0
flags: 0x0
reserved1: 0x0
reserved2: 0x0
reserved3: 0x0
- sectname: __debug_abbrev
segname: __DWARF
addr: 0x1000052B2
size: 173
offset: 0x22B2
align: 0
reloff: 0x0
nreloc: 0
flags: 0x0
reserved1: 0x0
reserved2: 0x0
reserved3: 0x0
- sectname: __debug_str
segname: __DWARF
addr: 0x10000535F
size: 285
offset: 0x235F
align: 0
reloff: 0x0
nreloc: 0
flags: 0x0
reserved1: 0x0
reserved2: 0x0
reserved3: 0x0
- sectname: __apple_names
segname: __DWARF
addr: 0x10000547C
size: 196
offset: 0x247C
align: 0
reloff: 0x0
nreloc: 0
flags: 0x0
reserved1: 0x0
reserved2: 0x0
reserved3: 0x0
content: 485341480100000005000000050000000C0000000000000001000000010006000000000001000000FFFFFFFF04000000FFFFFFFF4B79AFF92EECB8236A7F9A7C492D3CA816EA5E1C5C000000700000008800000098000000AC000000F000000002000000710000001C01000000000000D800000003000000320000009400000040010000000000000701000001000000D900000000000000FD00000002000000710000001C01000000000000E30000000300000032000000940000004001000000000000
- sectname: __apple_namespac
segname: __DWARF
addr: 0x100005540
size: 36
offset: 0x2540
align: 0
reloff: 0x0
nreloc: 0
flags: 0x0
reserved1: 0x0
reserved2: 0x0
reserved3: 0x0
content: 485341480100000001000000000000000C000000000000000100000001000600FFFFFFFF
- sectname: __apple_types
segname: __DWARF
addr: 0x100005564
size: 114
offset: 0x2564
align: 0
reloff: 0x0
nreloc: 0
flags: 0x0
reserved1: 0x0
reserved2: 0x0
reserved3: 0x0
content: 48534148010000000200000002000000180000000000000004000000010006000300050005000B000600060000000000010000003080880B6320957C440000005B000000EC000000010000006A000000240000A4283A0C0000000018010000010000006E01000024000057D77B9300000000
- sectname: __apple_objc
segname: __DWARF
addr: 0x1000055D6
size: 36
offset: 0x25D6
align: 0
reloff: 0x0
nreloc: 0
flags: 0x0
reserved1: 0x0
reserved2: 0x0
reserved3: 0x0
content: 485341480100000001000000000000000C000000000000000100000001000600FFFFFFFF
LinkEditData:
NameList:
- n_strx: 2
n_type: 0xF
n_sect: 1
n_desc: 0
n_value: 4294983504
- n_strx: 14
n_type: 0xF
n_sect: 1
n_desc: 0
n_value: 4294983520
- n_strx: 28
n_type: 0xF
n_sect: 1
n_desc: 16
n_value: 4294967296
- n_strx: 48
n_type: 0xF
n_sect: 1
n_desc: 0
n_value: 4294983552
StringTable:
- ''
- ''
- __Z6squarei
- __Z7squaresii
- __mh_execute_header
- _main
DWARF:
debug_str:
- ''
- 'Apple clang version 12.0.0 (clang-1200.0.32.29)'
- '../main.cpp'
- '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk'
- MacOSX11.1.sdk
- '/Users/gclayton/Documents/src/args/build'
- _Z6squarei
- square
- x
- int
- _Z7squaresii
- squares
- y
- main
- argc
- argv
- s
- char
debug_abbrev:
- ID: 0
Table:
- Code: 0x1
Tag: DW_TAG_compile_unit
Children: DW_CHILDREN_yes
Attributes:
- Attribute: DW_AT_producer
Form: DW_FORM_strp
- Attribute: DW_AT_language
Form: DW_FORM_data2
- Attribute: DW_AT_name
Form: DW_FORM_strp
- Attribute: DW_AT_LLVM_sysroot
Form: DW_FORM_strp
- Attribute: DW_AT_APPLE_sdk
Form: DW_FORM_strp
- Attribute: DW_AT_stmt_list
Form: DW_FORM_sec_offset
- Attribute: DW_AT_comp_dir
Form: DW_FORM_strp
- Attribute: DW_AT_low_pc
Form: DW_FORM_addr
- Attribute: DW_AT_high_pc
Form: DW_FORM_data4
- Code: 0x2
Tag: DW_TAG_subprogram
Children: DW_CHILDREN_yes
Attributes:
- Attribute: DW_AT_low_pc
Form: DW_FORM_addr
- Attribute: DW_AT_high_pc
Form: DW_FORM_data4
- Attribute: DW_AT_frame_base
Form: DW_FORM_exprloc
- Attribute: DW_AT_abstract_origin
Form: DW_FORM_ref_addr
- Code: 0x3
Tag: DW_TAG_formal_parameter
Children: DW_CHILDREN_no
Attributes:
- Attribute: DW_AT_location
Form: DW_FORM_exprloc
- Attribute: DW_AT_abstract_origin
Form: DW_FORM_ref_addr
- Code: 0x4
Tag: DW_TAG_subprogram
Children: DW_CHILDREN_yes
Attributes:
- Attribute: DW_AT_linkage_name
Form: DW_FORM_strp
- Attribute: DW_AT_name
Form: DW_FORM_strp
- Attribute: DW_AT_decl_file
Form: DW_FORM_data1
- Attribute: DW_AT_decl_line
Form: DW_FORM_data1
- Attribute: DW_AT_type
Form: DW_FORM_ref_addr
- Attribute: DW_AT_external
Form: DW_FORM_flag_present
- Attribute: DW_AT_inline
Form: DW_FORM_data1
- Code: 0x5
Tag: DW_TAG_formal_parameter
Children: DW_CHILDREN_no
Attributes:
- Attribute: DW_AT_name
Form: DW_FORM_strp
- Attribute: DW_AT_decl_file
Form: DW_FORM_data1
- Attribute: DW_AT_decl_line
Form: DW_FORM_data1
- Attribute: DW_AT_type
Form: DW_FORM_ref_addr
- Code: 0x6
Tag: DW_TAG_base_type
Children: DW_CHILDREN_no
Attributes:
- Attribute: DW_AT_name
Form: DW_FORM_strp
- Attribute: DW_AT_encoding
Form: DW_FORM_data1
- Attribute: DW_AT_byte_size
Form: DW_FORM_data1
- Code: 0x7
Tag: DW_TAG_inlined_subroutine
Children: DW_CHILDREN_yes
Attributes:
- Attribute: DW_AT_abstract_origin
Form: DW_FORM_ref_addr
- Attribute: DW_AT_low_pc
Form: DW_FORM_addr
- Attribute: DW_AT_high_pc
Form: DW_FORM_data4
- Attribute: DW_AT_call_file
Form: DW_FORM_data1
- Attribute: DW_AT_call_line
Form: DW_FORM_data1
- Attribute: DW_AT_call_column
Form: DW_FORM_data1
- Code: 0x8
Tag: DW_TAG_subprogram
Children: DW_CHILDREN_yes
Attributes:
- Attribute: DW_AT_low_pc
Form: DW_FORM_addr
- Attribute: DW_AT_high_pc
Form: DW_FORM_data4
- Attribute: DW_AT_frame_base
Form: DW_FORM_exprloc
- Attribute: DW_AT_name
Form: DW_FORM_strp
- Attribute: DW_AT_decl_file
Form: DW_FORM_data1
- Attribute: DW_AT_decl_line
Form: DW_FORM_data1
- Attribute: DW_AT_type
Form: DW_FORM_ref_addr
- Attribute: DW_AT_external
Form: DW_FORM_flag_present
- Code: 0x9
Tag: DW_TAG_formal_parameter
Children: DW_CHILDREN_no
Attributes:
- Attribute: DW_AT_location
Form: DW_FORM_exprloc
- Attribute: DW_AT_name
Form: DW_FORM_strp
- Attribute: DW_AT_decl_file
Form: DW_FORM_data1
- Attribute: DW_AT_decl_line
Form: DW_FORM_data1
- Attribute: DW_AT_type
Form: DW_FORM_ref_addr
- Code: 0xA
Tag: DW_TAG_variable
Children: DW_CHILDREN_no
Attributes:
- Attribute: DW_AT_location
Form: DW_FORM_exprloc
- Attribute: DW_AT_name
Form: DW_FORM_strp
- Attribute: DW_AT_decl_file
Form: DW_FORM_data1
- Attribute: DW_AT_decl_line
Form: DW_FORM_data1
- Attribute: DW_AT_type
Form: DW_FORM_ref_addr
- Code: 0xB
Tag: DW_TAG_pointer_type
Children: DW_CHILDREN_no
Attributes:
- Attribute: DW_AT_type
Form: DW_FORM_ref_addr
- Code: 0xC
Tag: DW_TAG_const_type
Children: DW_CHILDREN_no
Attributes:
- Attribute: DW_AT_type
Form: DW_FORM_ref_addr
debug_aranges:
- Length: 0x3C
Version: 2
CuOffset: 0x0
AddressSize: 0x8
Descriptors:
- Address: 0x100003F50
Length: 0x29
- Address: 0x100003F80
Length: 0x34
debug_pubnames:
Length: 0x4E
Version: 2
UnitOffset: 0
UnitSize: 379
Entries:
- DieOffset: 0x32
Name: _Z6squarei
- DieOffset: 0x32
Name: square
- DieOffset: 0x71
Name: _Z7squaresii
- DieOffset: 0x71
Name: squares
- DieOffset: 0xD9
Name: main
debug_pubtypes:
Length: 0x1F
Version: 2
UnitOffset: 0
UnitSize: 379
Entries:
- DieOffset: 0x6A
Name: int
- DieOffset: 0x16E
Name: char
debug_info:
- Length: 0x177
Version: 4
AbbrevTableID: 0
AbbrOffset: 0x0
AddrSize: 8
Entries:
- AbbrCode: 0x1
Values:
- Value: 0x1
- Value: 0x4
- Value: 0x31
- Value: 0x3D
- Value: 0xA0
- Value: 0x0
- Value: 0xAF
- Value: 0x100003F50
- Value: 0x64
- AbbrCode: 0x2
Values:
- Value: 0x100003F50
- Value: 0x10
- Value: 0x1
BlockData: [ 0x56 ]
- Value: 0x4E
- AbbrCode: 0x3
Values:
- Value: 0x2
BlockData: [ 0x91, 0x7C ]
- Value: 0x5E
- AbbrCode: 0x0
- AbbrCode: 0x4
Values:
- Value: 0xD8
- Value: 0xE3
- Value: 0x1
- Value: 0x2
- Value: 0x6A
- Value: 0x1
- Value: 0x1
- AbbrCode: 0x5
Values:
- Value: 0xEA
- Value: 0x1
- Value: 0x2
- Value: 0x6A
- AbbrCode: 0x0
- AbbrCode: 0x6
Values:
- Value: 0xEC
- Value: 0x5
- Value: 0x4
- AbbrCode: 0x2
Values:
- Value: 0x100003F60
- Value: 0x19
- Value: 0x1
BlockData: [ 0x56 ]
- Value: 0xB2
- AbbrCode: 0x3
Values:
- Value: 0x2
BlockData: [ 0x91, 0x78 ]
- Value: 0xC2
- AbbrCode: 0x3
Values:
- Value: 0x2
BlockData: [ 0x91, 0x74 ]
- Value: 0xCD
- AbbrCode: 0x7
Values:
- Value: 0x4E
- Value: 0x100003F70
- Value: 0x7
- Value: 0x1
- Value: 0x7
- Value: 0x9
- AbbrCode: 0x3
Values:
- Value: 0x2
BlockData: [ 0x91, 0x7C ]
- Value: 0x5E
- AbbrCode: 0x0
- AbbrCode: 0x0
- AbbrCode: 0x4
Values:
- Value: 0xF0
- Value: 0xFD
- Value: 0x1
- Value: 0x6
- Value: 0x6A
- Value: 0x1
- Value: 0x1
- AbbrCode: 0x5
Values:
- Value: 0xEA
- Value: 0x1
- Value: 0x6
- Value: 0x6A
- AbbrCode: 0x5
Values:
- Value: 0x105
- Value: 0x1
- Value: 0x6
- Value: 0x6A
- AbbrCode: 0x0
- AbbrCode: 0x8
Values:
- Value: 0x100003F80
- Value: 0x34
- Value: 0x1
BlockData: [ 0x56 ]
- Value: 0x107
- Value: 0x1
- Value: 0xA
- Value: 0x6A
- Value: 0x1
- AbbrCode: 0x9
Values:
- Value: 0x2
BlockData: [ 0x91, 0x6C ]
- Value: 0x10C
- Value: 0x1
- Value: 0xA
- Value: 0x6A
- AbbrCode: 0x9
Values:
- Value: 0x2
BlockData: [ 0x91, 0x60 ]
- Value: 0x111
- Value: 0x1
- Value: 0xA
- Value: 0x15F
- AbbrCode: 0xA
Values:
- Value: 0x2
BlockData: [ 0x91, 0x5C ]
- Value: 0x116
- Value: 0x1
- Value: 0xB
- Value: 0x175
- AbbrCode: 0x7
Values:
- Value: 0xB2
- Value: 0x100003FA2
- Value: 0xD
- Value: 0x1
- Value: 0xB
- Value: 0x10
- AbbrCode: 0x3
Values:
- Value: 0x2
BlockData: [ 0x91, 0x78 ]
- Value: 0xC2
- AbbrCode: 0x3
Values:
- Value: 0x2
BlockData: [ 0x91, 0x74 ]
- Value: 0xCD
- AbbrCode: 0x7
Values:
- Value: 0x4E
- Value: 0x100003FA8
- Value: 0x7
- Value: 0x1
- Value: 0x7
- Value: 0x9
- AbbrCode: 0x3
Values:
- Value: 0x2
BlockData: [ 0x91, 0x7C ]
- Value: 0x5E
- AbbrCode: 0x0
- AbbrCode: 0x0
- AbbrCode: 0x0
- AbbrCode: 0xB
Values:
- Value: 0x164
- AbbrCode: 0xB
Values:
- Value: 0x169
- AbbrCode: 0xC
Values:
- Value: 0x16E
- AbbrCode: 0x6
Values:
- Value: 0x118
- Value: 0x6
- Value: 0x1
- AbbrCode: 0xC
Values:
- Value: 0x6A
- AbbrCode: 0x0
debug_line:
- Length: 126
Version: 4
PrologueLength: 35
MinInstLength: 1
MaxOpsPerInst: 1
DefaultIsStmt: 1
LineBase: 251
LineRange: 14
OpcodeBase: 13
StandardOpcodeLengths: [ 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1 ]
IncludeDirs:
- ..
Files:
- Name: main.cpp
DirIdx: 1
ModTime: 0
Length: 0
Opcodes:
- Opcode: DW_LNS_extended_op
ExtLen: 9
SubOpcode: DW_LNE_set_address
Data: 4294983504
- Opcode: 0x13
Data: 0
- Opcode: DW_LNS_set_column
Data: 9
- Opcode: DW_LNS_set_prologue_end
Data: 0
- Opcode: 0x75
Data: 0
- Opcode: DW_LNS_set_column
Data: 10
- Opcode: DW_LNS_negate_stmt
Data: 0
- Opcode: 0x3C
Data: 0
- Opcode: DW_LNS_set_column
Data: 2
- Opcode: 0x4A
Data: 0
- Opcode: DW_LNS_set_column
Data: 0
- Opcode: DW_LNS_negate_stmt
Data: 0
- Opcode: 0x31
Data: 0
- Opcode: DW_LNS_set_column
Data: 16
- Opcode: DW_LNS_set_prologue_end
Data: 0
- Opcode: 0x9F
Data: 0
- Opcode: DW_LNS_set_column
Data: 9
- Opcode: 0x62
Data: 0
- Opcode: DW_LNS_set_column
Data: 10
- Opcode: DW_LNS_negate_stmt
Data: 0
- Opcode: 0x3C
Data: 0
- Opcode: DW_LNS_set_column
Data: 2
- Opcode: DW_LNS_negate_stmt
Data: 0
- Opcode: 0x4E
Data: 0
- Opcode: DW_LNS_advance_pc
Data: 2
- Opcode: DW_LNS_extended_op
ExtLen: 1
SubOpcode: DW_LNE_end_sequence
Data: 0
- Opcode: DW_LNS_extended_op
ExtLen: 9
SubOpcode: DW_LNE_set_address
Data: 4294983552
- Opcode: DW_LNS_advance_line
SData: 9
Data: 0
- Opcode: DW_LNS_copy
Data: 0
- Opcode: DW_LNS_set_column
Data: 16
- Opcode: DW_LNS_set_prologue_end
Data: 0
- Opcode: DW_LNS_const_add_pc
Data: 0
- Opcode: 0xFD
Data: 0
- Opcode: DW_LNS_set_column
Data: 9
- Opcode: 0x62
Data: 0
- Opcode: DW_LNS_set_column
Data: 10
- Opcode: DW_LNS_negate_stmt
Data: 0
- Opcode: 0x3C
Data: 0
- Opcode: DW_LNS_set_column
Data: 12
- Opcode: DW_LNS_negate_stmt
Data: 0
- Opcode: 0x52
Data: 0
- Opcode: DW_LNS_set_column
Data: 2
- Opcode: 0x3D
Data: 0
- Opcode: DW_LNS_advance_pc
Data: 2
- Opcode: DW_LNS_extended_op
ExtLen: 1
SubOpcode: DW_LNE_end_sequence
Data: 0
...