|
15 | 15 | # RUN: llvm-readobj --arch-specific out2 | FileCheck %s --check-prefix=CHECK2
|
16 | 16 |
|
17 | 17 | # RUN: llvm-mc -filetype=obj -triple=riscv64 unrecognized_ext1.s -o unrecognized_ext1.o
|
18 |
| -# RUN: not ld.lld unrecognized_ext1.o -o /dev/null 2>&1 | FileCheck %s --check-prefix=UNRECOGNIZED_EXT1 --implicit-check-not=error: |
19 |
| -# UNRECOGNIZED_EXT1: error: unrecognized_ext1.o:(.riscv.attributes): rv64i2p0_y2p0: invalid standard user-level extension 'y' |
| 18 | +# RUN: ld.lld -e 0 unrecognized_ext1.o -o unrecognized_ext1 2>&1 | count 0 |
| 19 | +# RUN: llvm-readobj --arch-specific unrecognized_ext1 | FileCheck %s --check-prefix=UNRECOGNIZED_EXT1 |
20 | 20 |
|
21 | 21 | # RUN: llvm-mc -filetype=obj -triple=riscv64 unrecognized_ext2.s -o unrecognized_ext2.o
|
22 |
| -# RUN: not ld.lld unrecognized_ext2.o -o /dev/null 2>&1 | FileCheck %s --check-prefix=UNRECOGNIZED_EXT2 --implicit-check-not=error: |
23 |
| -# UNRECOGNIZED_EXT2: error: unrecognized_ext2.o:(.riscv.attributes): rv64i2p0_zmadeup1p0: unsupported version number 1.0 for extension 'zmadeup' |
| 22 | +# RUN: ld.lld -e 0 unrecognized_ext2.o -o unrecognized_ext2 2>&1 | count 0 |
| 23 | +# RUN: llvm-readobj --arch-specific unrecognized_ext2 | FileCheck %s --check-prefix=UNRECOGNIZED_EXT2 |
24 | 24 |
|
25 | 25 | # RUN: llvm-mc -filetype=obj -triple=riscv64 unrecognized_version.s -o unrecognized_version.o
|
26 |
| -# RUN: not ld.lld unrecognized_version.o -o /dev/null 2>&1 | FileCheck %s --check-prefix=UNRECOGNIZED_VERSION --implicit-check-not=error: |
27 |
| -# UNRECOGNIZED_VERSION: error: unrecognized_version.o:(.riscv.attributes): rv64i99p0: unsupported version number 99.0 for extension 'i' |
| 26 | +# RUN: ld.lld -e 0 unrecognized_version.o -o unrecognized_version 2>&1 | count 0 |
| 27 | +# RUN: llvm-readobj --arch-specific unrecognized_version | FileCheck %s --check-prefix=UNRECOGNIZED_VERSION |
| 28 | + |
| 29 | +# RUN: llvm-mc -filetype=obj -triple=riscv64 merge_version_test_input.s -o merge_version_test_input.o |
| 30 | +# RUN: ld.lld -e 0 unrecognized_version.o merge_version_test_input.o -o out3 2>&1 | count 0 |
| 31 | +# RUN: llvm-readobj --arch-specific out3 | FileCheck %s --check-prefix=CHECK3 |
28 | 32 |
|
29 | 33 | # RUN: llvm-mc -filetype=obj -triple=riscv64 invalid_arch1.s -o invalid_arch1.o
|
30 |
| -# RUN: ld.lld -e 0 invalid_arch1.o -o invalid_arch1 |
31 |
| -# RUN: llvm-readobj --arch-specific invalid_arch1 | FileCheck %s --check-prefix=INVALID_ARCH1 |
| 34 | +# RUN: not ld.lld invalid_arch1.o -o /dev/null 2>&1 | FileCheck %s --check-prefix=INVALID_ARCH1 --implicit-check-not=error: |
| 35 | +# INVALID_ARCH1: error: invalid_arch1.o:(.riscv.attributes): rv64i2: extension lacks version in expected format |
32 | 36 |
|
33 | 37 | ## A zero value attribute is not printed.
|
34 | 38 | # RUN: llvm-mc -filetype=obj -triple=riscv64 unaligned_access_0.s -o unaligned_access_0.o
|
|
121 | 125 | # CHECK2-NEXT: }
|
122 | 126 | # CHECK2-NEXT: }
|
123 | 127 |
|
| 128 | +# CHECK3: BuildAttributes { |
| 129 | +# CHECK3-NEXT: FormatVersion: 0x41 |
| 130 | +# CHECK3-NEXT: Section 1 { |
| 131 | +# CHECK3-NEXT: SectionLength: 26 |
| 132 | +# CHECK3-NEXT: Vendor: riscv |
| 133 | +# CHECK3-NEXT: Tag: Tag_File (0x1) |
| 134 | +# CHECK3-NEXT: Size: 16 |
| 135 | +# CHECK3-NEXT: FileAttributes { |
| 136 | +# CHECK3-NEXT: Attribute { |
| 137 | +# CHECK3-NEXT: Tag: 5 |
| 138 | +# CHECK3-NEXT: TagName: arch |
| 139 | +# CHECK3-NEXT: Value: rv64i99p0 |
| 140 | +# CHECK3-NEXT: } |
| 141 | +# CHECK3-NEXT: } |
| 142 | +# CHECK3-NEXT: } |
| 143 | +# CHECK3-NEXT: } |
| 144 | + |
124 | 145 | #--- a.s
|
125 | 146 | .attribute stack_align, 16
|
126 | 147 | .attribute arch, "rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0"
|
|
140 | 161 | .attribute priv_spec_minor, 2
|
141 | 162 |
|
142 | 163 | #--- unrecognized_ext1.s
|
| 164 | +# UNRECOGNIZED_EXT1: BuildAttributes { |
| 165 | +# UNRECOGNIZED_EXT1-NEXT: FormatVersion: 0x41 |
| 166 | +# UNRECOGNIZED_EXT1-NEXT: Section 1 { |
| 167 | +# UNRECOGNIZED_EXT1-NEXT: SectionLength: 30 |
| 168 | +# UNRECOGNIZED_EXT1-NEXT: Vendor: riscv |
| 169 | +# UNRECOGNIZED_EXT1-NEXT: Tag: Tag_File (0x1) |
| 170 | +# UNRECOGNIZED_EXT1-NEXT: Size: 20 |
| 171 | +# UNRECOGNIZED_EXT1-NEXT: FileAttributes { |
| 172 | +# UNRECOGNIZED_EXT1-NEXT: Attribute { |
| 173 | +# UNRECOGNIZED_EXT1-NEXT: Tag: 5 |
| 174 | +# UNRECOGNIZED_EXT1-NEXT: TagName: arch |
| 175 | +# UNRECOGNIZED_EXT1-NEXT: Value: rv64i2p0_y2p0 |
| 176 | +# UNRECOGNIZED_EXT1-NEXT: } |
| 177 | +# UNRECOGNIZED_EXT1-NEXT: } |
| 178 | +# UNRECOGNIZED_EXT1-NEXT: } |
| 179 | +# UNRECOGNIZED_EXT1-NEXT: } |
143 | 180 | .section .riscv.attributes,"",@0x70000003
|
144 | 181 | .byte 0x41
|
145 | 182 | .long .Lend-.riscv.attributes-1
|
|
152 | 189 | .Lend:
|
153 | 190 |
|
154 | 191 | #--- unrecognized_ext2.s
|
| 192 | +# UNRECOGNIZED_EXT2: BuildAttributes { |
| 193 | +# UNRECOGNIZED_EXT2-NEXT: FormatVersion: 0x41 |
| 194 | +# UNRECOGNIZED_EXT2-NEXT: Section 1 { |
| 195 | +# UNRECOGNIZED_EXT2-NEXT: SectionLength: 36 |
| 196 | +# UNRECOGNIZED_EXT2-NEXT: Vendor: riscv |
| 197 | +# UNRECOGNIZED_EXT2-NEXT: Tag: Tag_File (0x1) |
| 198 | +# UNRECOGNIZED_EXT2-NEXT: Size: 26 |
| 199 | +# UNRECOGNIZED_EXT2-NEXT: FileAttributes { |
| 200 | +# UNRECOGNIZED_EXT2-NEXT: Attribute { |
| 201 | +# UNRECOGNIZED_EXT2-NEXT: Tag: 5 |
| 202 | +# UNRECOGNIZED_EXT2-NEXT: TagName: arch |
| 203 | +# UNRECOGNIZED_EXT2-NEXT: Value: rv64i2p0_zmadeup1p0 |
| 204 | +# UNRECOGNIZED_EXT2-NEXT: } |
| 205 | +# UNRECOGNIZED_EXT2-NEXT: } |
| 206 | +# UNRECOGNIZED_EXT2-NEXT: } |
| 207 | +# UNRECOGNIZED_EXT2-NEXT: } |
155 | 208 | .section .riscv.attributes,"",@0x70000003
|
156 | 209 | .byte 0x41
|
157 | 210 | .long .Lend-.riscv.attributes-1
|
|
164 | 217 | .Lend:
|
165 | 218 |
|
166 | 219 | #--- unrecognized_version.s
|
| 220 | +# UNRECOGNIZED_VERSION: BuildAttributes { |
| 221 | +# UNRECOGNIZED_VERSION-NEXT: FormatVersion: 0x41 |
| 222 | +# UNRECOGNIZED_VERSION-NEXT: Section 1 { |
| 223 | +# UNRECOGNIZED_VERSION-NEXT: SectionLength: 26 |
| 224 | +# UNRECOGNIZED_VERSION-NEXT: Vendor: riscv |
| 225 | +# UNRECOGNIZED_VERSION-NEXT: Tag: Tag_File (0x1) |
| 226 | +# UNRECOGNIZED_VERSION-NEXT: Size: 16 |
| 227 | +# UNRECOGNIZED_VERSION-NEXT: FileAttributes { |
| 228 | +# UNRECOGNIZED_VERSION-NEXT: Attribute { |
| 229 | +# UNRECOGNIZED_VERSION-NEXT: Tag: 5 |
| 230 | +# UNRECOGNIZED_VERSION-NEXT: TagName: arch |
| 231 | +# UNRECOGNIZED_VERSION-NEXT: Value: rv64i99p0 |
| 232 | +# UNRECOGNIZED_VERSION-NEXT: } |
| 233 | +# UNRECOGNIZED_VERSION-NEXT: } |
| 234 | +# UNRECOGNIZED_VERSION-NEXT: } |
| 235 | +# UNRECOGNIZED_VERSION-NEXT: } |
167 | 236 | .section .riscv.attributes,"",@0x70000003
|
168 | 237 | .byte 0x41
|
169 | 238 | .long .Lend-.riscv.attributes-1
|
|
175 | 244 | .asciz "rv64i99p0"
|
176 | 245 | .Lend:
|
177 | 246 |
|
| 247 | +#--- merge_version_test_input.s |
| 248 | +.section .riscv.attributes,"",@0x70000003 |
| 249 | +.byte 0x41 |
| 250 | +.long .Lend-.riscv.attributes-1 |
| 251 | +.asciz "riscv" # vendor |
| 252 | +.Lbegin: |
| 253 | +.byte 1 # Tag_File |
| 254 | +.long .Lend-.Lbegin |
| 255 | +.byte 5 # Tag_RISCV_arch |
| 256 | +.asciz "rv64i2p1" |
| 257 | +.Lend: |
| 258 | + |
178 | 259 | #--- invalid_arch1.s
|
179 |
| -# INVALID_ARCH1: BuildAttributes { |
180 |
| -# INVALID_ARCH1-NEXT: FormatVersion: 0x41 |
181 |
| -# INVALID_ARCH1-NEXT: Section 1 { |
182 |
| -# INVALID_ARCH1-NEXT: SectionLength: 25 |
183 |
| -# INVALID_ARCH1-NEXT: Vendor: riscv |
184 |
| -# INVALID_ARCH1-NEXT: Tag: Tag_File (0x1) |
185 |
| -# INVALID_ARCH1-NEXT: Size: 15 |
186 |
| -# INVALID_ARCH1-NEXT: FileAttributes { |
187 |
| -# INVALID_ARCH1-NEXT: Attribute { |
188 |
| -# INVALID_ARCH1-NEXT: Tag: 5 |
189 |
| -# INVALID_ARCH1-NEXT: TagName: arch |
190 |
| -# INVALID_ARCH1-NEXT: Value: rv64i2p0 |
191 |
| -# INVALID_ARCH1-NEXT: } |
192 |
| -# INVALID_ARCH1-NEXT: } |
193 |
| -# INVALID_ARCH1-NEXT: } |
194 |
| -# INVALID_ARCH1-NEXT: } |
195 | 260 | .section .riscv.attributes,"",@0x70000003
|
196 | 261 | .byte 0x41
|
197 | 262 | .long .Lend-.riscv.attributes-1
|
|
0 commit comments