56 lines · yaml
1## Function and data symbols have different addresses so internally we treat2## STT_NOTYPE/STT_FUNC/STT_DATA/etc the same. The DATA command may get a function3## as result. For regular applications, the input addresses are guaranteed to be4## related to data symbols.5# RUN: yaml2obj %s -o %t6# RUN: llvm-symbolizer --obj=%t 'DATA 0x1000' 'DATA 0x2000' 'DATA 0x2002' | FileCheck %s7 8# CHECK: func9# CHECK-NEXT: 4096 110# CHECK-NEXT: ??:?11# CHECK-EMPTY:12# CHECK-NEXT: data13# CHECK-NEXT: 8192 214# CHECK-NEXT: ??:?15# CHECK-EMPTY:16# CHECK-NEXT: notype17# CHECK-NEXT: 8194 318# CHECK-NEXT: ??:?19# CHECK-EMPTY:20 21--- !ELF22FileHeader:23 Class: ELFCLASS6424 Data: ELFDATA2LSB25 Type: ET_EXEC26 Machine: EM_X86_6427Sections:28 - Name: .text29 Type: SHT_PROGBITS30 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]31 Address: 0x100032 Size: 133 - Name: .data34 Type: SHT_PROGBITS35 Flags: [ SHF_WRITE, SHF_ALLOC ]36 Address: 0x200037 Size: 538Symbols:39 - Name: func40 Type: STT_FUNC41 Section: .text42 Binding: STB_GLOBAL43 Value: 0x100044 Size: 145 - Name: data46 Type: STT_OBJECT47 Section: .data48 Binding: STB_GLOBAL49 Value: 0x200050 Size: 251 - Name: notype52 Section: .data53 Binding: STB_GLOBAL54 Value: 0x200255 Size: 356