|
44 | 44 | # RUN: not ld.lld a.o b.o c.o diff_stack_align.o -o /dev/null 2>&1 | FileCheck %s --check-prefix=STACK_ALIGN --implicit-check-not=error:
|
45 | 45 | # STACK_ALIGN: error: diff_stack_align.o:(.riscv.attributes) has stack_align=32 but a.o:(.riscv.attributes) has stack_align=16
|
46 | 46 |
|
47 |
| -## merging atomic_abi values for A6C and A7 lead to an error. |
48 |
| -# RUN: llvm-mc -filetype=obj -triple=riscv64 atomic_abi_A6C.s -o atomic_abi_A6C.o |
49 |
| -# RUN: llvm-mc -filetype=obj -triple=riscv64 atomic_abi_A7.s -o atomic_abi_A7.o |
50 |
| -# RUN: not ld.lld atomic_abi_A6C.o atomic_abi_A7.o -o /dev/null 2>&1 | FileCheck %s --check-prefix=ATOMIC_ABI_ERROR --implicit-check-not=error: |
51 |
| -# ATOMIC_ABI_ERROR: error: atomic_abi_A6C.o:(.riscv.attributes) has atomic_abi=1 but atomic_abi_A7.o:(.riscv.attributes) has atomic_abi=3 |
52 |
| - |
53 |
| - |
54 |
| -# RUN: llvm-mc -filetype=obj -triple=riscv64 atomic_abi_A6S.s -o atomic_abi_A6S.o |
55 |
| -# RUN: ld.lld atomic_abi_A6S.o atomic_abi_A6C.o -o atomic_abi_A6C_A6S |
56 |
| -# RUN: llvm-readobj -A atomic_abi_A6C_A6S | FileCheck %s --check-prefix=A6C_A6S |
57 |
| - |
58 |
| -# RUN: ld.lld atomic_abi_A6S.o atomic_abi_A7.o -o atomic_abi_A6S_A7 |
59 |
| -# RUN: llvm-readobj -A atomic_abi_A6S_A7 | FileCheck %s --check-prefix=A6S_A7 |
60 |
| - |
61 |
| -# RUN: llvm-mc -filetype=obj -triple=riscv64 atomic_abi_unknown.s -o atomic_abi_unknown.o |
62 |
| -# RUN: ld.lld atomic_abi_unknown.o atomic_abi_A6C.o -o atomic_abi_A6C_unknown |
63 |
| -# RUN: llvm-readobj -A atomic_abi_A6C_unknown | FileCheck %s --check-prefixes=UNKNOWN_A6C |
64 |
| - |
65 |
| -# RUN: ld.lld atomic_abi_unknown.o diff_stack_align.o -o atomic_abi_none_unknown |
66 |
| -# RUN: llvm-readobj -A atomic_abi_none_unknown | FileCheck %s --check-prefixes=UNKNOWN_NONE |
67 |
| - |
68 |
| -# RUN: ld.lld diff_stack_align.o atomic_abi_A6C.o -o atomic_abi_A6C_none |
69 |
| -# RUN: llvm-readobj -A atomic_abi_A6C_none | FileCheck %s --check-prefixes=NONE_A6C |
70 |
| - |
71 |
| -# RUN: ld.lld atomic_abi_unknown.o atomic_abi_A6S.o -o atomic_abi_A6S_unknown |
72 |
| -# RUN: llvm-readobj -A atomic_abi_A6S_unknown | FileCheck %s --check-prefix=UNKNOWN_A6S |
73 |
| - |
74 |
| -# RUN: ld.lld atomic_abi_unknown.o atomic_abi_A7.o -o atomic_abi_A7_unknown |
75 |
| -# RUN: llvm-readobj -A atomic_abi_A7_unknown | FileCheck %s --check-prefix=UNKNOWN_A7 |
76 |
| - |
77 |
| -# RUN: ld.lld diff_stack_align.o atomic_abi_A7.o -o atomic_abi_A7_none |
78 |
| -# RUN: llvm-readobj -A atomic_abi_A7_none | FileCheck %s --check-prefix=NONE_A7 |
79 |
| - |
80 | 47 | ## The deprecated priv_spec is not handled as GNU ld does.
|
81 | 48 | ## Differing priv_spec attributes lead to an absent attribute.
|
82 | 49 | # RUN: llvm-mc -filetype=obj -triple=riscv64 diff_priv_spec.s -o diff_priv_spec.o
|
|
319 | 286 | .attribute priv_spec, 3
|
320 | 287 | .attribute priv_spec_minor, 3
|
321 | 288 |
|
322 |
| -#--- atomic_abi_unknown.s |
323 |
| -.attribute atomic_abi, 0 |
324 |
| - |
325 |
| -#--- atomic_abi_A6C.s |
326 |
| -.attribute atomic_abi, 1 |
327 |
| - |
328 |
| -#--- atomic_abi_A6S.s |
329 |
| -.attribute atomic_abi, 2 |
330 |
| - |
331 |
| -#--- atomic_abi_A7.s |
332 |
| -.attribute atomic_abi, 3 |
333 |
| - |
334 |
| -# UNKNOWN_NONE: BuildAttributes { |
335 |
| -# UNKNOWN_NONE-NEXT: FormatVersion: 0x41 |
336 |
| -# UNKNOWN_NONE-NEXT: Section 1 { |
337 |
| -# UNKNOWN_NONE-NEXT: SectionLength: 17 |
338 |
| -# UNKNOWN_NONE-NEXT: Vendor: riscv |
339 |
| -# UNKNOWN_NONE-NEXT: Tag: Tag_File (0x1) |
340 |
| -# UNKNOWN_NONE-NEXT: Size: 7 |
341 |
| -# UNKNOWN_NONE-NEXT: FileAttributes { |
342 |
| -# UNKNOWN_NONE-NEXT: Attribute { |
343 |
| -# UNKNOWN_NONE-NEXT: Tag: 4 |
344 |
| -# UNKNOWN_NONE-NEXT: Value: 32 |
345 |
| -# UNKNOWN_NONE-NEXT: TagName: stack_align |
346 |
| -# UNKNOWN_NONE-NEXT: Description: Stack alignment is 32-bytes |
347 |
| -# UNKNOWN_NONE-NEXT: } |
348 |
| -# UNKNOWN_NONE-NEXT: } |
349 |
| -# UNKNOWN_NONE-NEXT: } |
350 |
| -# UNKNOWN_NONE-NEXT: } |
351 |
| - |
352 |
| -# NONE_A6C: BuildAttributes { |
353 |
| -# NONE_A6C-NEXT: FormatVersion: 0x41 |
354 |
| -# NONE_A6C-NEXT: Section 1 { |
355 |
| -# NONE_A6C-NEXT: SectionLength: 19 |
356 |
| -# NONE_A6C-NEXT: Vendor: riscv |
357 |
| -# NONE_A6C-NEXT: Tag: Tag_File (0x1) |
358 |
| -# NONE_A6C-NEXT: Size: 9 |
359 |
| -# NONE_A6C-NEXT: FileAttributes { |
360 |
| -# NONE_A6C-NEXT: Attribute { |
361 |
| -# NONE_A6C-NEXT: Tag: 14 |
362 |
| -# NONE_A6C-NEXT: Value: 1 |
363 |
| -# NONE_A6C-NEXT: TagName: atomic_abi |
364 |
| -# NONE_A6C-NEXT: Description: Atomic ABI is 1 |
365 |
| -# NONE_A6C-NEXT: } |
366 |
| -# NONE_A6C-NEXT: Attribute { |
367 |
| -# NONE_A6C-NEXT: Tag: 4 |
368 |
| -# NONE_A6C-NEXT: Value: 32 |
369 |
| -# NONE_A6C-NEXT: TagName: stack_align |
370 |
| -# NONE_A6C-NEXT: Description: Stack alignment is 32-bytes |
371 |
| -# NONE_A6C-NEXT: } |
372 |
| -# NONE_A6C-NEXT: } |
373 |
| -# NONE_A6C-NEXT: } |
374 |
| -# NONE_A6C-NEXT: } |
375 |
| - |
376 |
| -# UNKNOWN_A6C: BuildAttributes { |
377 |
| -# UNKNOWN_A6C-NEXT: FormatVersion: 0x41 |
378 |
| -# UNKNOWN_A6C-NEXT: Section 1 { |
379 |
| -# UNKNOWN_A6C-NEXT: SectionLength: 17 |
380 |
| -# UNKNOWN_A6C-NEXT: Vendor: riscv |
381 |
| -# UNKNOWN_A6C-NEXT: Tag: Tag_File (0x1) |
382 |
| -# UNKNOWN_A6C-NEXT: Size: 7 |
383 |
| -# UNKNOWN_A6C-NEXT: FileAttributes { |
384 |
| -# UNKNOWN_A6C-NEXT: Attribute { |
385 |
| -# UNKNOWN_A6C-NEXT: Tag: 14 |
386 |
| -# UNKNOWN_A6C-NEXT: Value: 1 |
387 |
| -# UNKNOWN_A6C-NEXT: TagName: atomic_abi |
388 |
| -# UNKNOWN_A6C-NEXT: Description: Atomic ABI is 1 |
389 |
| -# UNKNOWN_A6C-NEXT: } |
390 |
| -# UNKNOWN_A6C-NEXT: } |
391 |
| -# UNKNOWN_A6C-NEXT: } |
392 |
| -# UNKNOWN_A6C-NEXT: } |
393 |
| - |
394 |
| -# UNKNOWN_A6S: BuildAttributes { |
395 |
| -# UNKNOWN_A6S-NEXT: FormatVersion: 0x41 |
396 |
| -# UNKNOWN_A6S-NEXT: Section 1 { |
397 |
| -# UNKNOWN_A6S-NEXT: SectionLength: |
398 |
| -# UNKNOWN_A6S-NEXT: Vendor: riscv |
399 |
| -# UNKNOWN_A6S-NEXT: Tag: Tag_File (0x1) |
400 |
| -# UNKNOWN_A6S-NEXT: Size: 7 |
401 |
| -# UNKNOWN_A6S-NEXT: FileAttributes { |
402 |
| -# UNKNOWN_A6S-NEXT: Attribute { |
403 |
| -# UNKNOWN_A6S-NEXT: Tag: 14 |
404 |
| -# UNKNOWN_A6S-NEXT: Value: 2 |
405 |
| -# UNKNOWN_A6S-NEXT: TagName: atomic_abi |
406 |
| -# UNKNOWN_A6S-NEXT: Description: Atomic ABI is 2 |
407 |
| -# UNKNOWN_A6S-NEXT: } |
408 |
| -# UNKNOWN_A6S-NEXT: } |
409 |
| -# UNKNOWN_A6S-NEXT: } |
410 |
| -# UNKNOWN_A6S-NEXT: } |
411 |
| - |
412 |
| -# NONE_A7: BuildAttributes { |
413 |
| -# NONE_A7-NEXT: FormatVersion: 0x41 |
414 |
| -# NONE_A7-NEXT: Section 1 { |
415 |
| -# NONE_A7-NEXT: SectionLength: 19 |
416 |
| -# NONE_A7-NEXT: Vendor: riscv |
417 |
| -# NONE_A7-NEXT: Tag: Tag_File (0x1) |
418 |
| -# NONE_A7-NEXT: Size: 9 |
419 |
| -# NONE_A7-NEXT: FileAttributes { |
420 |
| -# NONE_A7-NEXT: Attribute { |
421 |
| -# NONE_A7-NEXT: Tag: 14 |
422 |
| -# NONE_A7-NEXT: Value: 3 |
423 |
| -# NONE_A7-NEXT: TagName: atomic_abi |
424 |
| -# NONE_A7-NEXT: Description: Atomic ABI is 3 |
425 |
| -# NONE_A7-NEXT: } |
426 |
| -# NONE_A7-NEXT: Attribute { |
427 |
| -# NONE_A7-NEXT: Tag: 4 |
428 |
| -# NONE_A7-NEXT: Value: 32 |
429 |
| -# NONE_A7-NEXT: TagName: stack_align |
430 |
| -# NONE_A7-NEXT: Description: Stack alignment is 32-bytes |
431 |
| -# NONE_A7-NEXT: } |
432 |
| -# NONE_A7-NEXT: } |
433 |
| -# NONE_A7-NEXT: } |
434 |
| -# NONE_A7-NEXT: } |
435 |
| - |
436 |
| - |
437 |
| -# UNKNOWN_A7: BuildAttributes { |
438 |
| -# UNKNOWN_A7-NEXT: FormatVersion: 0x41 |
439 |
| -# UNKNOWN_A7-NEXT: Section 1 { |
440 |
| -# UNKNOWN_A7-NEXT: SectionLength: 17 |
441 |
| -# UNKNOWN_A7-NEXT: Vendor: riscv |
442 |
| -# UNKNOWN_A7-NEXT: Tag: Tag_File (0x1) |
443 |
| -# UNKNOWN_A7-NEXT: Size: 7 |
444 |
| -# UNKNOWN_A7-NEXT: FileAttributes { |
445 |
| -# UNKNOWN_A7-NEXT: Attribute { |
446 |
| -# UNKNOWN_A7-NEXT: Tag: 14 |
447 |
| -# UNKNOWN_A7-NEXT: Value: 3 |
448 |
| -# UNKNOWN_A7-NEXT: TagName: atomic_abi |
449 |
| -# UNKNOWN_A7-NEXT: Description: Atomic ABI is 3 |
450 |
| -# UNKNOWN_A7-NEXT: } |
451 |
| -# UNKNOWN_A7-NEXT: } |
452 |
| -# UNKNOWN_A7-NEXT: } |
453 |
| -# UNKNOWN_A7-NEXT: } |
454 |
| - |
455 |
| -# A6C_A6S: BuildAttributes { |
456 |
| -# A6C_A6S-NEXT: FormatVersion: 0x41 |
457 |
| -# A6C_A6S-NEXT: Section 1 { |
458 |
| -# A6C_A6S-NEXT: SectionLength: 17 |
459 |
| -# A6C_A6S-NEXT: Vendor: riscv |
460 |
| -# A6C_A6S-NEXT: Tag: Tag_File (0x1) |
461 |
| -# A6C_A6S-NEXT: Size: 7 |
462 |
| -# A6C_A6S-NEXT: FileAttributes { |
463 |
| -# A6C_A6S-NEXT: Attribute { |
464 |
| -# A6C_A6S-NEXT: Tag: 14 |
465 |
| -# A6C_A6S-NEXT: Value: 1 |
466 |
| -# A6C_A6S-NEXT: TagName: atomic_abi |
467 |
| -# A6C_A6S-NEXT: Description: Atomic ABI is 1 |
468 |
| -# A6C_A6S-NEXT: } |
469 |
| -# A6C_A6S-NEXT: } |
470 |
| -# A6C_A6S-NEXT: } |
471 |
| -# A6C_A6S-NEXT: } |
472 |
| - |
473 |
| -# A6S_A7: BuildAttributes { |
474 |
| -# A6S_A7-NEXT: FormatVersion: 0x41 |
475 |
| -# A6S_A7-NEXT: Section 1 { |
476 |
| -# A6S_A7-NEXT: SectionLength: 17 |
477 |
| -# A6S_A7-NEXT: Vendor: riscv |
478 |
| -# A6S_A7-NEXT: Tag: Tag_File (0x1) |
479 |
| -# A6S_A7-NEXT: Size: 7 |
480 |
| -# A6S_A7-NEXT: FileAttributes { |
481 |
| -# A6S_A7-NEXT: Attribute { |
482 |
| -# A6S_A7-NEXT: Tag: 14 |
483 |
| -# A6S_A7-NEXT: Value: 3 |
484 |
| -# A6S_A7-NEXT: TagName: atomic_abi |
485 |
| -# A6S_A7-NEXT: Description: Atomic ABI is 3 |
486 |
| -# A6S_A7-NEXT: } |
487 |
| -# A6S_A7-NEXT: } |
488 |
| -# A6S_A7-NEXT: } |
489 |
| -# A6S_A7-NEXT: } |
490 |
| - |
491 | 289 | #--- unknown13.s
|
492 | 290 | .attribute 13, "0"
|
493 | 291 | #--- unknown13a.s
|
|
0 commit comments