Commit | Line | Data |
---|---|---|
f4e584bd DJ |
1 | .file 1 "tlsbin-o32.s" |
2 | .abicalls | |
3 | .text | |
4 | .align 2 | |
5 | .globl other | |
6 | .ent other | |
7 | .type other,@function | |
8 | other: | |
9 | .frame $fp,16,$31 | |
10 | .mask 0x40000000,-8 | |
11 | .fmask 0x00000000,0 | |
12 | .set noreorder | |
13 | .cpload $25 | |
14 | .set reorder | |
15 | addiu $sp,$sp,-16 | |
16 | sw $fp,8($sp) | |
17 | move $fp,$sp | |
18 | .cprestore 0 | |
19 | ||
20 | # General Dynamic | |
21 | lw $25,%call16(__tls_get_addr)($28) | |
22 | addiu $4,$28,%tlsgd(tlsbin_gd) | |
23 | jal $25 | |
24 | ||
25 | lw $25,%call16(__tls_get_addr)($28) | |
26 | addiu $4,$28,%tlsgd(tlsvar_gd) | |
27 | jal $25 | |
28 | ||
29 | # Local Dynamic | |
30 | lw $25,%call16(__tls_get_addr)($28) | |
31 | addiu $4,$28,%tlsldm(tlsbin_ld) | |
32 | jal $25 | |
33 | ||
34 | move $2,$2 # Arbitrary instructions | |
35 | ||
36 | lui $3,%dtprel_hi(tlsbin_ld) | |
37 | addiu $3,$3,%dtprel_lo(tlsbin_ld) | |
38 | addu $3,$3,$2 | |
39 | ||
40 | # Initial Exec | |
41 | .set push | |
42 | .set mips32r2 | |
43 | rdhwr $2, $5 | |
44 | .set pop | |
45 | lw $3,%gottprel(tlsbin_ie)($28) | |
46 | addu $3,$3,$2 | |
47 | ||
48 | lw $3,%gottprel(tlsvar_ie)($28) | |
49 | addu $3,$3,$2 | |
50 | ||
51 | # Local Exec | |
52 | .set push | |
53 | .set mips32r2 | |
54 | rdhwr $2, $5 | |
55 | .set pop | |
56 | lui $3,%tprel_hi(tlsbin_le) | |
57 | addiu $3,$3,%tprel_lo(tlsbin_le) | |
58 | addu $3,$3,$2 | |
59 | ||
60 | move $sp,$fp | |
61 | lw $fp,8($sp) | |
62 | addiu $sp,$sp,16 | |
63 | j $31 | |
64 | .end other |