Revert "Fix the test for PR 18963 so that it will work on 16-bit targets."
[deliverable/binutils-gdb.git] / ld / testsuite / ld-powerpc / tls.s
CommitLineData
266fb683
AM
1 .section ".tbss","awT",@nobits
2 .global _start,gd0,ld0,ld1,ld2,ie0,le0,le1
3 .align 3
4gd0: .space 8
5ld0: .space 8
6ld1: .space 8
7ld2: .space 8
8ie0: .space 8
9le0: .space 8
10le1: .space 8
11
12 .section ".tdata","awT",@progbits
13 .align 3
14gd4: .quad 0x123456789abcdef0
15ld4: .quad 0x23456789abcdef01
16ld5: .quad 0x3456789abcdef012
17ld6: .quad 0x456789abcdef0123
18ie4: .quad 0x56789abcdef01234
19le4: .quad 0x6789abcdef012345
20le5: .quad 0x789abcdef0123456
21
71a39c98
AM
22 .section ".opd","aw",@progbits
23 .p2align 3
266fb683 24_start:
71a39c98
AM
25 .quad .L_start,.TOC.@tocbase,0
26
27 .text
28.L_start:
266fb683
AM
29#extern syms
30#GD
31 addi 3,2,gd@got@tlsgd #R_PPC64_GOT_TLSGD16 gd
9a23f96e
AM
32 .ifdef TLSMARK
33 bl __tls_get_addr(gd@tlsgd) #R_PPC64_TLSGD gd
34 #R_PPC64_REL24 __tls_get_addr
35 .else
266fb683 36 bl .__tls_get_addr #R_PPC64_REL24 .__tls_get_addr
9a23f96e 37 .endif
266fb683
AM
38 nop
39
40#LD
41 addi 3,2,ld@got@tlsld #R_PPC64_GOT_TLSLD16 ld
9a23f96e
AM
42 .ifdef TLSMARK
43 bl __tls_get_addr(ld@tlsld) #R_PPC64_TLSLD ld
44 #R_PPC64_REL24 __tls_get_addr
45 .else
266fb683 46 bl .__tls_get_addr #R_PPC64_REL24 .__tls_get_addr
9a23f96e 47 .endif
266fb683
AM
48 nop
49
50#global syms
51#GD
52 addi 3,2,gd0@got@tlsgd #R_PPC64_GOT_TLSGD16 gd0
9a23f96e
AM
53 .ifdef TLSMARK
54 bl __tls_get_addr(gd0@tlsgd) #R_PPC64_TLSGD gd0
55 #R_PPC64_REL24 __tls_get_addr
56 .else
266fb683 57 bl .__tls_get_addr #R_PPC64_REL24 .__tls_get_addr
9a23f96e 58 .endif
266fb683
AM
59 nop
60
61#LD
62 addi 3,2,ld0@got@tlsld #R_PPC64_GOT_TLSLD16 ld0
9a23f96e
AM
63 .ifdef TLSMARK
64 bl __tls_get_addr(ld0@tlsld) #R_PPC64_TLSLD ld0
65 #R_PPC64_REL24 __tls_get_addr
66 .else
266fb683 67 bl .__tls_get_addr #R_PPC64_REL24 .__tls_get_addr
9a23f96e 68 .endif
266fb683
AM
69 nop
70
71 addi 9,3,ld0@dtprel #R_PPC64_DTPREL16 ld0
72
73 addis 9,3,ld1@dtprel@ha #R_PPC64_DTPREL16_HA ld1
74 lwz 10,ld1@dtprel@l(9) #R_PPC64_DTPREL16_LO ld1
75
76 ld 9,ld2@got@dtprel(2) #R_PPC64_GOT_DTPREL16_DS ld2
77 ldx 10,9,3
78
79#IE
80 ld 9,ie0@got@tprel(2) #R_PPC64_GOT_TPREL16_DS ie0
81 lhzx 10,9,ie0@tls #R_PPC64_TLS ie0
82
83#LE
84 lbz 10,le0@tprel(13) #R_PPC64_TPREL16 le0
85
86 addis 9,13,le1@tprel@ha #R_PPC64_TPREL16_HA le1
87 stb 10,le1@tprel@l(9) #R_PPC64_TPREL16_LO le1
88
89#local syms
90#GD
91 addi 3,2,gd4@got@tlsgd #R_PPC64_GOT_TLSGD16 gd4
9a23f96e
AM
92 .ifdef TLSMARK
93 bl __tls_get_addr(gd4@tlsgd) #R_PPC64_TLSGD gd4
94 #R_PPC64_REL24 __tls_get_addr
95 .else
266fb683 96 bl .__tls_get_addr #R_PPC64_REL24 .__tls_get_addr
9a23f96e 97 .endif
266fb683
AM
98 nop
99
100#LD
101 addi 3,2,ld4@got@tlsld #R_PPC64_GOT_TLSLD16 ld4
9a23f96e
AM
102 .ifdef TLSMARK
103 bl __tls_get_addr(ld4@tlsld) #R_PPC64_TLSLD ld4
104 #R_PPC64_REL24 __tls_get_addr
105 .else
266fb683 106 bl .__tls_get_addr #R_PPC64_REL24 .__tls_get_addr
9a23f96e 107 .endif
266fb683
AM
108 nop
109
110 std 10,ld4@dtprel(3) #R_PPC64_DTPREL16_DS ld4
111
112 addis 9,3,ld5@dtprel@ha #R_PPC64_DTPREL16_HA ld5
113 stw 10,ld5@dtprel@l(9) #R_PPC64_DTPREL16_LO ld5
114
115 ld 9,ld6@got@dtprel(2) #R_PPC64_GOT_DTPREL16_DS ld6
116 stdx 10,9,3
117
118#IE
119 ld 9,ie0@got@tprel(2) #R_PPC64_GOT_TPREL16_DS ie4
120 sthx 10,9,ie0@tls #R_PPC64_TLS ie4
121
122#LE
123 lwa 10,le4@tprel(13) #R_PPC64_TPREL16 le4
124
125 addis 9,13,le5@tprel@ha #R_PPC64_TPREL16_HA le5
126 lha 10,le5@tprel@l(9) #R_PPC64_TPREL16_LO le5
This page took 0.739153 seconds and 4 git commands to generate.