Skip to content

Commit 9753ea8

Browse files
committed
MC,test: Migrate away from the .reloc constant hack
The initial .reloc support for MIPS incorrectly interpreted .reloc 0 as .reloc .+0 . I was misled when porting .reloc to other targets in 2019 and 2020. Many PRINT: prefixes are unnecessary. The MCAsmStreamer implementation is generic, and it is unnecessary to test too many variants.
1 parent e51ea1c commit 9753ea8

21 files changed

+254
-343
lines changed

llvm/test/MC/AArch64/directives-case_insensitive.s

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ tlbi vmalle1os
1515
.INST 0x5e104020
1616
// CHECK: .inst 0x5e104020
1717

18-
.RELOC 0, R_AARCH64_NONE, 8
19-
// CHECK: .reloc 0, R_AARCH64_NONE, 8
18+
.RELOC ., R_AARCH64_NONE, 8
19+
// CHECK: .reloc {{.*}}, R_AARCH64_NONE, 8
2020

2121
.HWORD 0x1234
2222
// CHECK: .hword 4660
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# RUN: llvm-mc -triple=aarch64 %s 2>&1 | FileCheck --check-prefix=PRINT %s
22
# RUN: not llvm-mc -filetype=obj -triple=aarch64 %s -o /dev/null 2>&1 | FileCheck %s
33

4-
# PRINT: .reloc 0, R_INVALID, 0
4+
# PRINT: .reloc {{.*}}, R_INVALID, 0
55
# CHECK: {{.*}}.s:[[# @LINE+1]]:11: error: unknown relocation name
6-
.reloc 0, R_INVALID, 0
6+
.reloc ., R_INVALID, 0

llvm/test/MC/AArch64/reloc-directive.s

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,32 @@
22

33
# RUN: llvm-mc -filetype=obj -triple=aarch64-linux-musl %s | llvm-readobj -r - | FileCheck %s
44

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
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
1515
.text
16+
.reloc .+8, R_AARCH64_NONE, .data
17+
.reloc .+4, R_AARCH64_NONE, foo+4
18+
.reloc .+0, R_AARCH64_NONE, 8
19+
20+
.reloc .+0, R_AARCH64_ABS64, .data+2
21+
.reloc .+0, R_AARCH64_TLSDESC, foo+3
22+
.reloc .+0, R_AARCH64_IRELATIVE, 5
23+
24+
.reloc .+0, BFD_RELOC_NONE, 9
25+
.reloc .+0, BFD_RELOC_16, 9
26+
.reloc .+0, BFD_RELOC_32, 9
27+
.reloc .+0, BFD_RELOC_64, 9
1628
ret
1729
nop
1830
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
3131

3232
.data
3333
.globl foo

llvm/test/MC/AMDGPU/reloc-directive.s

Lines changed: 20 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,7 @@
33
# RUN: llvm-mc -filetype=obj -triple=amdgcn--amdhsa %s -o %t
44
# RUN: llvm-readobj -r %t | FileCheck %s
55

6-
# PRINT: .reloc 2, R_AMDGPU_NONE, .data
7-
# PRINT-NEXT: .reloc 1, R_AMDGPU_NONE, foo+4
8-
# PRINT-NEXT: .reloc 0, R_AMDGPU_NONE, 8
9-
# PRINT-NEXT: .reloc 0, R_AMDGPU_ABS32_LO, .data
10-
# PRINT-NEXT: .reloc 0, R_AMDGPU_ABS32_HI, .data
11-
# PRINT-NEXT: .reloc 0, R_AMDGPU_ABS64, .data
12-
# PRINT-NEXT: .reloc 0, R_AMDGPU_REL32, .data
13-
# PRINT-NEXT: .reloc 0, R_AMDGPU_REL64, .data
14-
# PRINT-NEXT: .reloc 0, R_AMDGPU_ABS32, .data
15-
# PRINT-NEXT: .reloc 0, R_AMDGPU_GOTPCREL, .data
16-
# PRINT-NEXT: .reloc 0, R_AMDGPU_GOTPCREL32_LO, .data
17-
# PRINT-NEXT: .reloc 0, R_AMDGPU_GOTPCREL32_HI, .data
18-
# PRINT-NEXT: .reloc 0, R_AMDGPU_REL32_LO, .data
19-
# PRINT-NEXT: .reloc 0, R_AMDGPU_REL32_HI, .data
20-
# PRINT-NEXT: .reloc 0, R_AMDGPU_RELATIVE64, .data
21-
# PRINT-NEXT: .reloc 0, R_AMDGPU_REL16, .data
22-
# PRINT-NEXT: .reloc 0, BFD_RELOC_NONE, .data
23-
# PRINT-NEXT: .reloc 0, BFD_RELOC_32, .data
24-
# PRINT-NEXT: .reloc 0, BFD_RELOC_64, .data
6+
# PRINT: .reloc {{.*}}+2, R_AMDGPU_NONE, .data
257

268
# CHECK: 0x2 R_AMDGPU_NONE .data
279
# CHECK-NEXT: 0x1 R_AMDGPU_NONE foo 0x4
@@ -44,27 +26,27 @@
4426
# CHECK-NEXT: 0x0 R_AMDGPU_ABS64 .data
4527

4628
.text
29+
.reloc .+2, R_AMDGPU_NONE, .data
30+
.reloc .+1, R_AMDGPU_NONE, foo+4
31+
.reloc .+0, R_AMDGPU_NONE, 8
32+
.reloc .+0, R_AMDGPU_ABS32_LO, .data
33+
.reloc .+0, R_AMDGPU_ABS32_HI, .data
34+
.reloc .+0, R_AMDGPU_ABS64, .data
35+
.reloc .+0, R_AMDGPU_REL32, .data
36+
.reloc .+0, R_AMDGPU_REL64, .data
37+
.reloc .+0, R_AMDGPU_ABS32, .data
38+
.reloc .+0, R_AMDGPU_GOTPCREL, .data
39+
.reloc .+0, R_AMDGPU_GOTPCREL32_LO, .data
40+
.reloc .+0, R_AMDGPU_GOTPCREL32_HI, .data
41+
.reloc .+0, R_AMDGPU_REL32_LO, .data
42+
.reloc .+0, R_AMDGPU_REL32_HI, .data
43+
.reloc .+0, R_AMDGPU_RELATIVE64, .data
44+
.reloc .+0, R_AMDGPU_REL16, .data
45+
.reloc .+0, BFD_RELOC_NONE, .data
46+
.reloc .+0, BFD_RELOC_32, .data
47+
.reloc .+0, BFD_RELOC_64, .data
4748
s_nop 0
4849
s_nop 0
49-
.reloc 2, R_AMDGPU_NONE, .data
50-
.reloc 1, R_AMDGPU_NONE, foo+4
51-
.reloc 0, R_AMDGPU_NONE, 8
52-
.reloc 0, R_AMDGPU_ABS32_LO, .data
53-
.reloc 0, R_AMDGPU_ABS32_HI, .data
54-
.reloc 0, R_AMDGPU_ABS64, .data
55-
.reloc 0, R_AMDGPU_REL32, .data
56-
.reloc 0, R_AMDGPU_REL64, .data
57-
.reloc 0, R_AMDGPU_ABS32, .data
58-
.reloc 0, R_AMDGPU_GOTPCREL, .data
59-
.reloc 0, R_AMDGPU_GOTPCREL32_LO, .data
60-
.reloc 0, R_AMDGPU_GOTPCREL32_HI, .data
61-
.reloc 0, R_AMDGPU_REL32_LO, .data
62-
.reloc 0, R_AMDGPU_REL32_HI, .data
63-
.reloc 0, R_AMDGPU_RELATIVE64, .data
64-
.reloc 0, R_AMDGPU_REL16, .data
65-
.reloc 0, BFD_RELOC_NONE, .data
66-
.reloc 0, BFD_RELOC_32, .data
67-
.reloc 0, BFD_RELOC_64, .data
6850

6951
.data
7052
.globl foo
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# RUN: llvm-mc -triple=armv7 %s 2>&1 | FileCheck --check-prefix=PRINT %s
22
# RUN: not llvm-mc -filetype=obj -triple=armv7 %s -o /dev/null 2>&1 | FileCheck %s
33

4-
# PRINT: .reloc 0, R_INVALID, 0
4+
# PRINT: .reloc {{.*}}, R_INVALID, 0
55
# CHECK: {{.*}}.s:[[# @LINE+1]]:11: error: unknown relocation name
6-
.reloc 0, R_INVALID, 0
6+
.reloc ., R_INVALID, 0

llvm/test/MC/ARM/reloc-directive.s

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,21 @@
1010
# RUN: llvm-readelf -x .data %t | FileCheck --check-prefix=HEX %s
1111

1212
.text
13+
.reloc .+8, R_ARM_NONE, .data
14+
.reloc .+4, R_ARM_NONE, foo+4
15+
.reloc .+0, R_ARM_NONE, 8
16+
17+
.reloc .+0, R_ARM_ALU_PC_G0, .data+2
18+
.reloc .+0, R_ARM_LDR_PC_G0, foo+3
19+
.reloc .+0, R_ARM_THM_ALU_PREL_11_0, 5
20+
21+
.reloc .+0, BFD_RELOC_NONE, 9
22+
.reloc .+0, BFD_RELOC_8, 9
23+
.reloc .+0, BFD_RELOC_16, 9
24+
.reloc .+0, BFD_RELOC_32, 9
1325
bx lr
1426
nop
1527
nop
16-
.reloc 8, R_ARM_NONE, .data
17-
.reloc 4, R_ARM_NONE, foo+4
18-
.reloc 0, R_ARM_NONE, 8
19-
20-
.reloc 0, R_ARM_ALU_PC_G0, .data+2
21-
.reloc 0, R_ARM_LDR_PC_G0, foo+3
22-
.reloc 0, R_ARM_THM_ALU_PREL_11_0, 5
23-
24-
.reloc 0, BFD_RELOC_NONE, 9
25-
.reloc 0, BFD_RELOC_8, 9
26-
.reloc 0, BFD_RELOC_16, 9
27-
.reloc 0, BFD_RELOC_32, 9
2828

2929
.data
3030
.globl foo
@@ -33,16 +33,7 @@ foo:
3333
.word 0
3434
.word 0
3535

36-
# PRINT: .reloc 8, R_ARM_NONE, .data
37-
# PRINT: .reloc 4, R_ARM_NONE, foo+4
38-
# PRINT: .reloc 0, R_ARM_NONE, 8
39-
# PRINT: .reloc 0, R_ARM_ALU_PC_G0, .data+2
40-
# PRINT: .reloc 0, R_ARM_LDR_PC_G0, foo+3
41-
# PRINT: .reloc 0, R_ARM_THM_ALU_PREL_11_0, 5
42-
# PRINT: .reloc 0, BFD_RELOC_NONE, 9
43-
# PRINT-NEXT: .reloc 0, BFD_RELOC_8, 9
44-
# PRINT-NEXT: .reloc 0, BFD_RELOC_16, 9
45-
# PRINT-NEXT: .reloc 0, BFD_RELOC_32, 9
36+
# PRINT: .reloc {{.*}}+8, R_ARM_NONE, .data
4637

4738
# ARM relocations use the Elf32_Rel format. Addends are neither stored in the
4839
# relocation entries nor applied in the referenced locations.
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# RUN: llvm-mc -triple=avr %s 2>&1 | FileCheck --check-prefix=PRINT %s
22
# RUN: not llvm-mc -filetype=obj -triple=avr %s -o /dev/null 2>&1 | FileCheck %s
33

4-
# PRINT: .reloc 0, R_INVALID, 0
4+
# PRINT: .reloc {{.*}}, R_INVALID, 0
55
# CHECK: {{.*}}.s:[[#@LINE+1]]:11: error: unknown relocation name
6-
.reloc 0, R_INVALID, 0
6+
.reloc ., R_INVALID, 0
77

8-
# PRINT: .reloc 0, BFD_RELOC_64, 0
8+
# PRINT: .reloc {{.*}}, BFD_RELOC_64, 0
99
# CHECK: {{.*}}.s:[[#@LINE+1]]:11: error: unknown relocation name
10-
.reloc 0, BFD_RELOC_64, 0
10+
.reloc ., BFD_RELOC_64, 0

llvm/test/MC/AVR/reloc-directive.s

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,7 @@
11
# RUN: llvm-mc -triple=avr %s | FileCheck --check-prefix=PRINT %s
22
# RUN: llvm-mc -filetype=obj -triple=avr %s | llvm-readobj -r - | FileCheck %s
33

4-
# PRINT: .reloc 4, R_AVR_NONE, .data
5-
# PRINT-NEXT: .reloc 2, R_AVR_NONE, foo+4
6-
# PRINT-NEXT: .reloc 0, R_AVR_NONE, 8
7-
# PRINT: .reloc 0, R_AVR_32, .data+2
8-
# PRINT-NEXT: .reloc 0, R_AVR_16, foo+3
9-
# PRINT: .reloc 0, BFD_RELOC_NONE, 9
10-
# PRINT-NEXT: .reloc 0, BFD_RELOC_16, 9
11-
# PRINT-NEXT: .reloc 0, BFD_RELOC_32, 9
4+
# PRINT: .reloc {{.*}}+4, R_AVR_NONE, .data
125

136
# CHECK: Section ({{.*}}) .rela.text {
147
# CHECK-NEXT: 0x4 R_AVR_NONE .data 0x0
@@ -22,19 +15,19 @@
2215
# CHECK-NEXT: }
2316

2417
.text
18+
.reloc .+4, R_AVR_NONE, .data
19+
.reloc .+2, R_AVR_NONE, foo+4
20+
.reloc .+0, R_AVR_NONE, 8
21+
22+
.reloc .+0, R_AVR_32, .data+2
23+
.reloc .+0, R_AVR_16, foo+3
24+
25+
.reloc .+0, BFD_RELOC_NONE, 9
26+
.reloc .+0, BFD_RELOC_16, 9
27+
.reloc .+0, BFD_RELOC_32, 9
2528
ret
2629
nop
2730
nop
28-
.reloc 4, R_AVR_NONE, .data
29-
.reloc 2, R_AVR_NONE, foo+4
30-
.reloc 0, R_AVR_NONE, 8
31-
32-
.reloc 0, R_AVR_32, .data+2
33-
.reloc 0, R_AVR_16, foo+3
34-
35-
.reloc 0, BFD_RELOC_NONE, 9
36-
.reloc 0, BFD_RELOC_16, 9
37-
.reloc 0, BFD_RELOC_32, 9
3831

3932
.data
4033
.globl foo

llvm/test/MC/LoongArch/Relocations/reloc-directive-err.s

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
# RUN: not llvm-mc --filetype=obj --triple=loongarch64 %s -o /dev/null 2>&1 \
33
# RUN: | FileCheck %s
44

5-
# PRINT: .reloc 0, R_INVALID, 0
5+
# PRINT: .reloc {{.*}}, R_INVALID, 0
66
# CHECK: {{.*}}.s:[[# @LINE+1]]:11: error: unknown relocation name
7-
.reloc 0, R_INVALID, 0
7+
.reloc ., R_INVALID, 0

llvm/test/MC/LoongArch/Relocations/reloc-directive.s

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,23 @@
22
# RUN: llvm-mc --filetype=obj --triple=loongarch64 %s \
33
# RUN: | llvm-readobj -r - | FileCheck %s
44

5-
# PRINT: .reloc 8, R_LARCH_NONE, .data
6-
# PRINT: .reloc 4, R_LARCH_NONE, foo+4
7-
# PRINT: .reloc 0, R_LARCH_NONE, 8
8-
# PRINT: .reloc 0, R_LARCH_32, .data+2
9-
# PRINT: .reloc 0, R_LARCH_TLS_DTPMOD32, foo+3
10-
# PRINT: .reloc 0, R_LARCH_IRELATIVE, 5
11-
# PRINT: .reloc 0, BFD_RELOC_NONE, 9
12-
# PRINT-NEXT: .reloc 0, BFD_RELOC_32, 9
13-
# PRINT-NEXT: .reloc 0, BFD_RELOC_64, 9
5+
# PRINT: .reloc {{.*}}+8, R_LARCH_NONE, .data
146

157
.text
8+
.reloc .+8, R_LARCH_NONE, .data
9+
.reloc .+4, R_LARCH_NONE, foo+4
10+
.reloc .+0, R_LARCH_NONE, 8
11+
12+
.reloc .+0, R_LARCH_32, .data+2
13+
.reloc .+0, R_LARCH_TLS_DTPMOD32, foo+3
14+
.reloc .+0, R_LARCH_IRELATIVE, 5
15+
16+
.reloc .+0, BFD_RELOC_NONE, 9
17+
.reloc .+0, BFD_RELOC_32, 9
18+
.reloc .+0, BFD_RELOC_64, 9
1619
ret
1720
nop
1821
nop
19-
.reloc 8, R_LARCH_NONE, .data
20-
.reloc 4, R_LARCH_NONE, foo+4
21-
.reloc 0, R_LARCH_NONE, 8
22-
23-
.reloc 0, R_LARCH_32, .data+2
24-
.reloc 0, R_LARCH_TLS_DTPMOD32, foo+3
25-
.reloc 0, R_LARCH_IRELATIVE, 5
26-
27-
.reloc 0, BFD_RELOC_NONE, 9
28-
.reloc 0, BFD_RELOC_32, 9
29-
.reloc 0, BFD_RELOC_64, 9
3022

3123
.data
3224
.globl foo

0 commit comments

Comments
 (0)