## Test loading an ELF file with DWARF. First we make the ELF file from yaml,
## then we convert the ELF file to GSYM, then we do lookups on the newly
## created GSYM, and finally we dump the entire GSYM.
# RUN: yaml2obj %s -o %t
# RUN: llvm-gsymutil --convert %t -o %t.gsym 2>&1 | FileCheck %s --check-prefix=CONVERT
# RUN: llvm-gsymutil --address=0x400391 --address=0x4004cd %t.gsym 2>&1 | FileCheck %s --check-prefix=ADDR
# RUN: echo -e "0x400391 %/t.gsym\n0x4004cd %/t.gsym" | llvm-gsymutil --addresses-from-stdin 2>&1 | FileCheck %s --check-prefix=ADDRI --dump-input=always
# RUN: llvm-gsymutil --address=0x400391 --address=0x4004cd --verbose %t.gsym 2>&1 | FileCheck %s --check-prefix=ADDRV --dump-input=always
# RUN: llvm-gsymutil --address=0x400391 --address=0x4004cd --verbose %t.gsym 2>&1 | FileCheck %s --check-prefix=ADDRV --dump-input=always
# RUN: llvm-gsymutil %t.gsym 2>&1 | FileCheck %s --check-prefix=DUMP
# ADDR: Looking up addresses in "{{.*\.yaml\.tmp\.gsym}}":
# ADDR: 0x0000000000400391: _init
# ADDR: 0x00000000004004cd: main @ /tmp/main.cpp:1
# ADDRI: 0x0000000000400391: _init
# ADDRI-EMPTY:
# ADDRI: 0x00000000004004cd: main @ /tmp/main.cpp:1
# ADDRI-EMPTY:
# ADDRV: Looking up addresses in "{{.*\.yaml\.tmp\.gsym}}":
# ADDRV: FunctionInfo for 0x0000000000400391:
# ADDRV: [0x0000000000400390 - 0x0000000000400390) "_init"
# ADDRV: LookupResult for 0x0000000000400391:
# ADDRV: 0x0000000000400391: _init
# ADDRV: FunctionInfo for 0x00000000004004cd:
# ADDRV: [0x00000000004004cd - 0x00000000004004df) "main"
# ADDRV: LineTable:
# ADDRV: 0x00000000004004cd /tmp/main.cpp:1
# ADDRV: 0x00000000004004d8 /tmp/main.cpp:2
# ADDRV: 0x00000000004004dd /tmp/main.cpp:3
# ADDRV: LookupResult for 0x00000000004004cd:
# ADDRV: 0x00000000004004cd: main @ /tmp/main.cpp:1
# CONVERT: Input file: {{.*\.yaml\.tmp}}
# CONVERT: Output file (x86_64): {{.*\.yaml\.tmp\.gsym}}
# CONVERT: Loaded 1 functions from DWARF.
# CONVERT: Loaded 10 functions from symbol table.
# CONVERT: Pruned 1 functions, ended with 10 total
# DUMP: Header:
# DUMP-NEXT: Magic = 0x4753594d
# DUMP-NEXT: Version = 0x0001
# DUMP-NEXT: AddrOffSize = 0x02
# DUMP-NEXT: UUIDSize = 0x14
# DUMP-NEXT: BaseAddress = 0x0000000000400000
# DUMP-NEXT: NumAddresses = 0x0000000a
# DUMP-NEXT: StrtabOffset = 0x00000080
# DUMP-NEXT: StrtabSize = 0x00000091
# DUMP-NEXT: UUID = 0e62be89cad89206110ed1375b618656f32ac906
# DUMP: Address Table:
# DUMP-NEXT: INDEX OFFSET16 (ADDRESS)
# DUMP-NEXT: ====== ===============================
# DUMP-NEXT: [ 0] 0x0390 (0x0000000000400390)
# DUMP-NEXT: [ 1] 0x03e0 (0x00000000004003e0)
# DUMP-NEXT: [ 2] 0x0410 (0x0000000000400410)
# DUMP-NEXT: [ 3] 0x0440 (0x0000000000400440)
# DUMP-NEXT: [ 4] 0x0480 (0x0000000000400480)
# DUMP-NEXT: [ 5] 0x04a0 (0x00000000004004a0)
# DUMP-NEXT: [ 6] 0x04cd (0x00000000004004cd)
# DUMP-NEXT: [ 7] 0x04e0 (0x00000000004004e0)
# DUMP-NEXT: [ 8] 0x0550 (0x0000000000400550)
# DUMP-NEXT: [ 9] 0x0554 (0x0000000000400554)
# DUMP: Address Info Offsets:
# DUMP-NEXT: INDEX Offset
# DUMP-NEXT: ====== ==========
# DUMP-NEXT: [ 0] 0x00000114
# DUMP-NEXT: [ 1] 0x00000124
# DUMP-NEXT: [ 2] 0x00000134
# DUMP-NEXT: [ 3] 0x00000144
# DUMP-NEXT: [ 4] 0x00000154
# DUMP-NEXT: [ 5] 0x00000164
# DUMP-NEXT: [ 6] 0x00000174
# DUMP-NEXT: [ 7] 0x00000194
# DUMP-NEXT: [ 8] 0x000001a4
# DUMP-NEXT: [ 9] 0x000001b4
# DUMP: Files:
# DUMP-NEXT: INDEX DIRECTORY BASENAME PATH
# DUMP-NEXT: ====== ========== ========== ==============================
# DUMP-NEXT: [ 0] 0x00000000 0x00000000
# DUMP-NEXT: [ 1] 0x00000006 0x0000000b /tmp/main.cpp
# DUMP: String table:
# DUMP-NEXT: 0x00000000: ""
# DUMP-NEXT: 0x00000001: "main"
# DUMP-NEXT: 0x00000006: "/tmp"
# DUMP-NEXT: 0x0000000b: "main.cpp"
# DUMP-NEXT: 0x00000014: "deregister_tm_clones"
# DUMP-NEXT: 0x00000029: "register_tm_clones"
# DUMP-NEXT: 0x0000003c: "__do_global_dtors_aux"
# DUMP-NEXT: 0x00000052: "frame_dummy"
# DUMP-NEXT: 0x0000005e: "__libc_csu_fini"
# DUMP-NEXT: 0x0000006e: "_fini"
# DUMP-NEXT: 0x00000074: "__libc_csu_init"
# DUMP-NEXT: 0x00000084: "_start"
# DUMP-NEXT: 0x0000008b: "_init"
# DUMP: FunctionInfo @ 0x00000114: [0x0000000000400390 - 0x0000000000400390) "_init"
# DUMP: FunctionInfo @ 0x00000124: [0x00000000004003e0 - 0x00000000004003e0) "_start"
# DUMP: FunctionInfo @ 0x00000134: [0x0000000000400410 - 0x0000000000400410) "deregister_tm_clones"
# DUMP: FunctionInfo @ 0x00000144: [0x0000000000400440 - 0x0000000000400440) "register_tm_clones"
# DUMP: FunctionInfo @ 0x00000154: [0x0000000000400480 - 0x0000000000400480) "__do_global_dtors_aux"
# DUMP: FunctionInfo @ 0x00000164: [0x00000000004004a0 - 0x00000000004004a0) "frame_dummy"
# DUMP: FunctionInfo @ 0x00000174: [0x00000000004004cd - 0x00000000004004df) "main"
# DUMP-NEXT: LineTable:
# DUMP-NEXT: 0x00000000004004cd /tmp/main.cpp:1
# DUMP-NEXT: 0x00000000004004d8 /tmp/main.cpp:2
# DUMP-NEXT: 0x00000000004004dd /tmp/main.cpp:3
# DUMP: FunctionInfo @ 0x00000194: [0x00000000004004e0 - 0x0000000000400545) "__libc_csu_init"
# DUMP: FunctionInfo @ 0x000001a4: [0x0000000000400550 - 0x0000000000400552) "__libc_csu_fini"
# DUMP: FunctionInfo @ 0x000001b4: [0x0000000000400554 - 0x000000000040055d) "_fini"
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_EXEC
Machine: EM_X86_64
Entry: 0x00000000004003E0
Sections:
- Name: .interp
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC ]
Address: 0x0000000000400238
AddressAlign: 0x0000000000000001
Content: 2F6C696236342F6C642D6C696E75782D7838362D36342E736F2E3200
- Name: .note.ABI-tag
Type: SHT_NOTE
Flags: [ SHF_ALLOC ]
Address: 0x0000000000400254
AddressAlign: 0x0000000000000004
Notes:
- Name: GNU
Desc: '00000000020000000600000020000000'
Type: 0x00000001
- Name: .note.gnu.build-id
Type: SHT_NOTE
Flags: [ SHF_ALLOC ]
Address: 0x0000000000400274
AddressAlign: 0x0000000000000004
Notes:
- Name: GNU
Desc: 0E62BE89CAD89206110ED1375B618656F32AC906
Type: 0x00000003
- Name: .gnu.hash
Type: SHT_GNU_HASH
Flags: [ SHF_ALLOC ]
Address: 0x0000000000400298
Link: .dynsym
AddressAlign: 0x0000000000000008
Header:
SymNdx: 0x00000001
Shift2: 0x00000000
BloomFilter: [ 0x0000000000000000 ]
HashBuckets: [ 0x00000000 ]
HashValues: [ ]
- Name: .gnu.version
Type: SHT_GNU_versym
Flags: [ SHF_ALLOC ]
Address: 0x0000000000400338
Link: .dynsym
AddressAlign: 0x0000000000000002
EntSize: 0x0000000000000002
Entries: [ 0, 2, 0 ]
- Name: .gnu.version_r
Type: SHT_GNU_verneed
Flags: [ SHF_ALLOC ]
Address: 0x0000000000400340
Link: .dynstr
AddressAlign: 0x0000000000000008
Info: 0x0000000000000001
Dependencies:
- Version: 1
File: libc.so.6
Entries:
- Name: GLIBC_2.2.5
Hash: 157882997
Flags: 0
Other: 2
- Name: .rela.dyn
Type: SHT_RELA
Flags: [ SHF_ALLOC ]
Address: 0x0000000000400360
Link: .dynsym
AddressAlign: 0x0000000000000008
EntSize: 0x0000000000000018
Relocations:
- Offset: 0x0000000000600FF8
Symbol: __gmon_start__
Type: R_X86_64_GLOB_DAT
- Name: .rela.plt
Type: SHT_RELA
Flags: [ SHF_ALLOC, SHF_INFO_LINK ]
Address: 0x0000000000400378
Link: .dynsym
AddressAlign: 0x0000000000000008
EntSize: 0x0000000000000018
Info: .got.plt
Relocations:
- Offset: 0x0000000000601018
Symbol: __libc_start_main
Type: R_X86_64_JUMP_SLOT
- Name: .init
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
Address: 0x0000000000400390
AddressAlign: 0x0000000000000004
Content: 4883EC08488B055D0C20004885C07405E82B0000004883C408C3
- Name: .plt
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
Address: 0x00000000004003B0
AddressAlign: 0x0000000000000010
EntSize: 0x0000000000000010
Content: FF35520C2000FF25540C20000F1F4000FF25520C20006800000000E9E0FFFFFF
- Name: .plt.got
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
Address: 0x00000000004003D0
AddressAlign: 0x0000000000000008
Content: FF25220C20006690
- Name: .text
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
Address: 0x00000000004003E0
AddressAlign: 0x0000000000000010
Content: 31ED4989D15E4889E24883E4F0505449C7C05005400048C7C1E004400048C7C7CD044000E8B7FFFFFFF4660F1F440000B82F10600055482D281060004883F80E4889E577025DC3B8000000004885C074F45DBF28106000FFE00F1F8000000000B82810600055482D2810600048C1F8034889E54889C248C1EA3F4801D048D1F875025DC3BA000000004885D274F45D4889C6BF28106000FFE20F1F8000000000803D9D0B2000007511554889E5E87EFFFFFF5DC6058A0B200001F3C30F1F400048833D7809200000741EB8000000004885C0741455BF200E60004889E5FFD05DE97BFFFFFF0F1F00E973FFFFFF554889E5897DFC488975F0B8000000005DC39041574189FF41564989F641554989D541544C8D251809200055488D2D18092000534C29E531DB48C1FD034883EC08E87DFEFFFF4885ED741E0F1F8400000000004C89EA4C89F64489FF41FF14DC4883C3014839EB75EA4883C4085B5D415C415D415E415FC390662E0F1F840000000000F3C3
- Name: .fini
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
Address: 0x0000000000400554
AddressAlign: 0x0000000000000004
Content: 4883EC084883C408C3
- Name: .rodata
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC ]
Address: 0x0000000000400560
AddressAlign: 0x0000000000000008
Content: '01000200000000000000000000000000'
- Name: .eh_frame_hdr
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC ]
Address: 0x0000000000400570
AddressAlign: 0x0000000000000004
Content: 011B033B340000000500000040FEFFFF8000000070FEFFFF500000005DFFFFFFA800000070FFFFFFC8000000E0FFFFFF10010000
- Name: .eh_frame
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC ]
Address: 0x00000000004005A8
AddressAlign: 0x0000000000000008
Content: 1400000000000000017A5200017810011B0C070890010710140000001C00000018FEFFFF2A00000000000000000000001400000000000000017A5200017810011B0C070890010000240000001C000000B8FDFFFF20000000000E10460E184A0F0B770880003F1A3B2A332422000000001C00000044000000ADFEFFFF1200000000410E108602430D064D0C07080000004400000064000000A0FEFFFF6500000000420E108F02450E188E03450E208D04450E288C05480E308606480E3883074D0E406C0E38410E30410E28420E20420E18420E10420E080014000000AC000000C8FEFFFF02000000000000000000000000000000
- Name: .init_array
Type: SHT_INIT_ARRAY
Flags: [ SHF_WRITE, SHF_ALLOC ]
Address: 0x0000000000600E10
AddressAlign: 0x0000000000000008
EntSize: 0x0000000000000008
Content: A004400000000000
- Name: .fini_array
Type: SHT_FINI_ARRAY
Flags: [ SHF_WRITE, SHF_ALLOC ]
Address: 0x0000000000600E18
AddressAlign: 0x0000000000000008
EntSize: 0x0000000000000008
Content: '8004400000000000'
- Name: .jcr
Type: SHT_PROGBITS
Flags: [ SHF_WRITE, SHF_ALLOC ]
Address: 0x0000000000600E20
AddressAlign: 0x0000000000000008
Content: '0000000000000000'
- Name: .dynamic
Type: SHT_DYNAMIC
Flags: [ SHF_WRITE, SHF_ALLOC ]
Address: 0x0000000000600E28
Link: .dynstr
AddressAlign: 0x0000000000000008
EntSize: 0x0000000000000010
Entries:
- Tag: DT_NEEDED
Value: 0x0000000000000001
- Tag: DT_INIT
Value: 0x0000000000400390
- Tag: DT_FINI
Value: 0x0000000000400554
- Tag: DT_INIT_ARRAY
Value: 0x0000000000600E10
- Tag: DT_INIT_ARRAYSZ
Value: 0x0000000000000008
- Tag: DT_FINI_ARRAY
Value: 0x0000000000600E18
- Tag: DT_FINI_ARRAYSZ
Value: 0x0000000000000008
- Tag: DT_GNU_HASH
Value: 0x0000000000400298
- Tag: DT_STRTAB
Value: 0x0000000000400300
- Tag: DT_SYMTAB
Value: 0x00000000004002B8
- Tag: DT_STRSZ
Value: 0x0000000000000038
- Tag: DT_SYMENT
Value: 0x0000000000000018
- Tag: DT_DEBUG
Value: 0x0000000000000000
- Tag: DT_PLTGOT
Value: 0x0000000000601000
- Tag: DT_PLTRELSZ
Value: 0x0000000000000018
- Tag: DT_PLTREL
Value: 0x0000000000000007
- Tag: DT_JMPREL
Value: 0x0000000000400378
- Tag: DT_RELA
Value: 0x0000000000400360
- Tag: DT_RELASZ
Value: 0x0000000000000018
- Tag: DT_RELAENT
Value: 0x0000000000000018
- Tag: DT_VERNEED
Value: 0x0000000000400340
- Tag: DT_VERNEEDNUM
Value: 0x0000000000000001
- Tag: DT_VERSYM
Value: 0x0000000000400338
- Tag: DT_NULL
Value: 0x0000000000000000
- Tag: DT_NULL
Value: 0x0000000000000000
- Tag: DT_NULL
Value: 0x0000000000000000
- Tag: DT_NULL
Value: 0x0000000000000000
- Tag: DT_NULL
Value: 0x0000000000000000
- Tag: DT_NULL
Value: 0x0000000000000000
- Name: .got
Type: SHT_PROGBITS
Flags: [ SHF_WRITE, SHF_ALLOC ]
Address: 0x0000000000600FF8
AddressAlign: 0x0000000000000008
EntSize: 0x0000000000000008
Content: '0000000000000000'
- Name: .got.plt
Type: SHT_PROGBITS
Flags: [ SHF_WRITE, SHF_ALLOC ]
Address: 0x0000000000601000
AddressAlign: 0x0000000000000008
EntSize: 0x0000000000000008
Content: 280E60000000000000000000000000000000000000000000C603400000000000
- Name: .data
Type: SHT_PROGBITS
Flags: [ SHF_WRITE, SHF_ALLOC ]
Address: 0x0000000000601020
AddressAlign: 0x0000000000000001
Content: '00000000'
- Name: .bss
Type: SHT_NOBITS
Flags: [ SHF_WRITE, SHF_ALLOC ]
Address: 0x0000000000601024
AddressAlign: 0x0000000000000001
Size: 0x0000000000000004
- Name: .comment
Type: SHT_PROGBITS
Flags: [ SHF_MERGE, SHF_STRINGS ]
AddressAlign: 0x0000000000000001
EntSize: 0x0000000000000001
Content: 4743433A2028474E552920342E382E3520323031353036323320285265642048617420342E382E352D33362900
- Name: .debug_aranges
Type: SHT_PROGBITS
AddressAlign: 0x0000000000000001
Content: 2C000000020000000000080000000000CD04400000000000120000000000000000000000000000000000000000000000
- Name: .debug_info
Type: SHT_PROGBITS
AddressAlign: 0x0000000000000001
Content: 8700000004000000000008011D000000040F00000005000000CD04400000000000120000000000000000000000020A00000001016B000000CD044000000000001200000000000000019C6B000000031800000001016B00000002916C030000000001017200000002916000040405696E740005087800000005087E00000006830000000701066B00000000
- Name: .debug_abbrev
Type: SHT_PROGBITS
AddressAlign: 0x0000000000000001
Content: 011101250E130B030E1B0E1101120710170000022E013F19030E3A0B3B0B491311011207401897421901130000030500030E3A0B3B0B4913021800000424000B0B3E0B03080000050F000B0B49130000062600491300000724000B0B3E0B030E000000
- Name: .debug_line
Type: SHT_PROGBITS
AddressAlign: 0x0000000000000001
Content: 3800000002001F0000000101FB0E0D000101010100000001000001006D61696E2E6370700000000000000902CD0440000000000001AD590202000101
- Name: .debug_str
Type: SHT_PROGBITS
Flags: [ SHF_MERGE, SHF_STRINGS ]
AddressAlign: 0x0000000000000001
EntSize: 0x0000000000000001
Content: 61726776002F746D70006D61696E006D61696E2E637070006172676300474E5520432B2B20342E382E3520323031353036323320285265642048617420342E382E352D333629202D6D74756E653D67656E65726963202D6D617263683D7838362D3634202D67202D4F30006368617200
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_X, PF_R ]
VAddr: 0x0000000000400000
Align: 1024
FirstSec: .interp
LastSec: .dynstr
Symbols:
- Name: .interp
Type: STT_SECTION
Section: .interp
Value: 0x0000000000400238
- Name: .note.ABI-tag
Type: STT_SECTION
Section: .note.ABI-tag
Value: 0x0000000000400254
- Name: .note.gnu.build-id
Type: STT_SECTION
Section: .note.gnu.build-id
Value: 0x0000000000400274
- Name: .gnu.hash
Type: STT_SECTION
Section: .gnu.hash
Value: 0x0000000000400298
- Name: .dynsym
Type: STT_SECTION
Section: .dynsym
Value: 0x00000000004002B8
- Name: .dynstr
Type: STT_SECTION
Section: .dynstr
Value: 0x0000000000400300
- Name: .gnu.version
Type: STT_SECTION
Section: .gnu.version
Value: 0x0000000000400338
- Name: .gnu.version_r
Type: STT_SECTION
Section: .gnu.version_r
Value: 0x0000000000400340
- Name: .rela.dyn
Type: STT_SECTION
Section: .rela.dyn
Value: 0x0000000000400360
- Name: .rela.plt
Type: STT_SECTION
Section: .rela.plt
Value: 0x0000000000400378
- Name: .init
Type: STT_SECTION
Section: .init
Value: 0x0000000000400390
- Name: .plt
Type: STT_SECTION
Section: .plt
Value: 0x00000000004003B0
- Name: .plt.got
Type: STT_SECTION
Section: .plt.got
Value: 0x00000000004003D0
- Name: .text
Type: STT_SECTION
Section: .text
Value: 0x00000000004003E0
- Name: .fini
Type: STT_SECTION
Section: .fini
Value: 0x0000000000400554
- Name: .rodata
Type: STT_SECTION
Section: .rodata
Value: 0x0000000000400560
- Name: .eh_frame_hdr
Type: STT_SECTION
Section: .eh_frame_hdr
Value: 0x0000000000400570
- Name: .eh_frame
Type: STT_SECTION
Section: .eh_frame
Value: 0x00000000004005A8
- Name: .init_array
Type: STT_SECTION
Section: .init_array
Value: 0x0000000000600E10
- Name: .fini_array
Type: STT_SECTION
Section: .fini_array
Value: 0x0000000000600E18
- Name: .jcr
Type: STT_SECTION
Section: .jcr
Value: 0x0000000000600E20
- Name: .dynamic
Type: STT_SECTION
Section: .dynamic
Value: 0x0000000000600E28
- Name: .got
Type: STT_SECTION
Section: .got
Value: 0x0000000000600FF8
- Name: .got.plt
Type: STT_SECTION
Section: .got.plt
Value: 0x0000000000601000
- Name: .data
Type: STT_SECTION
Section: .data
Value: 0x0000000000601020
- Name: .bss
Type: STT_SECTION
Section: .bss
Value: 0x0000000000601024
- Name: .comment
Type: STT_SECTION
Section: .comment
- Name: .debug_aranges
Type: STT_SECTION
Section: .debug_aranges
- Name: .debug_info
Type: STT_SECTION
Section: .debug_info
- Name: .debug_abbrev
Type: STT_SECTION
Section: .debug_abbrev
- Name: .debug_line
Type: STT_SECTION
Section: .debug_line
- Name: .debug_str
Type: STT_SECTION
Section: .debug_str
- Name: crtstuff.c
Type: STT_FILE
Index: SHN_ABS
- Name: __JCR_LIST__
Type: STT_OBJECT
Section: .jcr
Value: 0x0000000000600E20
- Name: deregister_tm_clones
Type: STT_FUNC
Section: .text
Value: 0x0000000000400410
- Name: register_tm_clones
Type: STT_FUNC
Section: .text
Value: 0x0000000000400440
- Name: __do_global_dtors_aux
Type: STT_FUNC
Section: .text
Value: 0x0000000000400480
- Name: completed.6355
Type: STT_OBJECT
Section: .bss
Value: 0x0000000000601024
Size: 0x0000000000000001
- Name: __do_global_dtors_aux_fini_array_entry
Type: STT_OBJECT
Section: .fini_array
Value: 0x0000000000600E18
- Name: frame_dummy
Type: STT_FUNC
Section: .text
Value: 0x00000000004004A0
- Name: __frame_dummy_init_array_entry
Type: STT_OBJECT
Section: .init_array
Value: 0x0000000000600E10
- 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: 0x0000000000400698
- Name: __JCR_END__
Type: STT_OBJECT
Section: .jcr
Value: 0x0000000000600E20
- Type: STT_FILE
Index: SHN_ABS
- Name: __init_array_end
Section: .init_array
Value: 0x0000000000600E18
- Name: _DYNAMIC
Type: STT_OBJECT
Section: .dynamic
Value: 0x0000000000600E28
- Name: __init_array_start
Section: .init_array
Value: 0x0000000000600E10
- Name: __GNU_EH_FRAME_HDR
Section: .eh_frame_hdr
Value: 0x0000000000400570
- Name: _GLOBAL_OFFSET_TABLE_
Type: STT_OBJECT
Section: .got.plt
Value: 0x0000000000601000
- Name: __libc_csu_fini
Type: STT_FUNC
Section: .text
Binding: STB_GLOBAL
Value: 0x0000000000400550
Size: 0x0000000000000002
- Name: data_start
Section: .data
Binding: STB_WEAK
Value: 0x0000000000601020
- Name: _edata
Section: .data
Binding: STB_GLOBAL
Value: 0x0000000000601024
- Name: _fini
Type: STT_FUNC
Section: .fini
Binding: STB_GLOBAL
Value: 0x0000000000400554
- Name: '__libc_start_main@@GLIBC_2.2.5'
Type: STT_FUNC
Binding: STB_GLOBAL
- Name: __data_start
Section: .data
Binding: STB_GLOBAL
Value: 0x0000000000601020
- Name: __gmon_start__
Binding: STB_WEAK
- Name: __dso_handle
Type: STT_OBJECT
Section: .rodata
Binding: STB_GLOBAL
Value: 0x0000000000400568
Other: [ STV_HIDDEN ]
- Name: _IO_stdin_used
Type: STT_OBJECT
Section: .rodata
Binding: STB_GLOBAL
Value: 0x0000000000400560
Size: 0x0000000000000004
- Name: __libc_csu_init
Type: STT_FUNC
Section: .text
Binding: STB_GLOBAL
Value: 0x00000000004004E0
Size: 0x0000000000000065
- Name: _end
Section: .bss
Binding: STB_GLOBAL
Value: 0x0000000000601028
- Name: _start
Type: STT_FUNC
Section: .text
Binding: STB_GLOBAL
Value: 0x00000000004003E0
- Name: __bss_start
Section: .bss
Binding: STB_GLOBAL
Value: 0x0000000000601024
- Name: main
Type: STT_FUNC
Section: .text
Binding: STB_GLOBAL
Value: 0x00000000004004CD
Size: 0x0000000000000012
- Name: __TMC_END__
Type: STT_OBJECT
Section: .data
Binding: STB_GLOBAL
Value: 0x0000000000601028
Other: [ STV_HIDDEN ]
- Name: _init
Type: STT_FUNC
Section: .init
Binding: STB_GLOBAL
Value: 0x0000000000400390
DynamicSymbols:
- Name: __libc_start_main
Type: STT_FUNC
Binding: STB_GLOBAL
- Name: __gmon_start__
Binding: STB_WEAK
...