[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / tools / obj2yaml / elf-llvm-addrsig-section.yaml
blob9519d1f05ba9dbdac1eb3a9a3f7efd02abdbaa50
1 ## Check how obj2yaml dumps the SHT_LLVM_ADDRSIG section.
3 ## Check that when possible obj2yaml tries to produce the "Name" tag when
4 ## dumping entries of the SHT_LLVM_ADDRSIG section. It falls back to producing
5 ## the "Index" tag when it can't match a symbol index with a symbol table entry.
7 # RUN: yaml2obj --docnum=1 %s -o %t1
8 # RUN: obj2yaml %t1 | FileCheck %s --check-prefix=NAME
10 # NAME:      - Name: .llvm_addrsig
11 # NAME-NEXT:   Type: SHT_LLVM_ADDRSIG
12 # NAME-NEXT:   Link: .symtab
13 # NAME-NEXT:   Symbols:
14 # NAME-NEXT:     - Name:  foo
15 # NAME-NEXT:     - Name:  bar
16 # NAME-NEXT:     - Index: 0x00000003
17 # NAME-NEXT:     - Index: 0xFFFFFFFF
18 # NAME:      - Name: .llvm_addrsig_unlinked
19 # NAME-NEXT:   Type: SHT_LLVM_ADDRSIG
20 # NAME-NEXT:   Symbols:
21 # NAME-NEXT:     - Index: 0x00000001
22 # NAME-NEXT:     - Index: 0x00000002
23 # NAME-NEXT:     - Index: 0x00000003
24 # NAME-NEXT:     - Index: 0xFFFFFFFF
26 --- !ELF
27 FileHeader:
28   Class:   ELFCLASS64
29   Data:    ELFDATA2LSB
30   Type:    ET_DYN
31   Machine: EM_X86_64
32 Sections:
33   - Name: .llvm_addrsig
34     Type: SHT_LLVM_ADDRSIG
35     Symbols:
36       - Index: 1
37       - Index: 2
38       - Index: 3
39       - Index: 0xFFFFFFFF
40   - Name: .llvm_addrsig_unlinked
41     Type: SHT_LLVM_ADDRSIG
42     Link: 0
43     Symbols:
44       - Index: 1
45       - Index: 2
46       - Index: 3
47       - Index: 0xFFFFFFFF
48 Symbols:
49   - Name:    foo
50     Type:    STT_FUNC
51     Binding: STB_GLOBAL
52   - Name:    bar
53     Type:    STT_FUNC
54     Binding: STB_GLOBAL
56 ## Check that obj2yaml dumps the SHT_LLVM_ADDRSIG section
57 ## data using the "Content" tag when at least one of the entries is broken,
58 ## e.g. because the entry contains a malformed uleb128 value.
60 # RUN: yaml2obj --docnum=2 %s -o %t2
61 # RUN: obj2yaml %t2 | FileCheck %s --check-prefix=INVALID-ENTRY
63 # INVALID-ENTRY:      - Name:    .llvm_addrsig
64 # INVALID-ENTRY-NEXT:   Type:    SHT_LLVM_ADDRSIG
65 # INVALID-ENTRY-NEXT:   Content: FFFFFFFFFF
67 --- !ELF
68 FileHeader:
69   Class:   ELFCLASS64
70   Data:    ELFDATA2LSB
71   Type:    ET_DYN
72   Machine: EM_X86_64
73 Sections:
74   - Name: .llvm_addrsig
75     Type: SHT_LLVM_ADDRSIG
76     Content: "FFFFFFFFFF"
78 ## obj2yaml produces a "Symbols" tag when describing an empty SHT_LLVM_ADDRSIG section.
80 # RUN: yaml2obj --docnum=3 %s -o %t3
81 # RUN: obj2yaml %t3 | FileCheck %s --check-prefix=EMPTY
83 # EMPTY:      - Name:    .llvm_addrsig
84 # EMPTY-NEXT:   Type:    SHT_LLVM_ADDRSIG
85 # EMPTY-NEXT:   Symbols: []
87 --- !ELF
88 FileHeader:
89   Class:   ELFCLASS64
90   Data:    ELFDATA2LSB
91   Type:    ET_DYN
92   Machine: EM_X86_64
93 Sections:
94   - Name: .llvm_addrsig
95     Type: SHT_LLVM_ADDRSIG
96     Content: ""