[ARM] Cortex-M4 schedule additions
[llvm-complete.git] / test / tools / llvm-readobj / elf-section-types.test
blob2c4e921456ad8e6655a0be87d20d9991d00bfeca
1 # Show that all regular section types are properly printed for both LLVM and
2 # GNU styles.
4 # RUN: yaml2obj %s -o %t-basic.o
5 # RUN: llvm-readobj --section-headers %t-basic.o | FileCheck %s --check-prefix=LLVM
6 # RUN: llvm-readelf --section-headers %t-basic.o | FileCheck %s --check-prefix=GNU
8 # LLVM: Name: (0)
9 # LLVM: Type: SHT_NULL
10 # LLVM: Name: progbits
11 # LLVM: Type: SHT_PROGBITS
12 # LLVM: Name: rela
13 # LLVM: Type: SHT_RELA
14 # LLVM: Name: hash
15 # LLVM: Type: SHT_HASH
16 # LLVM: Name: dynamic
17 # LLVM: Type: SHT_DYNAMIC
18 # LLVM: Name: note
19 # LLVM: Type: SHT_NOTE
20 # LLVM: Name: nobits
21 # LLVM: Type: SHT_NOBITS
22 # LLVM: Name: rel
23 # LLVM: Type: SHT_REL
24 # LLVM: Name: shlib
25 # LLVM: Type: SHT_SHLIB
26 # LLVM: Name: dynsym
27 # LLVM: Type: SHT_DYNSYM
28 # LLVM: Name: init_array
29 # LLVM: Type: SHT_INIT_ARRAY
30 # LLVM: Name: fini_array
31 # LLVM: Type: SHT_FINI_ARRAY
32 # LLVM: Name: preinit_array
33 # LLVM: Type: SHT_PREINIT_ARRAY
34 # LLVM: Name: group
35 # LLVM: Type: SHT_GROUP
36 # LLVM: Name: symtab_shndx
37 # LLVM: Type: SHT_SYMTAB_SHNDX
38 # LLVM: Name: relr
39 # LLVM: Type: SHT_RELR
40 # LLVM: Name: android_rel
41 # LLVM: Type: SHT_ANDROID_REL
42 # LLVM: Name: android_rela
43 # LLVM: Type: SHT_ANDROID_RELA
44 # LLVM: Name: android_relr
45 # LLVM: Type: SHT_ANDROID_RELR
46 # LLVM: Name: llvm_odrtab
47 # LLVM: Type: SHT_LLVM_ODRTAB
48 # LLVM: Name: linker_options
49 # LLVM: Type: SHT_LLVM_LINKER_OPTIONS
50 # LLVM: Name: llvm_call_graph_profile
51 # LLVM: Type: SHT_LLVM_CALL_GRAPH_PROFILE
52 # LLVM: Name: llvm_addrsig
53 # LLVM: Type: SHT_LLVM_ADDRSIG
54 # LLVM: Name: .deplibs
55 # LLVM: Type: SHT_LLVM_DEPENDENT_LIBRARIES
56 # LLVM: Name: .llvm_sympart.f
57 # LLVM: Type: SHT_LLVM_SYMPART
58 # LLVM: Name: part1
59 # LLVM: Type: SHT_LLVM_PART_EHDR
60 # LLVM: Name: .phdrs
61 # LLVM: Type: SHT_LLVM_PART_PHDR
62 # LLVM: Name: gnu_attributes
63 # LLVM: Type: SHT_GNU_ATTRIBUTES
64 # LLVM: Name: gnu_hash
65 # LLVM: Type: SHT_GNU_HASH
66 # LLVM: Name: gnu_verdef
67 # LLVM: Type: SHT_GNU_verdef
68 # LLVM: Name: gnu_verneed
69 # LLVM: Type: SHT_GNU_verneed
70 # LLVM: Name: unknown
71 # LLVM: Type: Unknown (0x1000)
72 # LLVM: Name: loos
73 # LLVM: Type: Unknown (0x60000000)
74 # LLVM: Name: fooos
75 # LLVM: Type: Unknown (0x60000F00)
76 # LLVM: Name: hios
77 # LLVM: Type: SHT_GNU_versym
78 # LLVM: Name: loproc
79 # LLVM: Type: Unknown (0x70000000)
80 # LLVM: Name: fooproc
81 # LLVM: Type: Unknown (0x70000F00)
82 # LLVM: Name: hiproc
83 # LLVM: Type: Unknown (0x7FFFFFFF)
84 # LLVM: Name: louser
85 # LLVM: Type: Unknown (0x80000000)
86 # LLVM: Name: foouser
87 # LLVM: Type: Unknown (0x80000F00)
88 # LLVM: Name: hiuser
89 # LLVM: Type: Unknown (0xFFFFFFFF)
90 # LLVM: Name: .symtab
91 # LLVM: Type: SHT_SYMTAB
92 # LLVM: Name: .strtab
93 # LLVM: Type: SHT_STRTAB
95 # GNU: [ 0]                         NULL
96 # GNU-NEXT: progbits                PROGBITS
97 # GNU-NEXT: rela                    RELA
98 # GNU-NEXT: hash                    HASH
99 # GNU-NEXT: dynamic                 DYNAMIC
100 # GNU-NEXT: note                    NOTE
101 # GNU-NEXT: nobits                  NOBITS
102 # GNU-NEXT: rel                     REL
103 # GNU-NEXT: shlib                   SHLIB
104 # GNU-NEXT: dynsym                  DYNSYM
105 # GNU-NEXT: init_array              INIT_ARRAY
106 # GNU-NEXT: fini_array              FINI_ARRAY
107 # GNU-NEXT: preinit_array           PREINIT_ARRAY
108 # GNU-NEXT: group                   GROUP
109 # GNU-NEXT: symtab_shndx            SYMTAB SECTION INDICES
110 # GNU-NEXT: relr                    RELR
111 # GNU-NEXT: android_rel             ANDROID_REL
112 # GNU-NEXT: android_rela            ANDROID_RELA
113 # GNU-NEXT: android_relr            RELR
114 # GNU-NEXT: llvm_odrtab             LLVM_ODRTAB
115 # GNU-NEXT: linker_options          LLVM_LINKER_OPTIONS
116 # GNU-NEXT: llvm_call_graph_profile LLVM_CALL_GRAPH_PROFILE
117 # GNU-NEXT: llvm_addrsig            LLVM_ADDRSIG
118 # GNU-NEXT: .deplibs                LLVM_DEPENDENT_LIBRARIES
119 # GNU-NEXT: .llvm_sympart.f         LLVM_SYMPART
120 # GNU-NEXT: part1                   LLVM_PART_EHDR
121 # GNU-NEXT: .phdrs                  LLVM_PART_PHDR
122 # GNU-NEXT: gnu_attributes          ATTRIBUTES
123 # GNU-NEXT: gnu_hash                GNU_HASH
124 # GNU-NEXT: gnu_verdef              VERDEF
125 # GNU-NEXT: gnu_verneed             VERNEED
126 # GNU-NEXT: unknown                 0x1000: <unknown>
127 # GNU-NEXT: loos                    LOOS+0x0
128 # GNU-NEXT: fooos                   LOOS+0xF00
129 # GNU-NEXT: hios                    VERSYM
130 # GNU-NEXT: loproc                  LOPROC+0x0
131 # GNU-NEXT: fooproc                 LOPROC+0xF00
132 # GNU-NEXT: hiproc                  LOPROC+0xFFFFFFF
133 # GNU-NEXT: louser                  LOUSER+0x0
134 # GNU-NEXT: foouser                 LOUSER+0xF00
135 # GNU-NEXT: hiuser                  LOUSER+0x7FFFFFFF
136 # GNU-NEXT: .symtab                 SYMTAB
137 # GNU-NEXT: .strtab                 STRTAB
139 --- !ELF
140 FileHeader:
141   Class:   ELFCLASS64
142   Data:    ELFDATA2LSB
143   Type:    ET_REL
144   Machine: EM_X86_64
145 Sections:
146   - Name: progbits
147     Type: SHT_PROGBITS
148   - Name: rela
149     Type: SHT_RELA
150     Info: progbits
151   - Name: hash
152     Type: SHT_HASH
153   - Name: dynamic
154     Type: SHT_DYNAMIC
155   - Name: note
156     Type: SHT_NOTE
157   - Name: nobits
158     Type: SHT_NOBITS
159   - Name: rel
160     Type: SHT_REL
161     Info: progbits
162   - Name: shlib
163     Type: SHT_SHLIB
164   - Name: dynsym
165     Type: SHT_DYNSYM
166     Link: .strtab
167   - Name: init_array
168     Type: SHT_INIT_ARRAY
169   - Name: fini_array
170     Type: SHT_FINI_ARRAY
171   - Name: preinit_array
172     Type: SHT_PREINIT_ARRAY
173   - Name: group
174     Type: SHT_GROUP
175     Info: foo
176     Members:
177         - SectionOrType: 0
178   - Name: symtab_shndx
179     Type: SHT_SYMTAB_SHNDX
180     Link: .symtab
181     Entries: [ 0, 1 ]
182   - Name: relr
183     Type: SHT_RELR
184   - Name: android_rel
185     Type: SHT_ANDROID_REL
186   - Name: android_rela
187     Type: SHT_ANDROID_RELA
188   - Name: android_relr
189     Type: SHT_ANDROID_RELR
190   - Name: llvm_odrtab
191     Type: SHT_LLVM_ODRTAB
192   - Name: linker_options
193     Type: SHT_LLVM_LINKER_OPTIONS
194   - Name: llvm_call_graph_profile
195     Type: SHT_LLVM_CALL_GRAPH_PROFILE
196   - Name: llvm_addrsig
197     Type: SHT_LLVM_ADDRSIG
198   - Name: .deplibs
199     Type: SHT_LLVM_DEPENDENT_LIBRARIES
200   - Name: .llvm_sympart.f
201     Type: SHT_LLVM_SYMPART
202   - Name: part1
203     Type: SHT_LLVM_PART_EHDR
204   - Name: .phdrs
205     Type: SHT_LLVM_PART_PHDR
206   - Name: gnu_attributes
207     Type: SHT_GNU_ATTRIBUTES
208   - Name: gnu_hash
209     Type: SHT_GNU_HASH
210   - Name: gnu_verdef
211     Type: SHT_GNU_verdef
212     Info: 0
213     Entries:
214   - Name: gnu_verneed
215     Type: SHT_GNU_verneed
216     Info: 0
217     Dependencies:
218   - Name: unknown
219     Type: 0x1000
220   - Name: loos
221     Type: 0x60000000
222   - Name: fooos
223     Type: 0x60000F00
224   - Name: hios
225     Type: 0x6fffffff
226     Entries: []
227   - Name: loproc
228     Type: 0x70000000
229   - Name: fooproc
230     Type: 0x70000F00
231   - Name: hiproc
232     Type: 0x7fffffff
233   - Name: louser
234     Type: 0x80000000
235   - Name: foouser
236     Type: 0x80000F00
237   - Name: hiuser
238     Type: 0xffffffff
239 Symbols:
240   - Name:    foo
241     Binding: STB_GLOBAL