Commit | Line | Data |
---|---|---|
8b0c8155 RH |
1 | .section ".tdata", "awT", @progbits |
2 | .globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8 | |
3 | .globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8 | |
4 | .hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8 | |
5 | sg1: .long 17 | |
6 | sg2: .long 18 | |
7 | sg3: .long 19 | |
8 | sg4: .long 20 | |
9 | sg5: .long 21 | |
10 | sg6: .long 22 | |
11 | sg7: .long 23 | |
12 | sg8: .long 24 | |
13 | sl1: .long 65 | |
14 | sl2: .long 66 | |
15 | sl3: .long 67 | |
16 | sl4: .long 68 | |
17 | sl5: .long 69 | |
18 | sl6: .long 70 | |
19 | sl7: .long 71 | |
20 | sl8: .long 72 | |
21 | sh1: .long 257 | |
22 | sh2: .long 258 | |
23 | sh3: .long 259 | |
24 | sh4: .long 260 | |
25 | sh5: .long 261 | |
26 | sh6: .long 262 | |
27 | sh7: .long 263 | |
28 | sh8: .long 264 | |
29 | .text | |
30 | .globl fn1 | |
31 | .ent fn1 | |
32 | fn1: | |
33 | .frame $sp, 16, $26, 0 | |
34 | ldgp $gp, 0($27) | |
35 | subq $sp, 16, $sp | |
36 | stq $26, 0($sp) | |
37 | stq $9, 8($sp) | |
38 | .prologue 1 | |
39 | ||
40 | rduniq | |
41 | mov $0, $9 | |
42 | ||
43 | /* GD */ | |
44 | lda $16, sg1($gp) !tlsgd!1 | |
45 | ldq $27, __tls_get_addr($gp) !literal!1 | |
46 | jsr $26, ($27), __tls_get_addr !lituse_tlsgd!1 | |
47 | ldgp $gp, 0($26) | |
48 | ||
49 | /* GD against hidden symbol */ | |
50 | lda $16, sh2($gp) !tlsgd!2 | |
51 | ldq $27, __tls_get_addr($gp) !literal!2 | |
52 | jsr $26, ($27), __tls_get_addr !lituse_tlsgd!2 | |
53 | ldgp $gp, 0($26) | |
54 | ||
55 | /* LD */ | |
56 | lda $16, sl1($gp) !tlsldm!3 | |
57 | ldq $27, __tls_get_addr($gp) !literal!3 | |
58 | jsr $26, ($27), __tls_get_addr !lituse_tlsldm!3 | |
59 | ldgp $gp, 0($26) | |
60 | lda $1, sl1+1($0) !dtprel | |
61 | ||
62 | /* LD with 4 variables */ | |
63 | lda $16, sh1($gp) !tlsldm!4 | |
64 | ldq $27, __tls_get_addr($gp) !literal!4 | |
65 | jsr $26, ($27), __tls_get_addr !lituse_tlsldm!4 | |
66 | ldgp $gp, 0($26) | |
67 | lda $1, sh1($0) !dtprel | |
68 | lda $1, sH1+2($0) !dtprel | |
69 | ldah $1, sh5+3($0) !dtprelhi | |
70 | lda $1, sh5+3($1) !dtprello | |
71 | ldq $1, sH5+1($gp) !gotdtprel | |
72 | addq $1, $0, $1 | |
73 | ||
74 | /* IE against global */ | |
75 | ldq $1, sg2($gp) !gottprel | |
76 | addq $1, $9, $1 | |
77 | ||
78 | /* IE against local and hidden */ | |
79 | ldq $1, sl2($gp) !gottprel | |
80 | ldq $2, sh2($gp) !gottprel | |
81 | addq $1, $9, $1 | |
82 | addq $2, $9, $2 | |
83 | ||
84 | ldq $26, 0($sp) | |
85 | addq $sp, 16, $sp | |
86 | ret | |
87 | .end fn1 |