* elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
[external/binutils.git] / gas / testsuite / gas / all / weakref1.s
1         .text
2 l:
3 /* a# test references after weakref. */
4         .weakref Wwa1, wa1
5         .long Wwa1
6
7         .weakref Wua2, ua2
8         .long ua2
9
10         .weakref Wua3, ua3
11         .long Wua3
12         .long ua3
13
14         .weakref Wua4, ua4
15         .long ua4
16         .long Wua4
17
18         .weakref Wna5, na5
19
20 /* b# test references before weakref.  */
21         .long Wwb1
22         .weakref Wwb1, wb1
23
24         .long ub2
25         .weakref Wub2, ub2
26
27         .long Wub3
28         .long ub3
29         .weakref Wub3, ub3
30
31         .long ub4
32         .long Wub4
33         .weakref Wub4, ub4
34
35 /* c# test combinations of references before and after weakref.  */
36         .long Wwc1
37         .weakref Wwc1, wc1
38         .long Wwc1
39
40         .long uc2
41         .weakref Wuc2, uc2
42         .long uc2
43
44         .long Wuc3
45         .long uc3
46         .weakref Wuc3, uc3
47         .long Wuc3
48         .long uc3
49
50         .long uc4
51         .long Wuc4
52         .weakref Wuc4, uc4
53         .long uc4
54         .long Wuc4
55
56         .long Wuc5
57         .long uc5
58         .weakref Wuc5, uc5
59         .long uc5
60         .long Wuc5
61
62         .long uc6
63         .long Wuc6
64         .weakref Wuc6, uc6
65         .long uc6
66         .long Wuc6
67
68         .long uc7
69         .weakref Wuc7, uc7
70         .long Wuc7
71
72         .long Wuc8
73         .weakref Wuc8, uc8
74         .long uc8
75
76         .long Wuc9
77         .weakref Wuc9, uc9
78         .long Wuc9
79         .long uc9
80
81 /* w# test that explicitly weak target don't lose the weak status */
82         .weakref Www1, ww1
83         .weak ww1
84         .long ww1
85
86         .weak ww2
87         .weakref Www2, ww2
88         .long ww2
89
90         .weak ww3
91         .long ww3
92         .weakref Www3, ww3
93         .long ww3
94
95         .long ww4
96         .weakref Www4, ww4
97         .weak ww4
98         .long ww4
99
100         .long ww5
101         .weakref Www5, ww5
102         .long ww5
103         .weak ww5
104
105         .weakref Www6, ww6
106         .weak ww6
107         .long Www6
108
109         .weak ww7
110         .weakref Www7, ww7
111         .long Www7
112
113         .weak ww8
114         .long Www8
115         .weakref Www8, ww8
116         .long Www8
117
118         .long Www9
119         .weakref Www9, ww9
120         .weak ww9
121         .long Www9
122
123         .long Www10
124         .weakref Www10, ww10
125         .long Www10
126         .weak ww10
127
128 /* m# test multiple weakrefs */
129         .weakref Wnm4a, nm4
130         .weakref Wnm4b, nm4
131
132         .weakref Wum5a, um5
133         .weakref Wum5b, um5
134         .long um5
135
136         .weakref Wwm6a, wm6
137         .weakref Wwm6b, wm6
138         .long Wwm6a
139
140         .weakref Wwm7a, wm7
141         .weakref Wwm7b, wm7
142         .long Wwm7b
143
144         .weakref Wwm8a, wm8
145         .long Wwm8b
146         .weakref Wwm8b, wm8
147
148 /* h# test weakref chain */
149         .weakref Wnh1a, nh1
150         .weakref Wnh1b, Wnh1a
151         .weakref Wnh1c, Wnh1b
152
153         .weakref Wwh2a, wh2
154         .weakref Wwh2b, Wwh2a
155         .long Wwh2b
156
157         .weakref Wwh3a, wh3
158         .weakref Wwh3b, Wwh3a
159         .long Wwh3a
160
161         .weakref Wwh4b, Wwh4a
162         .weakref Wwh4a, wh4
163         .long Wwh4b
164
165         .long Wwh5b
166         .weakref Wwh5a, wh5
167         .weakref Wwh5b, Wwh5a
168
169         .long Wwh6b
170         .weakref Wwh6b, Wwh6a
171         .weakref Wwh6a, wh6
172
173         .weakref Wwh7b, Wwh7a
174         .long Wwh7b
175         .weakref Wwh7a, wh7
176
177         .long Wuh8c
178         .weakref Wuh8a, uh8
179         .weakref Wuh8b, Wuh8a
180         .weakref Wuh8c, Wuh8b
181         .long uh8
182
183         .long Wuh9c
184         .weakref Wuh9c, Wuh9b
185         .weakref Wuh9b, Wuh9a
186         .weakref Wuh9a, uh9
187         .long uh9
188
189 /* d# target symbol definitions */
190         .weakref Wld1, ld1
191         .long Wld1
192         ld1 == l
193
194         .weakref Wld2, ld2
195         .long Wld2
196 ld2:
197
198 ld3:
199         .weakref Wld3, ld3
200         .long Wld3
201
202 ld4:
203         .long Wld4
204         .weakref Wld4, ld4
205
206         .global ud5
207         .weakref Wud5, ud5
208         .long Wud5
209
210         .global gd6
211         .weakref Wgd6, gd6
212         .long Wgd6
213 gd6:
214
215         .weakref Wgd7, gd7
216         .long Wgd7
217         .global gd7
218 gd7:
219
220         .long Wld8c
221         .weakref Wld8a, ld8
222         .weakref Wld8b, Wld8a
223         .weakref Wld8c, Wld8b
224         .long ld8
225 ld8:
226
227         .long Wld9c
228         .weakref Wld9c, Wld9b
229         .weakref Wld9b, Wld9a
230         .weakref Wld9a, ld9
231         .long ld9
232 ld9: