|
3 | 3 | // RUN: llvm-objdump --no-print-imm-hex -d --no-show-raw-insn %t.so | FileCheck %s
|
4 | 4 | // RUN: llvm-readelf -r %t.so | FileCheck --check-prefix=REL %s
|
5 | 5 |
|
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 |
13 | 18 |
|
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 |
17 | 23 |
|
18 | 24 | .text
|
19 | 25 | .attribute 4, 16
|
|
23 | 29 | .p2align 2
|
24 | 30 | .type _start,@function
|
25 | 31 | _start: # @_start
|
26 |
| -# %bb.0: # %entry |
| 32 | +// access local variable |
27 | 33 | .Ltlsdesc_hi0:
|
28 | 34 | auipc a0, %tlsdesc_hi(unspecified)
|
29 | 35 | ld a1, %tlsdesc_load_lo(.Ltlsdesc_hi0)(a0)
|
30 | 36 | addi a0, a0, %tlsdesc_add_lo(.Ltlsdesc_hi0)
|
31 | 37 | jalr t0, 0(a1), %tlsdesc_call(.Ltlsdesc_hi0)
|
32 | 38 | 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 |
33 | 47 | ret
|
34 | 48 | .Lfunc_end0:
|
35 | 49 | .size _start, .Lfunc_end0-_start
|
36 | 50 | # -- End function
|
37 | 51 | .section ".note.GNU-stack","",@progbits
|
38 | 52 |
|
39 |
| - .section .tbss,"awT",@nobits |
40 |
| - .p2align 2 |
| 53 | + .section .tbss,"awT",@nobits |
| 54 | + .p2align 2 |
| 55 | + .global v1 |
| 56 | +v1: |
| 57 | + .zero 4 |
41 | 58 |
|
42 | 59 | unspecified:
|
43 |
| - .zero 4 |
| 60 | + .zero 4 |
0 commit comments