[JITLink][arm64] Support arm64e JIT'd code (initially enabled for MachO only).
[llvm-project.git] / lld / test / ELF / pack-dyn-relocs.s
blobdd18c92c7352ebc47501eb38d2d153f7d21ba85d
1 // REQUIRES: arm, aarch64
3 // RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %p/Inputs/arm-shared.s -o %t.a32.so.o
4 // RUN: ld.lld -shared %t.a32.so.o -soname=so -o %t.a32.so
5 // RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t.a32.o
6 // RUN: ld.lld -pie --pack-dyn-relocs=none %t.a32.o %t.a32.so -o %t2.a32
7 // RUN: llvm-readobj -r %t2.a32 | FileCheck --check-prefix=UNPACKED32 %s
9 // RUN: not ld.lld --pack-dyn-relocs=invalid %t.a32.o %t.a32.so -o /dev/null 2>&1 | FileCheck %s --check-prefix=UNKNOWN
11 // UNKNOWN: unknown --pack-dyn-relocs format: invalid
13 /// Unpacked should have the relative relocations in their natural order.
14 /// UNPACKED32: Section ({{.+}}) .rel.dyn {
15 // UNPACKED32-NEXT: 0x30324 R_ARM_RELATIVE -
16 // UNPACKED32-NEXT: 0x30328 R_ARM_RELATIVE -
17 // UNPACKED32-NEXT: 0x3032C R_ARM_RELATIVE -
18 // UNPACKED32-NEXT: 0x30330 R_ARM_RELATIVE -
19 // UNPACKED32-NEXT: 0x30334 R_ARM_RELATIVE -
20 // UNPACKED32-NEXT: 0x30338 R_ARM_RELATIVE -
21 // UNPACKED32-NEXT: 0x3033C R_ARM_RELATIVE -
22 // UNPACKED32-NEXT: 0x30340 R_ARM_RELATIVE -
24 // UNPACKED32-NEXT: 0x30348 R_ARM_RELATIVE -
25 // UNPACKED32-NEXT: 0x3034C R_ARM_RELATIVE -
26 // UNPACKED32-NEXT: 0x30350 R_ARM_RELATIVE -
27 // UNPACKED32-NEXT: 0x30354 R_ARM_RELATIVE -
28 // UNPACKED32-NEXT: 0x30358 R_ARM_RELATIVE -
29 // UNPACKED32-NEXT: 0x3035C R_ARM_RELATIVE -
30 // UNPACKED32-NEXT: 0x30360 R_ARM_RELATIVE -
32 // UNPACKED32-NEXT: 0x3036C R_ARM_RELATIVE -
33 // UNPACKED32-NEXT: 0x30370 R_ARM_RELATIVE -
34 // UNPACKED32-NEXT: 0x30374 R_ARM_RELATIVE -
35 // UNPACKED32-NEXT: 0x30378 R_ARM_RELATIVE -
36 // UNPACKED32-NEXT: 0x3037C R_ARM_RELATIVE -
37 // UNPACKED32-NEXT: 0x30380 R_ARM_RELATIVE -
38 // UNPACKED32-NEXT: 0x30384 R_ARM_RELATIVE -
39 // UNPACKED32-NEXT: 0x30388 R_ARM_RELATIVE -
40 // UNPACKED32-NEXT: 0x3038C R_ARM_RELATIVE -
41 // UNPACKED32-NEXT: 0x30391 R_ARM_RELATIVE -
43 // UNPACKED32-NEXT: 0x30344 R_ARM_ABS32 bar2
44 // UNPACKED32-NEXT: 0x30368 R_ARM_ABS32 bar2
45 // UNPACKED32-NEXT: 0x30395 R_ARM_ABS32 bar2
46 // UNPACKED32-NEXT: 0x30399 R_ARM_ABS32 bar2
47 // UNPACKED32-NEXT: 0x3039D R_ARM_ABS32 bar2
48 // UNPACKED32-NEXT: 0x303A1 R_ARM_ABS32 bar2
49 // UNPACKED32-NEXT: 0x303A5 R_ARM_ABS32 bar2
50 // UNPACKED32-NEXT: 0x30364 R_ARM_ABS32 zed2
51 // UNPACKED32-NEXT: }
53 // RUN: ld.lld -pie --pack-dyn-relocs=android %t.a32.o %t.a32.so -o %t3.a32
54 // RUN: llvm-readobj -S --dynamic-table %t3.a32 | FileCheck --check-prefix=ANDROID32-HEADERS %s
55 // RUN: llvm-readobj -r %t3.a32 | FileCheck --check-prefix=ANDROID32 %s
57 // ANDROID32-HEADERS: Index: 1
58 // ANDROID32-HEADERS-NEXT: Name: .dynsym
60 // ANDROID32-HEADERS: Name: .rel.dyn
61 // ANDROID32-HEADERS-NEXT: Type: SHT_ANDROID_REL
62 // ANDROID32-HEADERS-NEXT: Flags [ (0x2)
63 // ANDROID32-HEADERS-NEXT: SHF_ALLOC (0x2)
64 // ANDROID32-HEADERS-NEXT: ]
65 // ANDROID32-HEADERS-NEXT: Address: [[ADDR:.*]]
66 // ANDROID32-HEADERS-NEXT: Offset: [[ADDR]]
67 // ANDROID32-HEADERS-NEXT: Size: [[SIZE:.*]]
68 // ANDROID32-HEADERS-NEXT: Link: 1
69 // ANDROID32-HEADERS-NEXT: Info: 0
70 // ANDROID32-HEADERS-NEXT: AddressAlignment: 4
71 // ANDROID32-HEADERS-NEXT: EntrySize: 1
73 // ANDROID32-HEADERS: 0x6000000F ANDROID_REL [[ADDR]]
74 // ANDROID32-HEADERS: 0x60000010 ANDROID_RELSZ [[SIZE]]
76 /// Packed should have the groups of non-relative relocations first, followed
77 /// by the larger groups of relative relocations (i.e. the 8 and 9 followed
78 /// by the 7.)
79 // ANDROID32: Section ({{.+}}) .rel.dyn {
80 // ANDROID32-NEXT: 0x3024C R_ARM_RELATIVE -
81 // ANDROID32-NEXT: 0x30250 R_ARM_RELATIVE -
82 // ANDROID32-NEXT: 0x30254 R_ARM_RELATIVE -
83 // ANDROID32-NEXT: 0x30258 R_ARM_RELATIVE -
84 // ANDROID32-NEXT: 0x3025C R_ARM_RELATIVE -
85 // ANDROID32-NEXT: 0x30260 R_ARM_RELATIVE -
86 // ANDROID32-NEXT: 0x30264 R_ARM_RELATIVE -
87 // ANDROID32-NEXT: 0x30268 R_ARM_RELATIVE -
89 // ANDROID32-NEXT: 0x30294 R_ARM_RELATIVE -
90 // ANDROID32-NEXT: 0x30298 R_ARM_RELATIVE -
91 // ANDROID32-NEXT: 0x3029C R_ARM_RELATIVE -
92 // ANDROID32-NEXT: 0x302A0 R_ARM_RELATIVE -
93 // ANDROID32-NEXT: 0x302A4 R_ARM_RELATIVE -
94 // ANDROID32-NEXT: 0x302A8 R_ARM_RELATIVE -
95 // ANDROID32-NEXT: 0x302AC R_ARM_RELATIVE -
96 // ANDROID32-NEXT: 0x302B0 R_ARM_RELATIVE -
97 // ANDROID32-NEXT: 0x302B4 R_ARM_RELATIVE -
99 // ANDROID32-NEXT: 0x30270 R_ARM_RELATIVE -
100 // ANDROID32-NEXT: 0x30274 R_ARM_RELATIVE -
101 // ANDROID32-NEXT: 0x30278 R_ARM_RELATIVE -
102 // ANDROID32-NEXT: 0x3027C R_ARM_RELATIVE -
103 // ANDROID32-NEXT: 0x30280 R_ARM_RELATIVE -
104 // ANDROID32-NEXT: 0x30284 R_ARM_RELATIVE -
105 // ANDROID32-NEXT: 0x30288 R_ARM_RELATIVE -
107 // ANDROID32-NEXT: 0x302B9 R_ARM_RELATIVE -
109 // ANDROID32-NEXT: 0x3026C R_ARM_ABS32 bar2
110 // ANDROID32-NEXT: 0x30290 R_ARM_ABS32 bar2
111 // ANDROID32-NEXT: 0x302BD R_ARM_ABS32 bar2
112 // ANDROID32-NEXT: 0x302C1 R_ARM_ABS32 bar2
113 // ANDROID32-NEXT: 0x302C5 R_ARM_ABS32 bar2
114 // ANDROID32-NEXT: 0x302C9 R_ARM_ABS32 bar2
115 // ANDROID32-NEXT: 0x302CD R_ARM_ABS32 bar2
116 // ANDROID32-NEXT: 0x3028C R_ARM_ABS32 zed2
117 // ANDROID32-NEXT: }
119 // RUN: ld.lld -pie --pack-dyn-relocs=relr %t.a32.o %t.a32.so -o %t4.a32
120 // RUN: llvm-readelf -Sdr %t4.a32 | FileCheck --check-prefix=RELR32 %s
122 // RELR32: Name Type Address Off Size ES Flg Lk Inf Al
123 // RELR32: .dynstr STRTAB {{.*}} 00 A 0 0 1
124 // RELR32-NEXT: .rel.dyn REL {{.*}} 08 A 1 0 4
125 // RELR32-NEXT: .relr.dyn RELR {{0*}}[[#%x,RELR:]] {{.*}} 04 A 0 0 4
127 // RELR32: (RELCOUNT) 1
128 // RELR32: (RELR) 0x[[#RELR]]
129 // RELR32-NEXT: (RELRSZ) 8 (bytes)
130 // RELR32-NEXT: (RELRENT) 4 (bytes)
132 // RELR32: Relocation section '.relr.dyn' at offset {{.*}} contains 24 entries:
133 // RELR32-NEXT: Index: Entry Address Symbolic Address
134 // RELR32-NEXT: 0000: 00030284 {{.*}}
135 // RELR32-NEXT: 0001: 07fcfeff {{.*}}
137 // RUN: llvm-mc -filetype=obj -triple=aarch64-unknown-linux %p/Inputs/shared2.s -o %t.a64.so.o
138 // RUN: ld.lld -shared %t.a64.so.o -soname=so -o %t.a64.so
139 // RUN: llvm-mc -filetype=obj -triple=aarch64-unknown-linux %s -o %t.a64.o
140 // RUN: ld.lld -pie --pack-dyn-relocs=none %t.a64.o %t.a64.so -o %t2.a64
141 // RUN: llvm-readobj -r %t2.a64 | FileCheck --check-prefix=UNPACKED64 %s
143 // UNPACKED64: Section ({{.+}}) .rela.dyn {
144 // UNPACKED64-NEXT: 0x30690 R_AARCH64_RELATIVE - 0x30690
145 // UNPACKED64-NEXT: 0x30698 R_AARCH64_RELATIVE - 0x30691
146 // UNPACKED64-NEXT: 0x306A0 R_AARCH64_RELATIVE - 0x2
147 // UNPACKED64-NEXT: 0x306A8 R_AARCH64_RELATIVE - 0xFFFFFFFFFFFFFFFF
148 // UNPACKED64-NEXT: 0x306B0 R_AARCH64_RELATIVE - 0x80000000
149 // UNPACKED64-NEXT: 0x306B8 R_AARCH64_RELATIVE - 0x6
150 // UNPACKED64-NEXT: 0x306C0 R_AARCH64_RELATIVE - 0x7
151 // UNPACKED64-NEXT: 0x306C8 R_AARCH64_RELATIVE - 0x30698
153 // UNPACKED64-NEXT: 0x306D8 R_AARCH64_RELATIVE - 0x30691
154 // UNPACKED64-NEXT: 0x306E0 R_AARCH64_RELATIVE - 0x2
155 // UNPACKED64-NEXT: 0x306E8 R_AARCH64_RELATIVE - 0x3
156 // UNPACKED64-NEXT: 0x306F0 R_AARCH64_RELATIVE - 0x4
157 // UNPACKED64-NEXT: 0x306F8 R_AARCH64_RELATIVE - 0x5
158 // UNPACKED64-NEXT: 0x30700 R_AARCH64_RELATIVE - 0x6
159 // UNPACKED64-NEXT: 0x30708 R_AARCH64_RELATIVE - 0x30697
161 // UNPACKED64-NEXT: 0x30720 R_AARCH64_RELATIVE - 0x30691
162 // UNPACKED64-NEXT: 0x30728 R_AARCH64_RELATIVE - 0x2
163 // UNPACKED64-NEXT: 0x30730 R_AARCH64_RELATIVE - 0x3
164 // UNPACKED64-NEXT: 0x30738 R_AARCH64_RELATIVE - 0x4
165 // UNPACKED64-NEXT: 0x30740 R_AARCH64_RELATIVE - 0x5
166 // UNPACKED64-NEXT: 0x30748 R_AARCH64_RELATIVE - 0x6
167 // UNPACKED64-NEXT: 0x30750 R_AARCH64_RELATIVE - 0x7
168 // UNPACKED64-NEXT: 0x30758 R_AARCH64_RELATIVE - 0x8
169 // UNPACKED64-NEXT: 0x30760 R_AARCH64_RELATIVE - 0x30699
171 // UNPACKED64-NEXT: 0x30769 R_AARCH64_RELATIVE - 0x3069A
173 // UNPACKED64-NEXT: 0x306D0 R_AARCH64_ABS64 bar2 0x1
174 // UNPACKED64-NEXT: 0x30718 R_AARCH64_ABS64 bar2 0x0
175 // UNPACKED64-NEXT: 0x30771 R_AARCH64_ABS64 bar2 0x0
176 // UNPACKED64-NEXT: 0x30779 R_AARCH64_ABS64 bar2 0x0
177 // UNPACKED64-NEXT: 0x30781 R_AARCH64_ABS64 bar2 0x1
178 // UNPACKED64-NEXT: 0x30789 R_AARCH64_ABS64 bar2 0x1
179 // UNPACKED64-NEXT: 0x30791 R_AARCH64_ABS64 bar2 0x0
180 // UNPACKED64-NEXT: 0x30710 R_AARCH64_ABS64 zed2 0x0
181 // UNPACKED64-NEXT: }
183 // RUN: ld.lld -pie --pack-dyn-relocs=android %t.a64.o %t.a64.so -o %t3.a64
184 // RUN: llvm-readelf -S -d -r %t3.a64 | FileCheck --check-prefix=ANDROID64 %s
186 // ANDROID64: Name Type Address Off Size ES Flg Lk Inf Al
187 // ANDROID64: .dynstr STRTAB {{.*}} 00 A 0 0 1
188 // ANDROID64-NEXT: .rela.dyn ANDROID_RELA {{0*}}[[#%x,ANDROID:]] {{.*}} 01 A 1 0 8
189 // ANDROID64-NEXT: .text PROGBITS {{.*}} 00 AX 0 0 4
191 // ANDROID64: (DEBUG) 0x0
192 // ANDROID64-NEXT: (ANDROID_RELA) 0x[[#ANDROID]]
193 // ANDROID64-NEXT: (ANDROID_RELASZ) 136 (bytes)
194 // ANDROID64-NEXT: (RELAENT) 24 (bytes)
196 // ANDROID64-HEADERS: 0x0000000060000011 ANDROID_RELA [[ADDR]]
197 // ANDROID64-HEADERS: 0x0000000060000012 ANDROID_RELASZ [[SIZE]]
199 // ANDROID64: Relocation section '.rela.dyn' at offset {{.*}} contains 33 entries:
200 // ANDROID64-NEXT: Offset Info Type Symbol's Value Symbol's Name + Addend
201 // ANDROID64-NEXT: 00000000000303f0 0000000000000403 R_AARCH64_RELATIVE 303f0
202 // ANDROID64-NEXT: 00000000000303f8 0000000000000403 R_AARCH64_RELATIVE 303f1
203 // ANDROID64-NEXT: 0000000000030400 0000000000000403 R_AARCH64_RELATIVE 2
204 // ANDROID64-NEXT: 0000000000030408 0000000000000403 R_AARCH64_RELATIVE ffffffffffffffff
205 // ANDROID64-NEXT: 0000000000030410 0000000000000403 R_AARCH64_RELATIVE 80000000
206 // ANDROID64-NEXT: 0000000000030418 0000000000000403 R_AARCH64_RELATIVE 6
207 // ANDROID64-NEXT: 0000000000030420 0000000000000403 R_AARCH64_RELATIVE 7
208 // ANDROID64-NEXT: 0000000000030428 0000000000000403 R_AARCH64_RELATIVE 303f8
209 // ANDROID64-NEXT: 0000000000030480 0000000000000403 R_AARCH64_RELATIVE 303f1
210 // ANDROID64-NEXT: 0000000000030488 0000000000000403 R_AARCH64_RELATIVE 2
211 // ANDROID64-NEXT: 0000000000030490 0000000000000403 R_AARCH64_RELATIVE 3
212 // ANDROID64-NEXT: 0000000000030498 0000000000000403 R_AARCH64_RELATIVE 4
213 // ANDROID64-NEXT: 00000000000304a0 0000000000000403 R_AARCH64_RELATIVE 5
214 // ANDROID64-NEXT: 00000000000304a8 0000000000000403 R_AARCH64_RELATIVE 6
215 // ANDROID64-NEXT: 00000000000304b0 0000000000000403 R_AARCH64_RELATIVE 7
216 // ANDROID64-NEXT: 00000000000304b8 0000000000000403 R_AARCH64_RELATIVE 8
217 // ANDROID64-NEXT: 00000000000304c0 0000000000000403 R_AARCH64_RELATIVE 303f9
218 // ANDROID64-NEXT: 0000000000030438 0000000000000403 R_AARCH64_RELATIVE 303f1
219 // ANDROID64-NEXT: 0000000000030440 0000000000000403 R_AARCH64_RELATIVE 2
220 // ANDROID64-NEXT: 0000000000030448 0000000000000403 R_AARCH64_RELATIVE 3
221 // ANDROID64-NEXT: 0000000000030450 0000000000000403 R_AARCH64_RELATIVE 4
222 // ANDROID64-NEXT: 0000000000030458 0000000000000403 R_AARCH64_RELATIVE 5
223 // ANDROID64-NEXT: 0000000000030460 0000000000000403 R_AARCH64_RELATIVE 6
224 // ANDROID64-NEXT: 0000000000030468 0000000000000403 R_AARCH64_RELATIVE 303f7
225 // ANDROID64-NEXT: 00000000000304c9 0000000000000403 R_AARCH64_RELATIVE 303fa
226 // ANDROID64-NEXT: 0000000000030478 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 0
227 // ANDROID64-NEXT: 00000000000304d1 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 0
228 // ANDROID64-NEXT: 00000000000304d9 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 0
229 // ANDROID64-NEXT: 00000000000304f1 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 0
230 // ANDROID64-NEXT: 0000000000030430 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 1
231 // ANDROID64-NEXT: 0000000000030470 0000000200000101 R_AARCH64_ABS64 0000000000000000 zed2 + 0
232 // ANDROID64-NEXT: 00000000000304e1 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 1
233 // ANDROID64-NEXT: 00000000000304e9 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 1
234 // ANDROID64-EMPTY:
236 // RUN: ld.lld -pie --pack-dyn-relocs=relr %t.a64.o %t.a64.so -o %t4.a64
237 // RUN: llvm-readelf -Sdr -x .data %t4.a64 | FileCheck --check-prefix=RELR64 %s
239 // RELR64: Name Type Address Off Size ES Flg Lk Inf Al
240 // RELR64: .dynstr STRTAB {{.*}} 00 A 0 0 1
241 // RELR64-NEXT: .rela.dyn RELA {{.*}} 18 A 1 0 8
242 // RELR64-NEXT: .relr.dyn RELR {{0*}}[[#%x,RELR:]] {{.*}} 08 A 0 0 8
243 // RELR64-NEXT: .text PROGBITS 0000000000010380 000380 000000 00 AX 0 0 4
245 // RELR64: (RELACOUNT) 1
246 // RELR64: (RELR) 0x[[#RELR]]
247 // RELR64-NEXT: (RELRSZ) 16 (bytes)
248 // RELR64-NEXT: (RELRENT) 8 (bytes)
250 /// Decoded SHT_RELR section is same as UNPACKED,
251 /// but contains only the relative relocations.
252 /// Any relative relocations with odd offset stay in SHT_RELA.
253 // RELR64: Relocation section '.rela.dyn' at offset {{.*}} contains 9 entries:
254 // RELR64-NEXT: Offset Info Type Symbol's Value Symbol's Name + Addend
255 // RELR64-NEXT: 0000000000030569 0000000000000403 R_AARCH64_RELATIVE 3049a
256 // RELR64-NEXT: 00000000000304d0 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 1
257 // RELR64-NEXT: 0000000000030518 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 0
258 // RELR64-NEXT: 0000000000030571 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 0
259 // RELR64-NEXT: 0000000000030579 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 0
260 // RELR64-NEXT: 0000000000030581 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 1
261 // RELR64-NEXT: 0000000000030589 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 1
262 // RELR64-NEXT: 0000000000030591 0000000100000101 R_AARCH64_ABS64 0000000000000000 bar2 + 0
263 // RELR64-NEXT: 0000000000030510 0000000200000101 R_AARCH64_ABS64 0000000000000000 zed2 + 0
264 // RELR64-EMPTY:
265 // RELR64-NEXT: Relocation section '.relr.dyn' at offset {{.*}} contains 24 entries:
266 // RELR64-NEXT: Symbolic Address
267 // RELR64-NEXT: $d{{$}}
268 // RELR64-NEXT: $d + 0x8
269 // RELR64-NEXT: $d + 0x10
270 // RELR64-NEXT: $d + 0x18
271 // RELR64-NEXT: $d + 0x20
272 // RELR64-NEXT: $d + 0x28
273 // RELR64-NEXT: $d + 0x30
274 // RELR64-NEXT: $d + 0x38
275 // RELR64-NEXT: $d + 0x48
276 // RELR64-NEXT: $d + 0x50
277 // RELR64-NEXT: $d + 0x58
278 // RELR64-NEXT: $d + 0x60
279 // RELR64-NEXT: $d + 0x68
280 // RELR64-NEXT: $d + 0x70
281 // RELR64-NEXT: $d + 0x78
282 // RELR64-NEXT: $d + 0x90
283 // RELR64-NEXT: $d + 0x98
284 // RELR64-NEXT: $d + 0xa0
285 // RELR64-NEXT: $d + 0xa8
286 // RELR64-NEXT: $d + 0xb0
287 // RELR64-NEXT: $d + 0xb8
288 // RELR64-NEXT: $d + 0xc0
289 // RELR64-NEXT: $d + 0xc8
290 // RELR64-NEXT: $d + 0xd0
291 // RELR64-EMPTY:
292 // RELR64-NEXT: Hex dump of section '.data':
293 // RELR64-NEXT: 0x00030490 90040300 00000000 91040300 00000000 .
294 // RELR64-NEXT: 0x000304a0 02000000 00000000 ffffffff ffffffff .
295 // RELR64-NEXT: 0x000304b0 00000080 00000000 06000000 00000000 .
297 .data
298 .balign 2
299 .dc.a .data
300 .dc.a .data + 1
301 .dc.a __ehdr_start + 2
302 .dc.a __ehdr_start - 1
303 .dc.a __ehdr_start + 0x80000000
304 .dc.a __ehdr_start + 6
305 .dc.a __ehdr_start + 7
306 .dc.a .data + 8
307 .dc.a bar2 + 1
309 .dc.a .data + 1
310 .dc.a __ehdr_start + 2
311 .dc.a __ehdr_start + 3
312 .dc.a __ehdr_start + 4
313 .dc.a __ehdr_start + 5
314 .dc.a __ehdr_start + 6
315 .dc.a .data + 7
316 .dc.a zed2
317 .dc.a bar2
319 .dc.a .data + 1
320 .dc.a __ehdr_start + 2
321 .dc.a __ehdr_start + 3
322 .dc.a __ehdr_start + 4
323 .dc.a __ehdr_start + 5
324 .dc.a __ehdr_start + 6
325 .dc.a __ehdr_start + 7
326 .dc.a __ehdr_start + 8
327 .dc.a .data + 9
328 .byte 00
329 .dc.a .data + 10
330 .dc.a bar2
331 .dc.a bar2
332 .dc.a bar2 + 1
333 .dc.a bar2 + 1
334 .dc.a bar2