Recommit "rL366894: [yaml2obj] - Allow custom fields for the SHT_UNDEF sections."
[llvm-complete.git] / test / tools / yaml2obj / implicit-sections-types.test
blob8360fa73d825c3997c79d641c5f364a3b28ec2fe
1 ## Here we check the types set for implicit sections
2 ## in different cases.
4 ## Check the types set by default in case sections were implicitly
5 ## added and not described in the YAML.
7 # RUN: yaml2obj --docnum=1 %s -o %t1
8 # RUN: llvm-readobj -S %t1 | FileCheck %s --check-prefix=CASE1
10 # CASE1:      Name: .symtab
11 # CASE1-NEXT: Type: SHT_SYMTAB
12 # CASE1:      Name: .strtab
13 # CASE1-NEXT: Type: SHT_STRTAB
14 # CASE1:      Name: .shstrtab
15 # CASE1-NEXT: Type: SHT_STRTAB
16 # CASE1:      Name: .dynsym
17 # CASE1-NEXT: Type: SHT_DYNSYM
18 # CASE1:      Name: .dynstr
19 # CASE1-NEXT: Type: SHT_STRTAB
21 --- !ELF
22 FileHeader:
23   Class:   ELFCLASS64
24   Data:    ELFDATA2LSB
25   Type:    ET_DYN
26   Machine: EM_X86_64
27 ## Needed to force the creation of the .dynsym and .dynstr.
28 DynamicSymbols:
29   - Name:    foo
30   - Binding: STB_GLOBAL
32 ## Check we can set any arbitrary types when describing sections
33 ## that are usually implicit.
35 # RUN: yaml2obj --docnum=2 %s -o %t2
36 # RUN: llvm-readobj -S %t2 | FileCheck %s --check-prefix=CASE2
38 # CASE2:      Name: .symtab
39 # CASE2-NEXT: Type: SHT_DYNAMIC
40 # CASE2:      Name: .strtab
41 # CASE2-NEXT: Type: SHT_RELA
42 # CASE2:      Name: .shstrtab
43 # CASE2-NEXT: Type: SHT_PROGBITS
44 # CASE2:      Name: .dynsym
45 # CASE2-NEXT: Type: SHT_NOTE
46 # CASE2:      Name: .dynstr
47 # CASE2-NEXT: Type: SHT_NOBITS
49 --- !ELF
50 FileHeader:
51   Class:   ELFCLASS64
52   Data:    ELFDATA2LSB
53   Type:    ET_DYN
54   Machine: EM_X86_64
55 Sections:
56   - Name: .symtab
57     Type: SHT_DYNAMIC
58   - Name: .strtab
59     Type: SHT_RELA
60   - Name: .shstrtab
61     Type: SHT_PROGBITS
62   - Name: .dynsym
63     Type: SHT_NOTE
64   - Name: .dynstr
65     Type: SHT_NOBITS
66 ## Needed to set the proper content size for .symtab, so
67 ## that llvm-readobj can dump this section.
68 Symbols:
69   - Name: foo