Updates: - The previous patch changed the default behavior to not load dwos in `DWARFUnit` ~~`SymbolFileDWARFDwo *GetDwoSymbolFile(bool load_all_debug_info = false);`~~ `SymbolFileDWARFDwo *GetDwoSymbolFile(bool load_all_debug_info = true);` - This broke some lldb-shell tests (see https://green.lab.llvm.org/green/view/LLDB/job/as-lldb-cmake/16273/) - TestDebugInfoSize.py - with symbol on-demand, by default statistics dump only reports skeleton debug info size - `statistics dump -f` will load all dwos. debug info = skeleton debug info + all dwo debug info Currently running `statistics dump` will trigger lldb to load debug info that's not yet loaded (eg. dwo files). Resulted in a delay in the command return, which, can be interrupting. This patch also added a new option `--load-all-debug-info` asking statistics to dump all possible debug info, which will force loading all debug info available if not yet loaded.
544 lines
19 KiB
YAML
544 lines
19 KiB
YAML
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_EXEC
|
|
Machine: EM_X86_64
|
|
Entry: 0x401020
|
|
ProgramHeaders:
|
|
- Type: PT_PHDR
|
|
Flags: [ PF_R ]
|
|
VAddr: 0x400040
|
|
Align: 0x8
|
|
- Type: PT_INTERP
|
|
Flags: [ PF_R ]
|
|
FirstSec: .interp
|
|
LastSec: .interp
|
|
VAddr: 0x400318
|
|
- Type: PT_LOAD
|
|
Flags: [ PF_R ]
|
|
FirstSec: .interp
|
|
LastSec: .rela.dyn
|
|
VAddr: 0x400000
|
|
Align: 0x1000
|
|
- Type: PT_LOAD
|
|
Flags: [ PF_X, PF_R ]
|
|
FirstSec: .init
|
|
LastSec: .fini
|
|
VAddr: 0x401000
|
|
Align: 0x1000
|
|
- Type: PT_LOAD
|
|
Flags: [ PF_R ]
|
|
FirstSec: .rodata
|
|
LastSec: .eh_frame
|
|
VAddr: 0x402000
|
|
Align: 0x1000
|
|
- Type: PT_LOAD
|
|
Flags: [ PF_W, PF_R ]
|
|
FirstSec: .init_array
|
|
LastSec: .bss
|
|
VAddr: 0x403DF8
|
|
Align: 0x1000
|
|
- Type: PT_DYNAMIC
|
|
Flags: [ PF_W, PF_R ]
|
|
FirstSec: .dynamic
|
|
LastSec: .dynamic
|
|
VAddr: 0x403E08
|
|
Align: 0x8
|
|
- Type: PT_NOTE
|
|
Flags: [ PF_R ]
|
|
FirstSec: .note.gnu.property
|
|
LastSec: .note.gnu.property
|
|
VAddr: 0x400338
|
|
Align: 0x8
|
|
- Type: PT_NOTE
|
|
Flags: [ PF_R ]
|
|
FirstSec: .note.gnu.build-id
|
|
LastSec: .note.ABI-tag
|
|
VAddr: 0x400358
|
|
Align: 0x4
|
|
- Type: PT_GNU_PROPERTY
|
|
Flags: [ PF_R ]
|
|
FirstSec: .note.gnu.property
|
|
LastSec: .note.gnu.property
|
|
VAddr: 0x400338
|
|
Align: 0x8
|
|
- Type: PT_GNU_EH_FRAME
|
|
Flags: [ PF_R ]
|
|
FirstSec: .eh_frame_hdr
|
|
LastSec: .eh_frame_hdr
|
|
VAddr: 0x402010
|
|
Align: 0x4
|
|
- Type: PT_GNU_STACK
|
|
Flags: [ PF_W, PF_R ]
|
|
Align: 0x10
|
|
- Type: PT_GNU_RELRO
|
|
Flags: [ PF_R ]
|
|
FirstSec: .init_array
|
|
LastSec: .got.plt
|
|
VAddr: 0x403DF8
|
|
Sections:
|
|
- Name: .interp
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x400318
|
|
AddressAlign: 0x1
|
|
Content: 2F6C696236342F6C642D6C696E75782D7838362D36342E736F2E3200
|
|
- Name: .note.gnu.property
|
|
Type: SHT_NOTE
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x400338
|
|
AddressAlign: 0x8
|
|
Notes:
|
|
- Name: GNU
|
|
Desc: 028000C0040000000300000000000000
|
|
Type: NT_GNU_PROPERTY_TYPE_0
|
|
- Name: .note.gnu.build-id
|
|
Type: SHT_NOTE
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x400358
|
|
AddressAlign: 0x4
|
|
Notes:
|
|
- Name: GNU
|
|
Desc: 85D91301922FA88F7A5C60D2002CC1421377E935
|
|
Type: NT_PRPSINFO
|
|
- Name: .note.ABI-tag
|
|
Type: SHT_NOTE
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x40037C
|
|
AddressAlign: 0x4
|
|
Notes:
|
|
- Name: GNU
|
|
Desc: '00000000030000000200000000000000'
|
|
Type: NT_VERSION
|
|
- Name: .gnu.hash
|
|
Type: SHT_GNU_HASH
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x4003A0
|
|
Link: .dynsym
|
|
AddressAlign: 0x8
|
|
Header:
|
|
SymNdx: 0x1
|
|
Shift2: 0x0
|
|
BloomFilter: [ 0x0 ]
|
|
HashBuckets: [ 0x0 ]
|
|
HashValues: [ ]
|
|
- Name: .dynsym
|
|
Type: SHT_DYNSYM
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x4003C0
|
|
Link: .dynstr
|
|
AddressAlign: 0x8
|
|
- Name: .dynstr
|
|
Type: SHT_STRTAB
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x400438
|
|
AddressAlign: 0x1
|
|
- Name: .gnu.version
|
|
Type: SHT_GNU_versym
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x4004CC
|
|
Link: .dynsym
|
|
AddressAlign: 0x2
|
|
Entries: [ 0, 2, 1, 1, 1 ]
|
|
- Name: .gnu.version_r
|
|
Type: SHT_GNU_verneed
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x4004D8
|
|
Link: .dynstr
|
|
AddressAlign: 0x8
|
|
Dependencies:
|
|
- Version: 1
|
|
File: libc.so.6
|
|
Entries:
|
|
- Name: GLIBC_2.34
|
|
Hash: 110530996
|
|
Flags: 0
|
|
Other: 2
|
|
- Name: .rela.dyn
|
|
Type: SHT_RELA
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x4004F8
|
|
Link: .dynsym
|
|
AddressAlign: 0x8
|
|
Relocations:
|
|
- Offset: 0x403FC8
|
|
Symbol: __libc_start_main
|
|
Type: R_X86_64_GLOB_DAT
|
|
- Offset: 0x403FD0
|
|
Symbol: _ITM_deregisterTMCloneTable
|
|
Type: R_X86_64_GLOB_DAT
|
|
- Offset: 0x403FD8
|
|
Symbol: __gmon_start__
|
|
Type: R_X86_64_GLOB_DAT
|
|
- Offset: 0x403FE0
|
|
Symbol: _ITM_registerTMCloneTable
|
|
Type: R_X86_64_GLOB_DAT
|
|
- Name: .init
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
|
|
Address: 0x401000
|
|
AddressAlign: 0x4
|
|
Offset: 0x1000
|
|
Content: F30F1EFA4883EC08488B05C92F00004885C07402FFD04883C408C3
|
|
- Name: .text
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
|
|
Address: 0x401020
|
|
AddressAlign: 0x10
|
|
Content: F30F1EFA31ED4989D15E4889E24883E4F050544531C031C948C7C720114000FF15832F0000F4662E0F1F840000000000F30F1EFAC3662E0F1F84000000000090488D3DA12F0000488D059A2F00004839F87415488B05562F00004885C07409FFE00F1F8000000000C30F1F8000000000488D3D712F0000488D356A2F00004829FE4889F048C1EE3F48C1F8034801C648D1FE7414488B05252F00004885C07408FFE0660F1F440000C30F1F8000000000F30F1EFA803D292F0000007513554889E5E87AFFFFFFC605172F0000015DC390C366662E0F1F8400000000000F1F4000F30F1EFAEB8A662E0F1F840000000000554889E55DC3662E0F1F840000000000554889E54883EC10C745FC00000000E8DCFFFFFF31C04883C4105DC3
|
|
- Name: .fini
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
|
|
Address: 0x40113C
|
|
AddressAlign: 0x4
|
|
Content: F30F1EFA4883EC084883C408C3
|
|
- Name: .rodata
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x402000
|
|
AddressAlign: 0x8
|
|
Offset: 0x2000
|
|
Content: '01000200000000000000000000000000'
|
|
- Name: .eh_frame_hdr
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x402010
|
|
AddressAlign: 0x4
|
|
Content: 011B033B2C0000000400000010F0FFFF4800000040F0FFFF5C00000000F1FFFF7000000010F1FFFF90000000
|
|
- Name: .eh_frame
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC ]
|
|
Address: 0x402040
|
|
AddressAlign: 0x8
|
|
Content: 1400000000000000017A5200017810011B0C070890010000100000001C000000C0EFFFFF26000000004407101000000030000000DCEFFFFF05000000000000001C0000004400000088F0FFFF0600000000410E108602430D06410C07080000001C0000006400000078F0FFFF1C00000000410E108602430D06570C070800000000000000
|
|
- Name: .init_array
|
|
Type: SHT_INIT_ARRAY
|
|
Flags: [ SHF_WRITE, SHF_ALLOC ]
|
|
Address: 0x403DF8
|
|
AddressAlign: 0x8
|
|
EntSize: 0x8
|
|
Offset: 0x2DF8
|
|
Content: '0011400000000000'
|
|
- Name: .fini_array
|
|
Type: SHT_FINI_ARRAY
|
|
Flags: [ SHF_WRITE, SHF_ALLOC ]
|
|
Address: 0x403E00
|
|
AddressAlign: 0x8
|
|
EntSize: 0x8
|
|
Content: D010400000000000
|
|
- Name: .dynamic
|
|
Type: SHT_DYNAMIC
|
|
Flags: [ SHF_WRITE, SHF_ALLOC ]
|
|
Address: 0x403E08
|
|
Link: .dynstr
|
|
AddressAlign: 0x8
|
|
Entries:
|
|
- Tag: DT_NEEDED
|
|
Value: 0x58
|
|
- Tag: DT_NEEDED
|
|
Value: 0x67
|
|
- Tag: DT_NEEDED
|
|
Value: 0x71
|
|
- Tag: DT_NEEDED
|
|
Value: 0x7F
|
|
- Tag: DT_INIT
|
|
Value: 0x401000
|
|
- Tag: DT_FINI
|
|
Value: 0x40113C
|
|
- Tag: DT_INIT_ARRAY
|
|
Value: 0x403DF8
|
|
- Tag: DT_INIT_ARRAYSZ
|
|
Value: 0x8
|
|
- Tag: DT_FINI_ARRAY
|
|
Value: 0x403E00
|
|
- Tag: DT_FINI_ARRAYSZ
|
|
Value: 0x8
|
|
- Tag: DT_GNU_HASH
|
|
Value: 0x4003A0
|
|
- Tag: DT_STRTAB
|
|
Value: 0x400438
|
|
- Tag: DT_SYMTAB
|
|
Value: 0x4003C0
|
|
- Tag: DT_STRSZ
|
|
Value: 0x94
|
|
- Tag: DT_SYMENT
|
|
Value: 0x18
|
|
- Tag: DT_DEBUG
|
|
Value: 0x0
|
|
- Tag: DT_RELA
|
|
Value: 0x4004F8
|
|
- Tag: DT_RELASZ
|
|
Value: 0x60
|
|
- Tag: DT_RELAENT
|
|
Value: 0x18
|
|
- Tag: DT_VERNEED
|
|
Value: 0x4004D8
|
|
- Tag: DT_VERNEEDNUM
|
|
Value: 0x1
|
|
- Tag: DT_VERSYM
|
|
Value: 0x4004CC
|
|
- Tag: DT_NULL
|
|
Value: 0x0
|
|
- Tag: DT_NULL
|
|
Value: 0x0
|
|
- Tag: DT_NULL
|
|
Value: 0x0
|
|
- Tag: DT_NULL
|
|
Value: 0x0
|
|
- Tag: DT_NULL
|
|
Value: 0x0
|
|
- Tag: DT_NULL
|
|
Value: 0x0
|
|
- Name: .got
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_WRITE, SHF_ALLOC ]
|
|
Address: 0x403FC8
|
|
AddressAlign: 0x8
|
|
EntSize: 0x8
|
|
Content: '0000000000000000000000000000000000000000000000000000000000000000'
|
|
- Name: .got.plt
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_WRITE, SHF_ALLOC ]
|
|
Address: 0x403FE8
|
|
AddressAlign: 0x8
|
|
EntSize: 0x8
|
|
Content: '083E40000000000000000000000000000000000000000000'
|
|
- Name: .data
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_WRITE, SHF_ALLOC ]
|
|
Address: 0x404000
|
|
AddressAlign: 0x1
|
|
Content: '00000000'
|
|
- Name: .bss
|
|
Type: SHT_NOBITS
|
|
Flags: [ SHF_WRITE, SHF_ALLOC ]
|
|
Address: 0x404004
|
|
AddressAlign: 0x1
|
|
Size: 0x4
|
|
- Name: .comment
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_MERGE, SHF_STRINGS ]
|
|
AddressAlign: 0x1
|
|
EntSize: 0x1
|
|
Content: 4743433A2028474E55292031312E342E312032303233303630352028526564204861742031312E342E312D3229004743433A2028474E55292031332E322E312032303233313230352028526564204861742031332E322E312D362900636C616E672076657273696F6E2031372E302E36202843656E744F532031372E302E362D342E656C392900
|
|
- Name: .gnu.build.attributes
|
|
Type: SHT_NOTE
|
|
Address: 0x406008
|
|
AddressAlign: 0x4
|
|
Notes:
|
|
- Name: "GA$\x013a1"
|
|
Desc: '20104000000000004610400000000000'
|
|
Type: NT_GNU_BUILD_ATTRIBUTE_OPEN
|
|
- Name: "GA$\x013a1"
|
|
Desc: '55104000000000005510400000000000'
|
|
Type: NT_GNU_BUILD_ATTRIBUTE_OPEN
|
|
- Name: "GA$\x013a1"
|
|
Desc: '00104000000000001610400000000000'
|
|
Type: NT_GNU_BUILD_ATTRIBUTE_OPEN
|
|
- Name: "GA$\x013a1"
|
|
Desc: 3C114000000000004411400000000000
|
|
Type: NT_GNU_BUILD_ATTRIBUTE_OPEN
|
|
- Name: "GA$\x013a1"
|
|
Desc: '60104000000000000611400000000000'
|
|
Type: NT_GNU_BUILD_ATTRIBUTE_OPEN
|
|
- Name: "GA$\x013a1"
|
|
Desc: 3C114000000000003C11400000000000
|
|
Type: NT_GNU_BUILD_ATTRIBUTE_OPEN
|
|
- Name: "GA$\x013a1"
|
|
Desc: 3C114000000000003C11400000000000
|
|
Type: NT_GNU_BUILD_ATTRIBUTE_OPEN
|
|
- Name: "GA$\x013a1"
|
|
Desc: 16104000000000001B10400000000000
|
|
Type: NT_GNU_BUILD_ATTRIBUTE_OPEN
|
|
- Name: "GA$\x013a1"
|
|
Desc: '44114000000000004911400000000000'
|
|
Type: NT_GNU_BUILD_ATTRIBUTE_OPEN
|
|
- Name: .debug_info
|
|
Type: SHT_PROGBITS
|
|
AddressAlign: 0x1
|
|
Content: 2C000000040000000000080100000000000000000E000000939F5FCB7816797B10114000000000002C00000000000000
|
|
- Name: .debug_abbrev
|
|
Type: SHT_PROGBITS
|
|
AddressAlign: 0x1
|
|
Content: 01110010171B0EB44219B0420EB1420711011206B34217000000
|
|
- Name: .debug_line
|
|
Type: SHT_PROGBITS
|
|
AddressAlign: 0x1
|
|
Content: 47000000040020000000010101FB0E0D000101010100000001000001006D61696E2E637070000000000000090210114000000000000105050A0B4B0500BD05050AE559060B2E0206000101
|
|
- Name: .debug_addr
|
|
Type: SHT_PROGBITS
|
|
AddressAlign: 0x1
|
|
Content: '10114000000000002011400000000000'
|
|
- Name: .debug_gnu_pubnames
|
|
Type: SHT_PROGBITS
|
|
AddressAlign: 0x1
|
|
Content: 21000000020000000000300000001900000030666F6F0025000000306D61696E0000000000
|
|
- Name: .debug_gnu_pubtypes
|
|
Type: SHT_PROGBITS
|
|
AddressAlign: 0x1
|
|
Content: '17000000020000000000300000003400000090696E740000000000'
|
|
Symbols:
|
|
- Name: crt1.o
|
|
Type: STT_FILE
|
|
Index: SHN_ABS
|
|
- Name: __abi_tag
|
|
Type: STT_OBJECT
|
|
Section: .note.ABI-tag
|
|
Value: 0x40037C
|
|
Size: 0x20
|
|
- Name: crtstuff.c
|
|
Type: STT_FILE
|
|
Index: SHN_ABS
|
|
- Name: deregister_tm_clones
|
|
Type: STT_FUNC
|
|
Section: .text
|
|
Value: 0x401060
|
|
- Name: register_tm_clones
|
|
Type: STT_FUNC
|
|
Section: .text
|
|
Value: 0x401090
|
|
- Name: __do_global_dtors_aux
|
|
Type: STT_FUNC
|
|
Section: .text
|
|
Value: 0x4010D0
|
|
- Name: completed.0
|
|
Type: STT_OBJECT
|
|
Section: .bss
|
|
Value: 0x404004
|
|
Size: 0x1
|
|
- Name: __do_global_dtors_aux_fini_array_entry
|
|
Type: STT_OBJECT
|
|
Section: .fini_array
|
|
Value: 0x403E00
|
|
- Name: frame_dummy
|
|
Type: STT_FUNC
|
|
Section: .text
|
|
Value: 0x401100
|
|
- Name: __frame_dummy_init_array_entry
|
|
Type: STT_OBJECT
|
|
Section: .init_array
|
|
Value: 0x403DF8
|
|
- Name: main.cpp
|
|
Type: STT_FILE
|
|
Index: SHN_ABS
|
|
- Name: 'crtstuff.c (1)'
|
|
Type: STT_FILE
|
|
Index: SHN_ABS
|
|
- Name: __FRAME_END__
|
|
Type: STT_OBJECT
|
|
Section: .eh_frame
|
|
Value: 0x4020C0
|
|
- Type: STT_FILE
|
|
Index: SHN_ABS
|
|
- Name: __GNU_EH_FRAME_HDR
|
|
Section: .eh_frame_hdr
|
|
Value: 0x402010
|
|
- Name: _DYNAMIC
|
|
Type: STT_OBJECT
|
|
Section: .dynamic
|
|
Value: 0x403E08
|
|
- Name: _GLOBAL_OFFSET_TABLE_
|
|
Type: STT_OBJECT
|
|
Section: .got.plt
|
|
Value: 0x403FE8
|
|
- Name: _edata
|
|
Section: .data
|
|
Binding: STB_GLOBAL
|
|
Value: 0x404004
|
|
- Name: data_start
|
|
Section: .data
|
|
Binding: STB_WEAK
|
|
Value: 0x404000
|
|
- Name: _IO_stdin_used
|
|
Type: STT_OBJECT
|
|
Section: .rodata
|
|
Binding: STB_GLOBAL
|
|
Value: 0x402000
|
|
Size: 0x4
|
|
- Name: main
|
|
Type: STT_FUNC
|
|
Section: .text
|
|
Binding: STB_GLOBAL
|
|
Value: 0x401120
|
|
Size: 0x1C
|
|
- Name: __dso_handle
|
|
Type: STT_OBJECT
|
|
Section: .rodata
|
|
Binding: STB_GLOBAL
|
|
Value: 0x402008
|
|
Other: [ STV_HIDDEN ]
|
|
- Name: _fini
|
|
Type: STT_FUNC
|
|
Section: .fini
|
|
Binding: STB_GLOBAL
|
|
Value: 0x40113C
|
|
Other: [ STV_HIDDEN ]
|
|
- Name: '__libc_start_main@GLIBC_2.34'
|
|
Type: STT_FUNC
|
|
Binding: STB_GLOBAL
|
|
- Name: _dl_relocate_static_pie
|
|
Type: STT_FUNC
|
|
Section: .text
|
|
Binding: STB_GLOBAL
|
|
Value: 0x401050
|
|
Size: 0x5
|
|
Other: [ STV_HIDDEN ]
|
|
- Name: _start
|
|
Type: STT_FUNC
|
|
Section: .text
|
|
Binding: STB_GLOBAL
|
|
Value: 0x401020
|
|
Size: 0x26
|
|
- Name: _init
|
|
Type: STT_FUNC
|
|
Section: .init
|
|
Binding: STB_GLOBAL
|
|
Value: 0x401000
|
|
Other: [ STV_HIDDEN ]
|
|
- Name: __TMC_END__
|
|
Type: STT_OBJECT
|
|
Section: .data
|
|
Binding: STB_GLOBAL
|
|
Value: 0x404008
|
|
Other: [ STV_HIDDEN ]
|
|
- Name: __data_start
|
|
Section: .data
|
|
Binding: STB_GLOBAL
|
|
Value: 0x404000
|
|
- Name: _end
|
|
Section: .bss
|
|
Binding: STB_GLOBAL
|
|
Value: 0x404008
|
|
- Name: __bss_start
|
|
Section: .bss
|
|
Binding: STB_GLOBAL
|
|
Value: 0x404004
|
|
- Name: _Z3foov
|
|
Type: STT_FUNC
|
|
Section: .text
|
|
Binding: STB_GLOBAL
|
|
Value: 0x401110
|
|
Size: 0x6
|
|
- Name: _ITM_deregisterTMCloneTable
|
|
Binding: STB_WEAK
|
|
- Name: __gmon_start__
|
|
Binding: STB_WEAK
|
|
- Name: _ITM_registerTMCloneTable
|
|
Binding: STB_WEAK
|
|
DynamicSymbols:
|
|
- Name: __libc_start_main
|
|
Type: STT_FUNC
|
|
Binding: STB_GLOBAL
|
|
- Name: _ITM_deregisterTMCloneTable
|
|
Binding: STB_WEAK
|
|
- Name: __gmon_start__
|
|
Binding: STB_WEAK
|
|
- Name: _ITM_registerTMCloneTable
|
|
Binding: STB_WEAK
|
|
DWARF:
|
|
debug_str:
|
|
- '/tmp/test_dwo'
|
|
- main-main.dwo
|
|
...
|