Merging r260587:
[oota-llvm.git] / test / Object / yaml2obj-elf-symbol-visibility.yaml
1 # RUN: yaml2obj -format=elf %s | llvm-readobj -symbols - | \
2 # RUN:   FileCheck --check-prefix OBJ %s
3 # RUN: yaml2obj -format=elf %s | obj2yaml - | FileCheck --check-prefix YAML %s
4
5 # OBJ:      Symbol {
6 # OBJ:        Name: default1 (36)
7 # OBJ-NEXT:   Value: 0x0
8 # OBJ-NEXT:   Size: 4
9 # OBJ-NEXT:   Binding: Global (0x1)
10 # OBJ-NEXT:   Type: Object (0x1)
11 # OBJ-NEXT:   Other: 0
12 # OBJ-NEXT:   Section: .data (0x1)
13 # OBJ-NEXT: }
14 # OBJ-NEXT: Symbol {
15 # OBJ-NEXT:   Name: default2 (27)
16 # OBJ-NEXT:   Value: 0x4
17 # OBJ-NEXT:   Size: 4
18 # OBJ-NEXT:   Binding: Global (0x1)
19 # OBJ-NEXT:   Type: Object (0x1)
20 # OBJ-NEXT:   Other: 0
21 # OBJ-NEXT:   Section: .data (0x1)
22 # OBJ-NEXT: }
23 # OBJ-NEXT: Symbol {
24 # OBJ-NEXT:   Name: internal (8)
25 # OBJ-NEXT:   Value: 0x8
26 # OBJ-NEXT:   Size: 4
27 # OBJ-NEXT:   Binding: Global (0x1)
28 # OBJ-NEXT:   Type: Object (0x1)
29 # OBJ-NEXT:   Other: 1
30 # OBJ-NEXT:   Section: .data (0x1)
31 # OBJ-NEXT: }
32 # OBJ-NEXT: Symbol {
33 # OBJ-NEXT:   Name: hidden (1)
34 # OBJ-NEXT:   Value: 0xC
35 # OBJ-NEXT:   Size: 4
36 # OBJ-NEXT:   Binding: Global (0x1)
37 # OBJ-NEXT:   Type: Object (0x1)
38 # OBJ-NEXT:   Other: 2
39 # OBJ-NEXT:   Section: .data (0x1)
40 # OBJ-NEXT: }
41 # OBJ-NEXT: Symbol {
42 # OBJ-NEXT:   Name: protected (17)
43 # OBJ-NEXT:   Value: 0x10
44 # OBJ-NEXT:   Size: 4
45 # OBJ-NEXT:   Binding: Global (0x1)
46 # OBJ-NEXT:   Type: Object (0x1)
47 # OBJ-NEXT:   Other: 163
48 # OBJ-NEXT:   Section: .data (0x1)
49 # OBJ-NEXT: }
50
51 # YAML:      Symbols:
52 # YAML-NEXT:   Global:
53 # YAML-NEXT:     - Name:            default1
54 # YAML-NEXT:       Type:            STT_OBJECT
55 # YAML-NEXT:       Section:         .data
56 # YAML-NEXT:       Size:            0x0000000000000004
57 # YAML-NEXT:     - Name:            default2
58 # YAML-NEXT:       Type:            STT_OBJECT
59 # YAML-NEXT:       Section:         .data
60 # YAML-NEXT:       Value:           0x0000000000000004
61 # YAML-NEXT:       Size:            0x0000000000000004
62 # YAML-NEXT:     - Name:            internal
63 # YAML-NEXT:       Type:            STT_OBJECT
64 # YAML-NEXT:       Section:         .data
65 # YAML-NEXT:       Value:           0x0000000000000008
66 # YAML-NEXT:       Size:            0x0000000000000004
67 # YAML-NEXT:       Visibility:      STV_INTERNAL
68 # YAML-NEXT:     - Name:            hidden
69 # YAML-NEXT:       Type:            STT_OBJECT
70 # YAML-NEXT:       Section:         .data
71 # YAML-NEXT:       Value:           0x000000000000000C
72 # YAML-NEXT:       Size:            0x0000000000000004
73 # YAML-NEXT:       Visibility:      STV_HIDDEN
74 # YAML-NEXT:     - Name:            protected
75 # YAML-NEXT:       Type:            STT_OBJECT
76 # YAML-NEXT:       Section:         .data
77 # YAML-NEXT:       Value:           0x0000000000000010
78 # YAML-NEXT:       Size:            0x0000000000000004
79 # YAML-NEXT:       Visibility:      STV_PROTECTED
80 # YAML-NEXT:       Other:           [ STO_MIPS_PIC, STO_MIPS_MICROMIPS ]
81
82 ---
83 FileHeader:
84   Class:           ELFCLASS32
85   Data:            ELFDATA2LSB
86   Type:            ET_REL
87   Machine:         EM_MIPS
88   Flags:           [ EF_MIPS_ABI_O32, EF_MIPS_ARCH_32 ]
89
90 Sections:
91   - Name:            .data
92     Type:            SHT_PROGBITS
93     Flags:           [ SHF_ALLOC, SHF_WRITE ]
94     AddressAlign:    0x04
95     Size:            0x14
96
97 Symbols:
98   Global:
99     - Name:            default1
100       Type:            STT_OBJECT
101       Visibility:      STV_DEFAULT
102       Section:         .data
103       Value:           0x00
104       Size:            0x04
105     - Name:            default2
106       Type:            STT_OBJECT
107       Section:         .data
108       Value:           0x04
109       Size:            0x04
110     - Name:            internal
111       Type:            STT_OBJECT
112       Visibility:      STV_INTERNAL
113       Section:         .data
114       Value:           0x08
115       Size:            0x04
116     - Name:            hidden
117       Type:            STT_OBJECT
118       Visibility:      STV_HIDDEN
119       Section:         .data
120       Value:           0x0C
121       Size:            0x04
122     - Name:            protected
123       Type:            STT_OBJECT
124       Visibility:      STV_PROTECTED
125       Other:           [ STO_MIPS_MICROMIPS, STO_MIPS_PIC ]
126       Section:         .data
127       Value:           0x10
128       Size:            0x04