xref: /llvm-project/llvm/test/MC/SystemZ/reloc-directive.s (revision 1c3ef9ef4a4dc84f36e9282b9cd1c7313a3d4a08)
1# RUN: llvm-mc -triple=s390x-linux-gnu %s | FileCheck --check-prefix=PRINT %s
2
3# RUN: llvm-mc -filetype=obj -triple=s390x-linux-gnu %s -o %t
4# RUN: llvm-readobj -r %t | FileCheck %s
5
6# PRINT:      .reloc 2, R_390_NONE, .data
7# PRINT-NEXT: .reloc 1, R_390_NONE, foo+4
8# PRINT-NEXT: .reloc 0, R_390_NONE, 8
9# PRINT-NEXT: .reloc 0, R_390_64, .data+2
10# PRINT-NEXT: .reloc 0, R_390_GOTENT, foo+3
11# PRINT-NEXT: .reloc 0, R_390_PC32DBL, 6
12# PRINT-NEXT: .reloc 4, R_390_12, foo
13# PRINT-NEXT: .reloc 2, R_390_20, foo
14# PRINT:      .reloc 0, BFD_RELOC_NONE, 9
15# PRINT-NEXT: .reloc 0, BFD_RELOC_8, 9
16# PRINT-NEXT: .reloc 0, BFD_RELOC_16, 9
17# PRINT-NEXT: .reloc 0, BFD_RELOC_32, 9
18# PRINT-NEXT: .reloc 0, BFD_RELOC_64, 9
19
20# CHECK:      0x2 R_390_NONE .data 0x0
21# CHECK-NEXT: 0x1 R_390_NONE foo 0x4
22# CHECK-NEXT: 0x0 R_390_NONE - 0x8
23# CHECK-NEXT: 0x0 R_390_64 .data 0x2
24# CHECK-NEXT: 0x0 R_390_GOTENT foo 0x3
25# CHECK-NEXT: 0x0 R_390_PC32DBL - 0x6
26# CHECK-NEXT: 0x4 R_390_12 foo 0x0
27# CHECK-NEXT: 0x2 R_390_20 foo 0x0
28# CHECK-NEXT: 0x0 R_390_NONE - 0x9
29# CHECK-NEXT: 0x0 R_390_8 - 0x9
30# CHECK-NEXT: 0x0 R_390_16 - 0x9
31# CHECK-NEXT: 0x0 R_390_32 - 0x9
32# CHECK-NEXT: 0x0 R_390_64 - 0x9
33
34.text
35  br %r14
36  nop
37  nop
38  .reloc 2, R_390_NONE, .data
39  .reloc 1, R_390_NONE, foo+4
40  .reloc 0, R_390_NONE, 8
41  .reloc 0, R_390_64, .data+2
42  .reloc 0, R_390_GOTENT, foo+3
43  .reloc 0, R_390_PC32DBL, 6
44  .reloc 4, R_390_12, foo
45  .reloc 2, R_390_20, foo
46
47  .reloc 0, BFD_RELOC_NONE, 9
48  .reloc 0, BFD_RELOC_8, 9
49  .reloc 0, BFD_RELOC_16, 9
50  .reloc 0, BFD_RELOC_32, 9
51  .reloc 0, BFD_RELOC_64, 9
52
53.data
54.globl foo
55foo:
56  .word 0
57  .word 0
58