Upload Tizen:Base source
[external/binutils.git] / ld / testsuite / ld-mips-elf / tlsdyn-o32.s
1         .file   1 "tlsbin-o32.s"
2         .abicalls
3         .text
4         .align  2
5         .globl  __start
6         .ent    __start
7         .type   __start,@function
8 __start:
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    __start
65
66         .globl __tls_get_addr
67 __tls_get_addr:
68         j $31
69
70         .section                .tbss,"awT",@nobits
71         .align  2
72         .global tlsbin_gd
73         .type   tlsbin_gd,@object
74         .size   tlsbin_gd,4
75 tlsbin_gd:
76         .space  4
77         .global tlsbin_ie
78         .type   tlsbin_ie,@object
79         .size   tlsbin_ie,4
80 tlsbin_ie:
81         .space  4
82
83         .section                .tdata,"awT"
84         .align  2
85         .global tlsbin_ld
86         .hidden tlsbin_ld
87         .type   tlsbin_ld,@object
88         .size   tlsbin_ld,4
89 tlsbin_ld:
90         .word   1
91         .global tlsbin_le
92         .hidden tlsbin_le
93         .type   tlsbin_le,@object
94         .size   tlsbin_le,4
95 tlsbin_le:
96         .word   1