Upload Tizen:Base source
[external/binutils.git] / ld / testsuite / ld-sh / sh64 / reldl-1.s
1 ! Relative linking.  Like the simple test, but mixing in use of
2 ! "datalabel" and offsets to the global symbols into the previous
3 ! combinations.
4 !
5 ! More systematic testing datalabel references,
6 ! igoring section difference, symbol definition type and offset presence:
7 ! Datalabel reference plus:
8 ! (datalabel other file, other file, same file, none)
9 ! = (1, 2, 3, 4, 12, 13, 23, 123)
10 !
11 ! Definition:
12 ! (none, same file, other file) = (a, b, c)
13 !
14 ! Combined: 
15 ! = (a1, a2, a3, a4, a12, a13, a23, a123, b1, b2, b3, b4, b12,
16 !    b13, b23, b123, c1, c2, c3, c4, c12, c13, c23, c123)
17
18         .mode SHmedia
19         .text
20         .global start
21 start:
22         nop
23         .global file1text1
24 file1text1:
25         nop
26         movi file1text1 & 65535,r10
27         .global file1text2
28 file1text2:
29         movi (datalabel file1data2) & 65535,r20
30         .global file1text3
31 file1text3:
32         movi file2text3 & 65535,r20
33         .global file1text4
34 file1text4:
35         movi file2data4 & 65535,r20
36         .global file1text5
37 file1text5:
38         movi unresolved1 & 65535,r40
39         .global b1
40 b1:
41         movi unresolved6 & 65535,r30
42         .global b2
43 b2:
44         movi (datalabel file1text1) & 65535,r10
45         .global b3
46 b3:
47         movi (datalabel file1text1 + 24) & 65535,r10
48         .global b4
49 b4:
50         movi (datalabel file1text5 + 8) & 65535, r40
51         .global b12
52 b12:
53         movi (datalabel file1data2 + 48) & 65535,r20
54         .global b13
55 b13:
56         movi file1data2 & 65535,r20
57         .global b23
58 b23:
59         movi (datalabel file2data4 + 16),r50
60         .global b123
61 b123:
62         movi (datalabel unresolved7) & 65535,r60
63         .global oc1
64 oc1:
65         movi (datalabel unresolved1) & 65535,r60
66         .global oc2
67 oc2:
68         nop
69         .global oc3
70 oc3:
71         nop
72         .global oc4
73 oc4:
74         nop
75         .global oc12
76 oc12:
77         nop
78         .global oc13
79 oc13:
80         nop
81         .global oc23
82 oc23:
83         nop
84         .global oc123
85 oc123:
86         nop
87
88         .data
89         .long 0
90         .global file1data1
91 file1data1:
92         .long 0
93         .long datalabel file1data1 + 8
94         .global file1data2
95 file1data2:
96         .long file1text2
97         .global file1data3
98 file1data3:
99         .long file2data3
100         .global file1data4
101 file1data4:
102         .long file2text4
103         .global file1data5
104 file1data5:
105         .long unresolved2
106         .long unresolved5
107         .long datalabel unresolved6 + 40
108         .long unresolved9
109
110         .long datalabel a1
111         .long a23
112         .long b123
113         .long c3
114         .long c13
115         .long datalabel a2
116         .long datalabel a3
117         .long datalabel a4
118         .long datalabel a12
119         .long datalabel a13
120         .long datalabel a23
121         .long datalabel a123
122         .long datalabel b1
123         .long datalabel b2
124         .long a3
125         .long a13
126         .long datalabel b3
127         .long datalabel b4
128         .long datalabel b12
129         .long datalabel b13
130         .long a123
131         .long b3
132         .long b13
133         .long b23
134         .long datalabel b23
135         .long datalabel b123
136         .long datalabel c1
137         .long datalabel c2
138         .long datalabel c3
139         .long c23
140         .long c123
141         .long datalabel c4
142         .long datalabel c12
143         .long datalabel c13
144         .long datalabel c23
145         .long datalabel c123
146
147
148         .long datalabel oa1
149         .long datalabel ob1
150         .long ob123
151         .long datalabel oc1
152         .long oa2
153         .long ob2
154         .long oc2
155         .long oa12
156         .long datalabel oa12
157         .long datalabel ob12
158         .long ob12
159         .long datalabel oc12
160         .long oc12
161         .long oa23
162         .long datalabel oa13
163         .long oc123
164         .long datalabel ob13
165         .long datalabel oc13
166         .long ob23
167         .long oc23
168         .long oa123
169         .long datalabel oa123
170         .long datalabel ob123
171         .long datalabel oc123