[lit] Add argument check: --timeout must be non-negative integer
[llvm-core.git] / test / tools / yaml2obj / versym-section.yaml
blob384b41708b3f6577f0631b6f9586c4ae6f282d77
1 ## Check we are able to produce a valid SHT_GNU_versym
2 ## section from its description.
4 # RUN: yaml2obj --docnum=1 %s -o %t1
5 # RUN: llvm-readobj -V %t1 | FileCheck %s
7 # CHECK:      Version symbols [
8 # CHECK-NEXT:   Symbol {
9 # CHECK-NEXT:     Version: 0
10 # CHECK-NEXT:     Name:
11 # CHECK-NEXT:   }
12 # CHECK-NEXT:   Symbol {
13 # CHECK-NEXT:     Version: 3
14 # CHECK-NEXT:     Name: f1@v1
15 # CHECK-NEXT:   }
16 # CHECK-NEXT:   Symbol {
17 # CHECK-NEXT:     Version: 4
18 # CHECK-NEXT:     Name: f2@v2
19 # CHECK-NEXT:   }
20 # CHECK-NEXT: ]
21 # CHECK-NEXT: SHT_GNU_verdef {
22 # CHECK-NEXT: }
23 # CHECK-NEXT: SHT_GNU_verneed {
24 # CHECK-NEXT:   Dependency {
25 # CHECK-NEXT:     Version: 1
26 # CHECK-NEXT:     Count: 2
27 # CHECK-NEXT:     FileName: dso.so.0
28 # CHECK-NEXT:     Entries [
29 # CHECK-NEXT:       Entry {
30 # CHECK-NEXT:         Hash: 1937
31 # CHECK-NEXT:         Flags: 0x0
32 # CHECK-NEXT:         Index: 3
33 # CHECK-NEXT:         Name: v1
34 # CHECK-NEXT:       }
35 # CHECK-NEXT:       Entry {
36 # CHECK-NEXT:         Hash: 1938
37 # CHECK-NEXT:         Flags: 0x0
38 # CHECK-NEXT:         Index: 4
39 # CHECK-NEXT:         Name: v2
40 # CHECK-NEXT:       }
41 # CHECK-NEXT:     ]
42 # CHECK-NEXT:   }
43 # CHECK-NEXT: }
45 --- !ELF
46 FileHeader:
47   Class:           ELFCLASS64
48   Data:            ELFDATA2LSB
49   Type:            ET_EXEC
50   Machine:         EM_X86_64
51   Entry:           0x0000000000201000
52 Sections:
53   - Name:            .gnu.version
54     Type:            SHT_GNU_versym
55     Flags:           [ SHF_ALLOC ]
56     Address:         0x0000000000200210
57     Link:            .dynsym
58     AddressAlign:    0x0000000000000002
59     EntSize:         0x0000000000000002
60     Entries:         [ 0, 3, 4 ]
61   - Name:            .gnu.version_r
62     Type:            SHT_GNU_verneed
63     Flags:           [ SHF_ALLOC ]
64     Address:         0x0000000000200250
65     Link:            .dynstr
66     AddressAlign:    0x0000000000000004
67     Info:            0x0000000000000001
68     Dependencies:
69       - Version:         1
70         File:            dso.so.0
71         Entries:         
72           - Name:            v1
73             Hash:            1937
74             Flags:           0
75             Other:           3
76           - Name:            v2
77             Hash:            1938
78             Flags:           0
79             Other:           4
80 DynamicSymbols:
81   - Name:    f1
82     Binding: STB_GLOBAL
83   - Name:    f2
84     Binding: STB_GLOBAL
85 ...
87 ## Check we are able to set custom sh_entsize field for SHT_GNU_versym section.
89 # RUN: yaml2obj --docnum=2 %s -o %t2
90 # RUN: llvm-readelf -S %t2 | FileCheck %s --check-prefix=ENTSIZE
92 # ENTSIZE: Section Headers:
93 # ENTSIZE:   [Nr] Name         Type   Address          Off    Size   ES
94 # ENTSIZE:   [ 1] .gnu.version VERSYM 0000000000000000 000040 000000 03
96 --- !ELF
97 FileHeader:
98   Class:   ELFCLASS64
99   Data:    ELFDATA2LSB
100   OSABI:   ELFOSABI_FREEBSD
101   Type:    ET_DYN
102   Machine: EM_X86_64
103 Sections:
104   - Name:    .gnu.version
105     Type:    SHT_GNU_versym
106     EntSize: 0x0000000000000003
107     Entries: [ ]