xref: /llvm-project/llvm/test/MC/AArch64/reloc-directive.s (revision aceea45d8753334fad4c6b958754d63151d4c57c)
1# RUN: llvm-mc -triple=aarch64-linux-musl %s | FileCheck --check-prefix=PRINT %s
2
3# RUN: llvm-mc -filetype=obj -triple=aarch64-linux-musl %s | llvm-readobj -r - | FileCheck %s
4
5# PRINT: .reloc 8, R_AARCH64_NONE, .data
6# PRINT: .reloc 4, R_AARCH64_NONE, foo+4
7# PRINT: .reloc 0, R_AARCH64_NONE, 8
8# PRINT: .reloc 0, R_AARCH64_ABS64, .data+2
9# PRINT: .reloc 0, R_AARCH64_TLSDESC, foo+3
10# PRINT: .reloc 0, R_AARCH64_IRELATIVE, 5
11# PRINT: .reloc 0, BFD_RELOC_NONE, 9
12# PRINT: .reloc 0, BFD_RELOC_16, 9
13# PRINT: .reloc 0, BFD_RELOC_32, 9
14# PRINT: .reloc 0, BFD_RELOC_64, 9
15.text
16  ret
17  nop
18  nop
19  .reloc 8, R_AARCH64_NONE, .data
20  .reloc 4, R_AARCH64_NONE, foo+4
21  .reloc 0, R_AARCH64_NONE, 8
22
23  .reloc 0, R_AARCH64_ABS64, .data+2
24  .reloc 0, R_AARCH64_TLSDESC, foo+3
25  .reloc 0, R_AARCH64_IRELATIVE, 5
26
27  .reloc 0, BFD_RELOC_NONE, 9
28  .reloc 0, BFD_RELOC_16, 9
29  .reloc 0, BFD_RELOC_32, 9
30  .reloc 0, BFD_RELOC_64, 9
31
32.data
33.globl foo
34foo:
35  .word 0
36  .word 0
37  .word 0
38
39# CHECK:      0x8 R_AARCH64_NONE .data 0x0
40# CHECK-NEXT: 0x4 R_AARCH64_NONE foo 0x4
41# CHECK-NEXT: 0x0 R_AARCH64_NONE - 0x8
42# CHECK-NEXT: 0x0 R_AARCH64_ABS64 .data 0x2
43# CHECK-NEXT: 0x0 R_AARCH64_TLSDESC foo 0x3
44# CHECK-NEXT: 0x0 R_AARCH64_IRELATIVE - 0x5
45# CHECK-NEXT: 0x0 R_AARCH64_NONE - 0x9
46# CHECK-NEXT: 0x0 R_AARCH64_ABS16 - 0x9
47# CHECK-NEXT: 0x0 R_AARCH64_ABS32 - 0x9
48# CHECK-NEXT: 0x0 R_AARCH64_ABS64 - 0x9
49