[InstCombine] Remove insertRangeTest code that handles the equality case.
[llvm-complete.git] / test / tools / llvm-readobj / elf-symbol-shndx.test
blobad04be54262167ea5340176311cf24b3795ce5df
1 # Show that llvm-readobj prints symbol shndxes correctly, for valid indexes,
2 # invalid indexes (i.e. section indexes that don't correspond to a real
3 # section), reserved values and processor/os-specific index values, for both GNU
4 # and LLVM styles.
6 # Use --dyn-symbols because yaml2obj does not currently support large section indexes
7 # and also does not allow hand-crafting of static symbol tables.
8 # RUN: yaml2obj --docnum=1 %s > %t1
9 # RUN: llvm-readobj --symbols --dyn-symbols %t1 | FileCheck %s --check-prefix=LLVM
10 # RUN: llvm-readelf --symbols --dyn-symbols %t1 | FileCheck %s --check-prefix=GNU1
12 # llvm-readobj doesn't accept shndx values that are not valid section indexes
13 # for LLVM style, so only test GNU output in this case.
14 # RUN: yaml2obj --docnum=2 %s > %t2
15 # RUN: llvm-readelf --symbols %t2 | FileCheck %s --check-prefix=GNU2
17 # LLVM: Name:    undef
18 # LLVM: Section: Undefined (0x0)
19 # LLVM: Name:    normal
20 # LLVM: Section: .text (0x1)
21 # LLVM: Name:    common
22 # LLVM: Section: Common (0xFFF2)
23 # LLVM: Name:    absolute
24 # LLVM: Section: Absolute (0xFFF1)
25 # LLVM: Name:    proc
26 # LLVM: Section: Processor Specific (0xFF01)
27 # LLVM: Name:    os
28 # LLVM: Section: Operating System Specific (0xFF21)
29 # LLVM: Name:    reserved
30 # LLVM: Section: Reserved (0xFFFE)
32 # GNU1:      Symbol table '.dynsym' contains 2 entries:
33 # GNU1-NEXT:   Num: {{.*}} Ndx Name
34 # GNU1-NEXT:     0: {{.*}} UND
35 # GNU1-NEXT:     1: {{.*}}   1 xindex
36 # GNU1:      Symbol table '.symtab' contains 8 entries:
37 # GNU1-NEXT:   Num: {{.*}} Ndx Name
38 # GNU1-NEXT:     0: {{.*}} UND
39 # GNU1-NEXT:     1: {{.*}} UND undef
40 # GNU1-NEXT:     2: {{.*}}   1 normal
41 # GNU1-NEXT:     3: {{.*}} COM common
42 # GNU1-NEXT:     4: {{.*}} ABS absolute
43 # GNU1-NEXT:     5: {{.*}} PRC[0xff01] proc
44 # GNU1-NEXT:     6: {{.*}} OS[0xff21] os
45 # GNU1-NEXT:     7: {{.*}} RSV[0xfffe] reserved
47 # GNU2:      Symbol table '.symtab' contains 2 entries:
48 # GNU2-NEXT:   Num: {{.*}} Ndx Name
49 # GNU2-NEXT:     0: {{.*}} UND
50 # GNU2-NEXT:     1: {{.*}}  66 bad
52 --- !ELF
53 FileHeader:
54   Class:   ELFCLASS32
55   Data:    ELFDATA2LSB
56   Type:    ET_REL
57   Machine: EM_386
58 Sections:
59   - Name: .text
60     Type: SHT_PROGBITS
61   - Name: .dynstr
62     Type: SHT_STRTAB
63     #\0xindex\0
64     Content: "0078696e64657800"
65   - Name: .dynsym
66     Type: SHT_DYNSYM
67     Link: .dynstr
68     EntSize: 16
69     # Null symbol
70     # Symbol with st_name = 1, st_shndx = SHN_XINDEX
71     Content: "000000000000000000000000000000000100000000000000000000000000ffff"
72   - Name: .symtab_shndx
73     Type: SHT_SYMTAB_SHNDX
74     Link: .dynsym
75     EntSize: 4
76     Content: "0000000001000000"
77 Symbols:
78   - Name:    undef
79     Binding: STB_GLOBAL
80   - Name:    normal
81     Section: .text
82     Binding: STB_GLOBAL
83   - Name:    common
84     Index:   SHN_COMMON
85     Binding: STB_GLOBAL
86   - Name:    absolute
87     Index:   SHN_ABS
88     Binding: STB_GLOBAL
89   - Name:    proc
90     Index:   0xff01
91     Binding: STB_GLOBAL
92   - Name:    os
93     Index:   0xff21
94     Binding: STB_GLOBAL
95   - Name:    reserved
96     Index:   0xfffe
97     Binding: STB_GLOBAL
99 --- !ELF
100 FileHeader:
101   Class:   ELFCLASS32
102   Data:    ELFDATA2LSB
103   Type:    ET_REL
104   Machine: EM_386
105 Symbols:
106   - Name:    bad
107     Index:   0x42
108     Binding: STB_GLOBAL