xref: /llvm-project/llvm/test/tools/llvm-nm/ifunc.test (revision b3af96d07b8bcdbc716b04629a1ad1d3d5f6ee5f)
1ba1cdba4SFangrui Song## Test that the symbol type of STT_GNU_IFUNC is 'i'.
2ba1cdba4SFangrui Song
3ba1cdba4SFangrui Song# RUN: yaml2obj %s -o %t
4ba1cdba4SFangrui Song# RUN: llvm-nm --no-sort %t | FileCheck %s
5ba1cdba4SFangrui Song
6ba1cdba4SFangrui Song# CHECK:      i ifunc_local
7ba1cdba4SFangrui Song# CHECK-NEXT: i ifunc_global
8*b3af96d0SFangrui Song# CHECK-NEXT: i ifunc_weak
9*b3af96d0SFangrui Song# CHECK-NEXT: U ifunc_undef
10*b3af96d0SFangrui Song# CHECK-NEXT: w ifunc_undef_weak
11ba1cdba4SFangrui Song
12ba1cdba4SFangrui Song!ELF
13ba1cdba4SFangrui SongFileHeader:
14ba1cdba4SFangrui Song  Class:   ELFCLASS64
15ba1cdba4SFangrui Song  Data:    ELFDATA2LSB
16ba1cdba4SFangrui Song  Type:    ET_REL
17ba1cdba4SFangrui Song  Machine: EM_X86_64
18ba1cdba4SFangrui SongSections:
19ba1cdba4SFangrui Song  - Name:  .text
20ba1cdba4SFangrui Song    Type:  SHT_PROGBITS
21ba1cdba4SFangrui Song    Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
22ba1cdba4SFangrui SongSymbols:
23ba1cdba4SFangrui Song  - Name:    ifunc_local
24ba1cdba4SFangrui Song    Type:    STT_GNU_IFUNC
25ba1cdba4SFangrui Song    Binding: STB_LOCAL
26ba1cdba4SFangrui Song    Section: .text
27ba1cdba4SFangrui Song  - Name:    ifunc_global
28ba1cdba4SFangrui Song    Type:    STT_GNU_IFUNC
29ba1cdba4SFangrui Song    Binding: STB_GLOBAL
30ba1cdba4SFangrui Song    Section: .text
31*b3af96d0SFangrui Song  - Name:    ifunc_weak
32*b3af96d0SFangrui Song    Type:    STT_GNU_IFUNC
33*b3af96d0SFangrui Song    Binding: STB_WEAK
34*b3af96d0SFangrui Song    Section: .text
35*b3af96d0SFangrui Song  - Name:    ifunc_undef
36*b3af96d0SFangrui Song    Type:    STT_GNU_IFUNC
37*b3af96d0SFangrui Song    Binding: STB_GLOBAL
38*b3af96d0SFangrui Song  - Name:    ifunc_undef_weak
39*b3af96d0SFangrui Song    Type:    STT_GNU_IFUNC
40*b3af96d0SFangrui Song    Binding: STB_WEAK
41