| # Show that llvm-readobj can print the type of symbol for all known symbol types |
| # and also for unknown types, both in the os/processor specific ranges and not, |
| # for both GNU and LLVM styles. |
| |
| # RUN: yaml2obj %s > %t |
| # RUN: llvm-readobj --symbols %t | FileCheck %s --check-prefix=LLVM |
| # RUN: llvm-readelf --symbols %t | FileCheck %s --check-prefix=GNU |
| |
| # LLVM: Name: notype |
| # LLVM: Type: None |
| # LLVM: Name: object |
| # LLVM: Type: Object |
| # LLVM: Name: func |
| # LLVM: Type: Function |
| # LLVM: Name: .text |
| # LLVM: Type: Section |
| # LLVM: Name: file |
| # LLVM: Type: File |
| # LLVM: Name: common |
| # LLVM: Type: Common |
| # LLVM: Name: tls |
| # LLVM: Type: TLS |
| # LLVM: Name: gnu_ifunc |
| # LLVM: Type: GNU_IFunc |
| |
| # LLVM: Name: os_specific_11 |
| # LLVM: Type: OS Specific (0xB) |
| # LLVM: Name: os_specific_12 |
| # LLVM: Type: OS Specific (0xC) |
| |
| # LLVM: Name: proc_specific_13 |
| # LLVM: Type: Proc Specific (0xD) |
| # LLVM: Name: proc_specific_14 |
| # LLVM: Type: Proc Specific (0xE) |
| # LLVM: Name: proc_specific_15 |
| # LLVM: Type: Proc Specific (0xF) |
| |
| # LLVM: Name: unknown_7 |
| # LLVM: Type: Unknown (0x7) |
| # LLVM: Name: unknown_8 |
| # LLVM: Type: Unknown (0x8) |
| # LLVM: Name: unknown_9 |
| # LLVM: Type: Unknown (0x9) |
| |
| # GNU: NOTYPE {{.*}} notype |
| # GNU: OBJECT {{.*}} object |
| # GNU: FUNC {{.*}} func |
| # GNU: SECTION {{.*}} .text |
| # GNU: FILE {{.*}} file |
| # GNU: COMMON {{.*}} common |
| # GNU: TLS {{.*}} tls |
| # GNU: IFUNC {{.*}} gnu_ifunc |
| # GNU: <OS specific>: 11 {{.*}} os_specific_11 |
| # GNU: <OS specific>: 12 {{.*}} os_specific_12 |
| # GNU: <processor specific>: 13 {{.*}} proc_specific_13 |
| # GNU: <processor specific>: 14 {{.*}} proc_specific_14 |
| # GNU: <processor specific>: 15 {{.*}} proc_specific_15 |
| # GNU: <unknown>: 7 {{.*}} unknown_7 |
| # GNU: <unknown>: 8 {{.*}} unknown_8 |
| # GNU: <unknown>: 9 {{.*}} unknown_9 |
| |
| !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| Type: ET_REL |
| Machine: EM_X86_64 |
| Sections: |
| - Name: .text |
| Type: SHT_PROGBITS |
| Symbols: |
| - Name: notype |
| Type: STT_NOTYPE |
| Binding: STB_GLOBAL |
| - Name: object |
| Type: STT_OBJECT |
| Binding: STB_GLOBAL |
| - Name: func |
| Type: STT_FUNC |
| Binding: STB_GLOBAL |
| - Name: .text |
| Type: STT_SECTION |
| Section: .text |
| Binding: STB_GLOBAL |
| - Name: file |
| Type: STT_FILE |
| Binding: STB_GLOBAL |
| - Name: common |
| Type: STT_COMMON |
| Binding: STB_GLOBAL |
| - Name: tls |
| Type: STT_TLS |
| Binding: STB_GLOBAL |
| - Name: gnu_ifunc |
| Type: STT_GNU_IFUNC |
| Binding: STB_GLOBAL |
| - Name: os_specific_11 |
| Type: 11 |
| Binding: STB_GLOBAL |
| - Name: os_specific_12 |
| Type: 12 |
| Binding: STB_GLOBAL |
| - Name: proc_specific_13 |
| Type: 13 |
| Binding: STB_GLOBAL |
| - Name: proc_specific_14 |
| Type: 14 |
| Binding: STB_GLOBAL |
| - Name: proc_specific_15 |
| Type: 15 |
| Binding: STB_GLOBAL |
| - Name: unknown_7 |
| Type: 7 |
| Binding: STB_GLOBAL |
| - Name: unknown_8 |
| Type: 8 |
| Binding: STB_GLOBAL |
| - Name: unknown_9 |
| Type: 9 |
| Binding: STB_GLOBAL |