* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
[binutils.git] / gas / testsuite / gas / ia64 / tls.s
blob6a32386e66c5755f2693473b4c255ada423345c0
1 .section ".tdata", "awT", @progbits
2 .align 16
3 .global x#, y#, z#, a#, b#, c#
4 .protected a#, b#, c#
5 .type x#,@object
6 .size x#,4
7 x: data4 1
8 .type y#,@object
9 .size y#,4
10 y: data4 2
11 .type z#,@object
12 .size z#,4
13 z: data4 3
14 .align 8
15 .type a#,@object
16 .size a#,8
17 a: data8 4
18 .type b#,@object
19 .size b#,8
20 b: data8 5
21 .type c#,@object
22 .size c#,1
23 c: data1 6
25 .text
26 .align 16
27 .global foo#
28 .proc foo#
29 foo:
30 .prologue
31 alloc r36 = ar.pfs, 0, 5, 3, 0
32 .body
33 addl loc0 = @ltoff(@tprel(x)), gp;;
34 ld8 loc0 = [loc0];;
35 add loc1 = loc0, r13;;
37 mov r2 = r13;;
38 addl loc1 = @tprel(y), r2;;
40 mov loc0 = gp
41 addl out0 = @ltoff(@dtpmod(z)), gp
42 addl out1 = @ltoff(@dtprel(z)), gp;;
43 ld8 out0 = [out0]
44 ld8 out1 = [out1]
45 br.call.sptk.many b0 = __tls_get_addr;;
46 mov gp = loc0;;
48 addl out0 = @ltoff(@dtpmod(a)), gp
49 addl out1 = @dtprel(a), r0;;
50 ld8 out0 = [out0]
51 br.call.sptk.many b0 = __tls_get_addr;;
52 mov gp = loc0;;
54 addl out0 = @ltoff(@dtpmod(b)), gp
55 mov out1 = r0;;
56 ld8 out0 = [out0]
57 br.call.sptk.many b0 = __tls_get_addr;;
58 mov gp = loc0
59 mov r2 = ret0;;
60 addl loc1 = @dtprel(b), r2
61 addl loc2 = @dtprel(c), r2
63 br.ret.sptk.many b0
64 .endp foo#