[lit] Add argument check: --timeout must be non-negative integer
[llvm-core.git] / test / tools / yaml2obj / dynamic-symbols.yaml
blob9ecb1c278f6bf5a635d2fe6a0024bb19f141e9a7
1 ## Ensures that implicitly added sections can be ordered within Sections.
3 # RUN: yaml2obj --docnum=1 %s -o %t1
4 # RUN: llvm-readobj --sections %t1 | FileCheck %s --check-prefix=SECTION
5 # RUN: llvm-nm --dynamic %t1 | FileCheck %s --check-prefix=SYMBOL
7 --- !ELF
8 FileHeader:
9   Class:           ELFCLASS64
10   Data:            ELFDATA2LSB
11   Type:            ET_DYN
12   Machine:         EM_X86_64
13 Sections:
14   - Name: .data
15     Type: SHT_PROGBITS
16     Flags: [ SHF_ALLOC, SHF_WRITE ]
17 DynamicSymbols:
18   - Name: dynlocal
19     Type: STT_OBJECT
20     Section: .data
21     Binding: STB_LOCAL
22   - Name: dynglobal
23     Type: STT_OBJECT
24     Section: .data
25     Binding: STB_GLOBAL
26   - Name: dynweak
27     Type: STT_OBJECT
28     Section: .data
29     Binding: STB_WEAK
31 # SECTION: Name: .dynsym
32 # SECTION-NEXT: Type: SHT_DYNSYM
33 # SECTION-NEXT: Flags
34 # SECTION-NEXT: SHF_ALLOC
35 # SECTION: Name: .dynstr
36 # SECTION-NEXT: Type: SHT_STRTAB
37 # SECTION-NEXT: Flags
38 # SECTION-NEXT: SHF_ALLOC
40 # SYMBOL-DAG: d dynlocal
41 # SYMBOL-DAG: D dynglobal
42 # SYMBOL-DAG: V dynweak
44 ## Check we can use numeric values to refer to sections.
46 # RUN: yaml2obj --docnum=2 %s -o %t2
47 # RUN: not llvm-readobj --dyn-symbols %t2 2>&1 | FileCheck -DFILE=%t2 %s --check-prefix=NUM
49 # NUM:      Name: foo
50 # NUM:      Section:
51 # NUM-SAME: .data (0x1)
53 # NUM:      Name: bar
54 # NUM:      Section: 
55 # NUM-SAME: .symtab (0x2)
57 # NUM: error: '[[FILE]]': invalid section index: 255
59 --- !ELF
60 FileHeader:
61   Class:   ELFCLASS64
62   Data:    ELFDATA2LSB
63   Type:    ET_DYN
64   Machine: EM_X86_64
65 Sections:
66   - Name: .data
67     Type: SHT_PROGBITS
68 DynamicSymbols:
69   - Name: foo
70     Section: 1
71   - Name: bar
72     Section: 2
73   - Name: zed
74     Section: 0xff
76 ## Check we report errors when unknown sections are referenced by dynamic symbols.
78 # RUN: not yaml2obj --docnum=3 %s 2>&1 | FileCheck -DFILE=%t3 %s --check-prefix=ERR
80 # ERR: error: unknown section referenced: '.sec1' by YAML symbol 'foo'
81 # ERR: error: unknown section referenced: '.sec2' by YAML symbol 'bar'
83 --- !ELF
84 FileHeader:
85   Class:   ELFCLASS64
86   Data:    ELFDATA2LSB
87   Type:    ET_DYN
88   Machine: EM_X86_64
89 Sections:
90   - Name: .data
91     Type: SHT_PROGBITS
92 DynamicSymbols:
93   - Name: foo
94     Section: .sec1
95   - Name: bar
96     Section: .sec2