Skip to content

Commit dc965af

Browse files
committed
Add checks both local and global accesses in test
1 parent 2e3d34a commit dc965af

File tree

1 file changed

+31
-14
lines changed

1 file changed

+31
-14
lines changed

lld/test/ELF/riscv-tlsdesc-le.s

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,23 @@
33
// RUN: llvm-objdump --no-print-imm-hex -d --no-show-raw-insn %t.so | FileCheck %s
44
// RUN: llvm-readelf -r %t.so | FileCheck --check-prefix=REL %s
55

6-
// CHECK: 00000000000012d8 <_start>:
7-
// CHECK-NEXT: 12d8: auipc a0, 1
8-
// CHECK-NEXT: 12dc: ld a1, 920(a0)
9-
// CHECK-NEXT: 12e0: addi a0, a0, 920
10-
// CHECK-NEXT: 12e4: jalr t0, a1
11-
// CHECK-NEXT: 12e8: add a0, a0, tp
12-
// CHECK-NEXT: 12ec: ret
6+
// CHECK: 0000000000001318 <_start>:
7+
// CHECK-NEXT: 1318: auipc a0, 1
8+
// CHECK-NEXT: 131c: ld a1, 1008(a0)
9+
// CHECK-NEXT: 1320: addi a0, a0, 1008
10+
// CHECK-NEXT: 1324: jalr t0, a1
11+
// CHECK-NEXT: 1328: add a0, a0, tp
12+
// CHECK-NEXT: 132c: auipc a0, 1
13+
// CHECK-NEXT: 1330: ld a1, 1040(a0)
14+
// CHECK-NEXT: 1334: addi a0, a0, 1040
15+
// CHECK-NEXT: 1338: jalr t0, a1
16+
// CHECK-NEXT: 133c: add a0, a0, tp
17+
// CHECK-NEXT: 1340: ret
1318

14-
// REL: Relocation section '.rela.dyn' at offset 0x{{[0-9a-f]+}} contains 2 entries
15-
// REL: R_RISCV_TLSDESC_CALL ffffffffffffffe8
16-
// REL-NEXT: R_RISCV_TLSDESC_CALL 0
19+
// REL: Relocation section '.rela.dyn' at offset 0x{{[0-9a-f]+}} contains 3 entries
20+
// REL: R_RISCV_TLSDESC_CALL ffffffffffffffd4
21+
// REL-NEXT: R_RISCV_TLSDESC_CALL 4
22+
// REL-NEXT: R_RISCV_TLSDESC_CALL ffffffffffffffe8
1723

1824
.text
1925
.attribute 4, 16
@@ -23,21 +29,32 @@
2329
.p2align 2
2430
.type _start,@function
2531
_start: # @_start
26-
# %bb.0: # %entry
32+
// access local variable
2733
.Ltlsdesc_hi0:
2834
auipc a0, %tlsdesc_hi(unspecified)
2935
ld a1, %tlsdesc_load_lo(.Ltlsdesc_hi0)(a0)
3036
addi a0, a0, %tlsdesc_add_lo(.Ltlsdesc_hi0)
3137
jalr t0, 0(a1), %tlsdesc_call(.Ltlsdesc_hi0)
3238
add a0, a0, tp
39+
40+
// access global variable
41+
.Ltlsdesc_hi1:
42+
auipc a0, %tlsdesc_hi(unspecified)
43+
ld a1, %tlsdesc_load_lo(.Ltlsdesc_hi1)(a0)
44+
addi a0, a0, %tlsdesc_add_lo(.Ltlsdesc_hi1)
45+
jalr t0, 0(a1), %tlsdesc_call(.Ltlsdesc_hi1)
46+
add a0, a0, tp
3347
ret
3448
.Lfunc_end0:
3549
.size _start, .Lfunc_end0-_start
3650
# -- End function
3751
.section ".note.GNU-stack","",@progbits
3852

39-
.section .tbss,"awT",@nobits
40-
.p2align 2
53+
.section .tbss,"awT",@nobits
54+
.p2align 2
55+
.global v1
56+
v1:
57+
.zero 4
4158

4259
unspecified:
43-
.zero 4
60+
.zero 4

0 commit comments

Comments
 (0)