[Alignment][NFC] Instructions::getLoadStoreAlignment
[llvm-complete.git] / test / tools / llvm-readobj / elf-symbol-visibility.test
blobbdc66d77472e856336624017cda6b5b7480bac5a
1 ## Show that llvm-readobj prints the symbol visibility where recognised, or
2 ## something sensible when not, for both GNU and LLVM output.
4 ## Check how we dump symbols when they have only STV_* bits set for st_other.
5 ## (This is the most common case).
7 # RUN: yaml2obj --docnum=1 %s > %t1.o
8 # RUN: llvm-readobj --symbols %t1.o | FileCheck %s --check-prefix=LLVM
9 # RUN: llvm-readelf --symbols %t1.o | FileCheck %s --strict-whitespace --check-prefix=GNU
11 # LLVM:      Name: default
12 # LLVM:      Other: 0
13 # LLVM:      Name: internal
14 # LLVM:      Other [ (0x1)
15 # LLVM-NEXT:   STV_INTERNAL (0x1)
16 # LLVM-NEXT: ]
17 # LLVM:      Name: hidden
18 # LLVM:      Other [ (0x2)
19 # LLVM-NEXT:   STV_HIDDEN (0x2)
20 # LLVM-NEXT: ]
21 # LLVM:      Name: protected
22 # LLVM:      Other [ (0x3)
23 # LLVM-NEXT:   STV_PROTECTED (0x3)
24 # LLVM-NEXT: ]
26 # GNU:      Vis       Ndx Name
27 # GNU-NEXT: DEFAULT   UND
28 # GNU-NEXT: DEFAULT   UND default
29 # GNU-NEXT: INTERNAL  UND internal
30 # GNU-NEXT: HIDDEN    UND hidden
31 # GNU-NEXT: PROTECTED UND protected
33 --- !ELF
34 FileHeader:
35   Class:   ELFCLASS32
36   Data:    ELFDATA2LSB
37   Type:    ET_REL
38   Machine: EM_386
39 Symbols:
40   - Name: default
41     Other: [ STV_DEFAULT ]
42     Binding: STB_GLOBAL
43   - Name: internal
44     Other: [ STV_INTERNAL ]
45     Binding: STB_GLOBAL
46   - Name: hidden
47     Other: [ STV_HIDDEN ]
48     Binding: STB_GLOBAL
49   - Name: protected
50     Other: [ STV_PROTECTED ]
51     Binding: STB_GLOBAL
53 ## Check the output when we have non-visibility bits set for at least one of the symbols.
55 # RUN: yaml2obj --docnum=2 %s > %t2.o
56 # RUN: llvm-readobj --symbols %t2.o | FileCheck %s --check-prefixes=LLVM,LLVM-OTHER
57 # RUN: llvm-readelf --symbols %t2.o | FileCheck %s --strict-whitespace --check-prefix=GNU-OTHER
59 # LLVM-OTHER:      Name: other
60 # LLVM-OTHER:      Other [ (0x4)
61 # LLVM-OTHER-NEXT: ]
63 #      GNU-OTHER: Vis                    Ndx Name
64 # GNU-OTHER-NEXT: DEFAULT                UND
65 # GNU-OTHER-NEXT: DEFAULT                UND default
66 # GNU-OTHER-NEXT: INTERNAL               UND internal
67 # GNU-OTHER-NEXT: HIDDEN                 UND hidden
68 # GNU-OTHER-NEXT: PROTECTED              UND protected
69 # GNU-OTHER-NEXT: DEFAULT [<other: 0x4>] UND other
71 --- !ELF
72 FileHeader:
73   Class:   ELFCLASS32
74   Data:    ELFDATA2LSB
75   Type:    ET_REL
76   Machine: EM_386
77 Symbols:
78   - Name: default
79     Other: [ STV_DEFAULT ]
80   - Name: internal
81     Other: [ STV_INTERNAL ]
82   - Name: hidden
83     Other: [ STV_HIDDEN ]
84   - Name: protected
85     Other: [ STV_PROTECTED ]
86   - Name: other
87     Other: [ 4 ]