| ## Function and data symbols have different addresses so internally we treat | |
| ## STT_NOTYPE/STT_FUNC/STT_DATA/etc the same. The DATA command may get a function | |
| ## as result. For regular applications, the input addresses are guaranteed to be | |
| ## related to data symbols. | |
| # RUN: yaml2obj %s -o %t | |
| # RUN: llvm-symbolizer --obj=%t 'DATA 0x1000' 'DATA 0x2000' 'DATA 0x2002' | FileCheck %s | |
| # CHECK: func | |
| # CHECK-NEXT: 4096 1 | |
| # CHECK-NEXT: ??:? | |
| # CHECK-EMPTY: | |
| # CHECK-NEXT: data | |
| # CHECK-NEXT: 8192 2 | |
| # CHECK-NEXT: ??:? | |
| # CHECK-EMPTY: | |
| # CHECK-NEXT: notype | |
| # CHECK-NEXT: 8194 3 | |
| # CHECK-NEXT: ??:? | |
| # CHECK-EMPTY: | |
| --- !ELF | |
| FileHeader: | |
| Class: ELFCLASS64 | |
| Data: ELFDATA2LSB | |
| Type: ET_EXEC | |
| Machine: EM_X86_64 | |
| Sections: | |
| - Name: .text | |
| Type: SHT_PROGBITS | |
| Flags: [ SHF_ALLOC, SHF_EXECINSTR ] | |
| Address: 0x1000 | |
| Size: 1 | |
| - Name: .data | |
| Type: SHT_PROGBITS | |
| Flags: [ SHF_WRITE, SHF_ALLOC ] | |
| Address: 0x2000 | |
| Size: 5 | |
| Symbols: | |
| - Name: func | |
| Type: STT_FUNC | |
| Section: .text | |
| Binding: STB_GLOBAL | |
| Value: 0x1000 | |
| Size: 1 | |
| - Name: data | |
| Type: STT_OBJECT | |
| Section: .data | |
| Binding: STB_GLOBAL | |
| Value: 0x2000 | |
| Size: 2 | |
| - Name: notype | |
| Section: .data | |
| Binding: STB_GLOBAL | |
| Value: 0x2002 | |
| Size: 3 |