diff options
Diffstat (limited to 'test/ELF/aarch64-relative.s')
-rw-r--r-- | test/ELF/aarch64-relative.s | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/ELF/aarch64-relative.s b/test/ELF/aarch64-relative.s new file mode 100644 index 000000000000..b10dd80fae6c --- /dev/null +++ b/test/ELF/aarch64-relative.s @@ -0,0 +1,26 @@ +// REQUIRES: aarch64 +// RUN: llvm-mc -filetype=obj -triple=aarch64-unknown-freebsd %s -o %t.o +// RUN: ld.lld %t.o -o %t.so -shared +// RUN: llvm-readobj -r %t.so | FileCheck %s + + adr x8, .Lfoo // R_AARCH64_ADR_PREL_LO21 + adrp x8, .Lfoo // R_AARCH64_ADR_PREL_PG_HI21 + strb w9, [x8, :lo12:.Lfoo] // R_AARCH64_LDST8_ABS_LO12_NC + ldr h17, [x19, :lo12:.Lfoo] // R_AARCH64_LDST16_ABS_LO12_NC + ldr w0, [x8, :lo12:.Lfoo] // R_AARCH64_LDST32_ABS_LO12_NC + ldr x0, [x8, :lo12:.Lfoo] // R_AARCH64_LDST64_ABS_LO12_NC + ldr q20, [x19, #:lo12:.Lfoo] // R_AARCH64_LDST128_ABS_LO12_NC + add x0, x0, :lo12:.Lfoo // R_AARCH64_ADD_ABS_LO12_NC + bl .Lfoo // R_AARCH64_CALL26 + b .Lfoo // R_AARCH64_JUMP26 + beq .Lfoo // R_AARCH64_CONDBR19 +.Lbranch: + tbz x1, 7, .Lbranch // R_AARCH64_TSTBR14 +.data +.Lfoo: + +.rodata +.long .Lfoo - . +.xword .Lfoo - . // R_AARCH64_PREL64 +// CHECK: Relocations [ +// CHECK-NEXT: ] |