Commit | Line | Data |
---|---|---|
1b19eb81 AO |
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 |