[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / tools / yaml2obj / duplicate-symbol-names.test
blob0e50042a6c3d674d28341d6eeeed8f742d07f8ff
1 ## Check that yaml2obj is able to produce an object from YAML
2 ## containing symbols with duplicate names (but different name suffixes).
4 # RUN: yaml2obj --docnum=1 %s -o %t1
5 # RUN: llvm-readobj -t %t1 | FileCheck %s --check-prefix=CASE1
7 # CASE1: Name: localfoo (1)
8 # CASE1: Name: localfoo (1)
10 --- !ELF
11 FileHeader:
12   Class:   ELFCLASS64
13   Data:    ELFDATA2LSB
14   Type:    ET_REL
15   Machine: EM_X86_64
16 Symbols:
17   - Name: localfoo
18   - Name: 'localfoo [1]'
20 ## Check that yaml2obj reports an error when we have
21 ## symbols with equal names and suffixes.
23 # RUN: not yaml2obj --docnum=2 %s 2>&1| FileCheck %s --check-prefix=CASE2
24 # CASE2-COUNT-2: error: repeated symbol name: 'localfoo [1]'
26 --- !ELF
27 FileHeader:
28   Class:   ELFCLASS64
29   Data:    ELFDATA2LSB
30   Type:    ET_REL
31   Machine: EM_X86_64
32 Symbols:
33   - Name: 'localfoo [1]'
34   - Name: 'localfoo [1]'
35   - Name: 'localfoo [1]'
37 ## Check that yaml2obj reports an error when we have
38 ## symbols without suffixes in the names and their
39 ## names are equal.
41 # RUN: not yaml2obj --docnum=3 %s 2>&1| FileCheck %s --check-prefix=CASE3
42 # CASE3: error: repeated symbol name: 'localfoo'
43 # CASE3: error: repeated symbol name: 'localfoo'
45 --- !ELF
46 FileHeader:
47   Class:   ELFCLASS64
48   Data:    ELFDATA2LSB
49   Type:    ET_REL
50   Machine: EM_X86_64
51 Symbols:
52   - Name: localfoo
53   - Name: localfoo
54   - Name: localfoo
56 ## Check that yaml2obj can produce correct relocations that
57 ## reference symbols with name suffixes.
59 # RUN: yaml2obj --docnum=4 %s -o %t4
60 # RUN: llvm-readobj -r --expand-relocs %t4 | FileCheck %s --check-prefix=CASE4
62 # CASE4:      Relocations [
63 # CASE4-NEXT:   Section {{.*}} .rela.text {
64 # CASE4-NEXT:     Relocation {
65 # CASE4-NEXT:       Offset: 0x0
66 # CASE4-NEXT:       Type: R_X86_64_NONE
67 # CASE4-NEXT:       Symbol: foo (1)
68 # CASE4-NEXT:       Addend: 0x0
69 # CASE4-NEXT:     }
70 # CASE4-NEXT:     Relocation {
71 # CASE4-NEXT:       Offset: 0x1
72 # CASE4-NEXT:       Type: R_X86_64_NONE
73 # CASE4-NEXT:       Symbol: foo (2)
74 # CASE4-NEXT:       Addend: 0x0
75 # CASE4-NEXT:     }
76 # CASE4-NEXT:   }
77 # CASE4-NEXT: ]
79 --- !ELF
80 FileHeader:
81   Class:   ELFCLASS64
82   Data:    ELFDATA2LSB
83   Type:    ET_REL
84   Machine: EM_X86_64
85 Sections:
86   - Name: .text
87     Type: SHT_PROGBITS
88   - Name: .rela.text
89     Type: SHT_RELA
90     Info: .text
91     Link: .symtab
92     Relocations:
93       - Offset: 0x0
94         Type:   R_X86_64_NONE
95         Symbol: foo
96       - Offset: 0x1
97         Type:   R_X86_64_NONE
98         Symbol: 'foo [1]'
99 Symbols:
100   - Name: foo
101   - Name: 'foo [1]'