1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/test/MC/AArch64/coff-relocations-diags.s
Martin Storsjö 3055076b55 [AArch64] [COFF] Properly produce cross-section relative relocations
This fixes breakage on Windows/ARM64 after D94355.

Modelled after the corresponding code for X86; not entirely familiar
with those aspects of that layer otherwise.

Differential Revision: https://reviews.llvm.org/D99572
2021-04-14 12:31:26 +03:00

52 lines
1.8 KiB
ArmAsm

// RUN: not llvm-mc -triple aarch64-win32 -filetype=obj %s -o /dev/null 2>&1 | FileCheck %s
adrp x0, :got:symbol
// CHECK: error: relocation variant :got: unsupported on COFF targets
// CHECK-NEXT: adrp x0, :got:symbol
// CHECK-NEXT: ^
ldr x0, [x0, :got_lo12:symbol]
// CHECK: error: relocation variant :got_lo12: unsupported on COFF targets
// CHECK-NEXT: ldr x0, [x0, :got_lo12:symbol]
// CHECK-NEXT: ^
adrp x0, :tlsdesc:symbol
// CHECK: error: relocation variant :tlsdesc: unsupported on COFF targets
// CHECK-NEXT: adrp x0, :tlsdesc:symbol
// CHECK-NEXT: ^
add x0, x0, :tlsdesc_lo12:symbol
// CHECK: error: relocation variant :tlsdesc_lo12: unsupported on COFF targets
// CHECK-NEXT: add x0, x0, :tlsdesc_lo12:symbol
// CHECK-NEXT: ^
adrp x0, :gottprel:symbol
// CHECK: error: relocation variant :gottprel: unsupported on COFF targets
// CHECK-NEXT: adrp x0, :gottprel:symbol
// CHECK-NEXT: ^
ldr x0, [x0, :gottprel_lo12:symbol]
// CHECK: error: relocation variant :gottprel_lo12: unsupported on COFF targets
// CHECK-NEXT: ldr x0, [x0, :gottprel_lo12:symbol]
// CHECK-NEXT: ^
add x0, x0, #:dtprel_hi12:symbol, lsl #12
// CHECK: error: relocation variant :dtprel_hi12: unsupported on COFF targets
// CHECK-NEXT: add x0, x0, #:dtprel_hi12:symbol, lsl #12
// CHECK-NEXT: ^
add x0, x0, :dtprel_lo12:symbol
// CHECK: error: relocation variant :dtprel_lo12: unsupported on COFF targets
// CHECK-NEXT: add x0, x0, :dtprel_lo12:symbol
// CHECK-NEXT: ^
label:
movz x0, #:abs_g0:symbol
// CHECK: error: relocation type :abs_g0: unsupported on COFF targets
// CHECK-NEXT: movz x0, #:abs_g0:symbol
// CHECK-NEXT: ^
.section .rdata, "dr"
table:
.short label - table
// CHECK: error: Cannot represent this expression
// CHECK-NEXT: .short label - table
// CHECK-NEXT: ^