diff options
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/MC/ARM/arm-elf-relocation-diagnostics.s | 27 | ||||
| -rw-r--r-- | llvm/test/MC/ARM/arm-elf-relocations.s | 10 |
2 files changed, 37 insertions, 0 deletions
diff --git a/llvm/test/MC/ARM/arm-elf-relocation-diagnostics.s b/llvm/test/MC/ARM/arm-elf-relocation-diagnostics.s new file mode 100644 index 00000000000..5fe903f7161 --- /dev/null +++ b/llvm/test/MC/ARM/arm-elf-relocation-diagnostics.s @@ -0,0 +1,27 @@ +@ RUN: not llvm-mc -triple armv7-eabi -filetype obj -o - %s 2>&1 \ +@ RUN: | FileCheck %s +@ RUN: not llvm-mc -triple thumbv7-eabi -filetype obj -o - %s 2>&1 \ +@ RUN: | FileCheck %s + + .byte target(sbrel) +@ CHECK: error: relocated expression must be 32-bit +@ CHECK: .byte target(sbrel) +@ CHECK: ^ + +@ TODO: enable these negative test cases +@ .hword target(sbrel) +@ @ CHECK-SBREL-HWORD: error: relocated expression must be 32-bit +@ @ CHECK-SBREL-HWORD: .hword target(sbrel) +@ @ CHECK-SBREL-HWORD: ^ +@ +@ .short target(sbrel) +@ @ CHECK-SBREL-SHORT: error: relocated expression must be 32-bit +@ @ CHECK-SBREL-SHORT: .short target(sbrel) +@ @ CHECK-SBREL-SHORT: ^ +@ +@ .quad target(sbrel) +@ @ CHECK-SBREL-SHORT: error: relocated expression must be 32-bit +@ @ CHECK-SBREL-SHORT: .quad target(sbrel) +@ @ CHECK-SBREL-SHORT: ^ + + diff --git a/llvm/test/MC/ARM/arm-elf-relocations.s b/llvm/test/MC/ARM/arm-elf-relocations.s index 13d9d2b1e1b..4059591d95b 100644 --- a/llvm/test/MC/ARM/arm-elf-relocations.s +++ b/llvm/test/MC/ARM/arm-elf-relocations.s @@ -25,3 +25,13 @@ @ CHECK: 0x2 R_ARM_ABS16 abs16_1 0x0 @ CHECK: } + .section .text.r_arm_sbrel32 + + .word target(sbrel) + .word target(SBREL) + +@ CHECK: Section {{.*}} .rel.text.r_arm_sbrel32 { +@ CHECK: 0x0 R_ARM_SBREL32 target 0x0 +@ CHECK: 0x4 R_ARM_SBREL32 target 0x0 +@ CHECK: } + |

