xref: /llvm-project/llvm/test/tools/llvm-readobj/ELF/RISCV/stother.test (revision 8971b99c8387f3daf2e802956f2688b3b77335a4)
1## Check that we are able to dump RISC-V STO_* flags correctly when dumping symbols.
2
3# RUN: yaml2obj %s -o %t.o
4# RUN: llvm-readobj -s %t.o | FileCheck %s --check-prefix=LLVM
5# RUN: llvm-readelf -s %t.o | FileCheck %s --check-prefix=GNU
6
7# LLVM:      Name: foo1
8# LLVM:      Other [ (0x80)
9# LLVM-NEXT:   STO_RISCV_VARIANT_CC (0x80)
10# LLVM-NEXT: ]
11# LLVM:      Name: foo2
12# LLVM:      Other [ (0xC0)
13# LLVM-NEXT:   STO_RISCV_VARIANT_CC (0x80)
14# LLVM-NEXT: ]
15# LLVM:      Name: foo3
16# LLVM:      Other [ (0x83)
17# LLVM-NEXT:   STO_RISCV_VARIANT_CC (0x80)
18# LLVM-NEXT:   STV_PROTECTED (0x3)
19# LLVM-NEXT: ]
20
21# GNU:      Symbol table '.symtab' contains 4 entries:
22# GNU:      1: 0000000000000000 0 NOTYPE LOCAL DEFAULT   [VARIANT_CC]      UND foo1
23# GNU-NEXT: 2: 0000000000000000 0 NOTYPE LOCAL DEFAULT   [VARIANT_CC | 40] UND foo2
24# GNU-NEXT: 3: 0000000000000000 0 NOTYPE LOCAL PROTECTED [VARIANT_CC]      UND foo3
25
26--- !ELF
27FileHeader:
28  Class:   ELFCLASS64
29  Data:    ELFDATA2LSB
30  Type:    ET_REL
31  Machine: EM_RISCV
32Symbols:
33  - Name: foo1
34    Other: [ STO_RISCV_VARIANT_CC ]
35  - Name: foo2
36    Other: [ STO_RISCV_VARIANT_CC, 0x40 ]
37  - Name: foo3
38    Other: [ STO_RISCV_VARIANT_CC, STV_PROTECTED ]
39