blob: 929d80fd8133b7e0eb6105058c51562ea8fa4c0a [file] [log] [blame]
Robert Sloan8ff03552017-06-14 12:40:58 -07001.text
2BORINGSSL_bcm_text_start:
3 .file "foo.c"
4 .abiversion 2
5 .section ".toc","aw"
6# WAS .section ".text"
7.text
8# WAS .section .rodata
9.text
10 .align 3
11 .type kString, @object
12 .size kString, 12
13.LkString_local_target:
14kString:
15 .string "hello world"
16 .globl kExportedString
17 .align 3
18 .type kExportedString, @object
19 .size kExportedString, 26
20.LkExportedString_local_target:
21kExportedString:
22 .string "hello world, more visibly"
23 .align 2
24 .type kGiantArray, @object
25 .size kGiantArray, 400000
26.LkGiantArray_local_target:
27kGiantArray:
28 .long 1
29 .long 0
30 .zero 399992
31 .lcomm bss,20,4
32 .type bss, @object
33 .align 3
34.LC1:
35
36 .string "kString is %p\n"
37 .align 3
38.LC2:
39
40 .string "kExportedString is %p\n"
41 .align 3
42.LC4:
43
44 .string "function is %p\n"
45 .align 3
46.LC5:
47
48 .string "exported_function is %p\n"
49 .align 3
50.LC7:
51
52 .string "&kString[5] is %p\n"
53 .align 3
54.LC9:
55
56 .string "&kGiantArray[0x12345] is %p\n"
57 .section ".toc","aw"
58.LC0:
59
60 .quad stderr
61.LC3:
62
63 .quad kExportedString
64.LC6:
65
66 .quad exported_function
67.LC8:
68
69 .quad kString+5
70.LC10:
71
72 .quad kGiantArray+298260
73# WAS .section ".text"
74.text
75 .align 2
76 .type function, @function
77.Lfunction_local_target:
78function:
790:
80999:
81 addis 2, 12, .LBORINGSSL_external_toc-999b@ha
82 addi 2, 2, .LBORINGSSL_external_toc-999b@l
83 ld 12, 0(2)
84 add 2, 2, 12
85# WAS addi 2,2,.TOC.-0b@l
86 .localentry function,.-function
87.Lfunction_local_entry:
88 mflr 0
89 std 0,16(1)
90 std 31,-8(1)
91 stdu 1,-112(1)
92 mr 31,1
93# WAS addis 10,2,.LC0@toc@ha
94# WAS ld 9,.LC0@toc@l(10)
95 addi 1, 1, -288
96 mflr 9
97 std 9, -8(1)
98 std 3, -16(1)
99 bl .Lbcm_loadtoc__dot_LC0
100 std 3, -24(1)
101 ld 3, -8(1)
102 mtlr 3
103 ld 9, -24(1)
104 ld 3, -16(1)
105 addi 1, 1, 288
106 ld 9, 0(9)
107 ld 9,0(9)
108 mr 3,9
109# WAS addis 4,2,.LC1@toc@ha
110# WAS addi 4,4,.LC1@toc@l
111 addi 1, 1, -288
112 mflr 4
113 std 4, -8(1)
114 std 3, -16(1)
115 bl .Lbcm_loadtoc__dot_LC1
116 std 3, -24(1)
117 ld 3, -8(1)
118 mtlr 3
119 ld 4, -24(1)
120 ld 3, -16(1)
121 addi 1, 1, 288
122# WAS addis 5,2,kString@toc@ha
123# WAS addi 5,5,kString@toc@l
124 addi 1, 1, -288
125 mflr 5
126 std 5, -8(1)
127 std 3, -16(1)
128 bl .Lbcm_loadtoc__dot_LkString_local_target
129 std 3, -24(1)
130 ld 3, -8(1)
131 mtlr 3
132 ld 5, -24(1)
133 ld 3, -16(1)
134 addi 1, 1, 288
135# WAS bl fprintf
136 bl bcm_redirector_fprintf
137 nop
138# WAS addis 10,2,.LC0@toc@ha
139# WAS ld 9,.LC0@toc@l(10)
140 addi 1, 1, -288
141 mflr 9
142 std 9, -8(1)
143 std 3, -16(1)
144 bl .Lbcm_loadtoc__dot_LC0
145 std 3, -24(1)
146 ld 3, -8(1)
147 mtlr 3
148 ld 9, -24(1)
149 ld 3, -16(1)
150 addi 1, 1, 288
151 ld 9, 0(9)
152 ld 9,0(9)
153 mr 3,9
154# WAS addis 4,2,.LC2@toc@ha
155# WAS addi 4,4,.LC2@toc@l
156 addi 1, 1, -288
157 mflr 4
158 std 4, -8(1)
159 std 3, -16(1)
160 bl .Lbcm_loadtoc__dot_LC2
161 std 3, -24(1)
162 ld 3, -8(1)
163 mtlr 3
164 ld 4, -24(1)
165 ld 3, -16(1)
166 addi 1, 1, 288
167# WAS addis 9,2,.LC3@toc@ha
168# WAS ld 5,.LC3@toc@l(9)
169 addi 1, 1, -288
170 mflr 5
171 std 5, -8(1)
172 std 3, -16(1)
173 bl .Lbcm_loadtoc__dot_LC3
174 std 3, -24(1)
175 ld 3, -8(1)
176 mtlr 3
177 ld 5, -24(1)
178 ld 3, -16(1)
179 addi 1, 1, 288
180 ld 5, 0(5)
181# WAS bl fprintf
182 bl bcm_redirector_fprintf
183 nop
184# WAS addis 10,2,.LC0@toc@ha
185# WAS ld 9,.LC0@toc@l(10)
186 addi 1, 1, -288
187 mflr 9
188 std 9, -8(1)
189 std 3, -16(1)
190 bl .Lbcm_loadtoc__dot_LC0
191 std 3, -24(1)
192 ld 3, -8(1)
193 mtlr 3
194 ld 9, -24(1)
195 ld 3, -16(1)
196 addi 1, 1, 288
197 ld 9, 0(9)
198 ld 9,0(9)
199 mr 3,9
200# WAS addis 4,2,.LC4@toc@ha
201# WAS addi 4,4,.LC4@toc@l
202 addi 1, 1, -288
203 mflr 4
204 std 4, -8(1)
205 std 3, -16(1)
206 bl .Lbcm_loadtoc__dot_LC4
207 std 3, -24(1)
208 ld 3, -8(1)
209 mtlr 3
210 ld 4, -24(1)
211 ld 3, -16(1)
212 addi 1, 1, 288
213# WAS addis 5,2,function@toc@ha
214# WAS addi 5,5,function@toc@l
215 addi 1, 1, -288
216 mflr 5
217 std 5, -8(1)
218 std 3, -16(1)
219 bl .Lbcm_loadtoc__dot_Lfunction_local_target
220 std 3, -24(1)
221 ld 3, -8(1)
222 mtlr 3
223 ld 5, -24(1)
224 ld 3, -16(1)
225 addi 1, 1, 288
226# WAS bl fprintf
227 bl bcm_redirector_fprintf
228 nop
229# WAS addis 10,2,.LC0@toc@ha
230# WAS ld 9,.LC0@toc@l(10)
231 addi 1, 1, -288
232 mflr 9
233 std 9, -8(1)
234 std 3, -16(1)
235 bl .Lbcm_loadtoc__dot_LC0
236 std 3, -24(1)
237 ld 3, -8(1)
238 mtlr 3
239 ld 9, -24(1)
240 ld 3, -16(1)
241 addi 1, 1, 288
242 ld 9, 0(9)
243 ld 9,0(9)
244 mr 3,9
245# WAS addis 4,2,.LC5@toc@ha
246# WAS addi 4,4,.LC5@toc@l
247 addi 1, 1, -288
248 mflr 4
249 std 4, -8(1)
250 std 3, -16(1)
251 bl .Lbcm_loadtoc__dot_LC5
252 std 3, -24(1)
253 ld 3, -8(1)
254 mtlr 3
255 ld 4, -24(1)
256 ld 3, -16(1)
257 addi 1, 1, 288
258# WAS addis 9,2,.LC6@toc@ha
259# WAS ld 5,.LC6@toc@l(9)
260 addi 1, 1, -288
261 mflr 5
262 std 5, -8(1)
263 std 3, -16(1)
264 bl .Lbcm_loadtoc__dot_LC6
265 std 3, -24(1)
266 ld 3, -8(1)
267 mtlr 3
268 ld 5, -24(1)
269 ld 3, -16(1)
270 addi 1, 1, 288
271 ld 5, 0(5)
272# WAS bl fprintf
273 bl bcm_redirector_fprintf
274 nop
275# WAS addis 10,2,.LC0@toc@ha
276# WAS ld 9,.LC0@toc@l(10)
277 addi 1, 1, -288
278 mflr 9
279 std 9, -8(1)
280 std 3, -16(1)
281 bl .Lbcm_loadtoc__dot_LC0
282 std 3, -24(1)
283 ld 3, -8(1)
284 mtlr 3
285 ld 9, -24(1)
286 ld 3, -16(1)
287 addi 1, 1, 288
288 ld 9, 0(9)
289 ld 9,0(9)
290 mr 3,9
291# WAS addis 4,2,.LC7@toc@ha
292# WAS addi 4,4,.LC7@toc@l
293 addi 1, 1, -288
294 mflr 4
295 std 4, -8(1)
296 std 3, -16(1)
297 bl .Lbcm_loadtoc__dot_LC7
298 std 3, -24(1)
299 ld 3, -8(1)
300 mtlr 3
301 ld 4, -24(1)
302 ld 3, -16(1)
303 addi 1, 1, 288
304# WAS addis 9,2,.LC8@toc@ha
305# WAS ld 5,.LC8@toc@l(9)
306 addi 1, 1, -288
307 mflr 5
308 std 5, -8(1)
309 std 3, -16(1)
310 bl .Lbcm_loadtoc__dot_LC8
311 std 3, -24(1)
312 ld 3, -8(1)
313 mtlr 3
314 ld 5, -24(1)
315 ld 3, -16(1)
316 addi 1, 1, 288
317 ld 5, 0(5)
318# WAS bl fprintf
319 bl bcm_redirector_fprintf
320 nop
321# WAS addis 10,2,.LC0@toc@ha
322# WAS ld 9,.LC0@toc@l(10)
323 addi 1, 1, -288
324 mflr 9
325 std 9, -8(1)
326 std 3, -16(1)
327 bl .Lbcm_loadtoc__dot_LC0
328 std 3, -24(1)
329 ld 3, -8(1)
330 mtlr 3
331 ld 9, -24(1)
332 ld 3, -16(1)
333 addi 1, 1, 288
334 ld 9, 0(9)
335 ld 9,0(9)
336 mr 3,9
337# WAS addis 4,2,.LC9@toc@ha
338# WAS addi 4,4,.LC9@toc@l
339 addi 1, 1, -288
340 mflr 4
341 std 4, -8(1)
342 std 3, -16(1)
343 bl .Lbcm_loadtoc__dot_LC9
344 std 3, -24(1)
345 ld 3, -8(1)
346 mtlr 3
347 ld 4, -24(1)
348 ld 3, -16(1)
349 addi 1, 1, 288
350# WAS addis 9,2,.LC10@toc@ha
351# WAS ld 5,.LC10@toc@l(9)
352 addi 1, 1, -288
353 mflr 5
354 std 5, -8(1)
355 std 3, -16(1)
356 bl .Lbcm_loadtoc__dot_LC10
357 std 3, -24(1)
358 ld 3, -8(1)
359 mtlr 3
360 ld 5, -24(1)
361 ld 3, -16(1)
362 addi 1, 1, 288
363 ld 5, 0(5)
364# WAS bl fprintf
365 bl bcm_redirector_fprintf
366 nop
367# WAS bl exported_function
368 bl .Lexported_function_local_entry
369 nop
370 mr 3,9
371 addi 1,31,112
372 ld 0,16(1)
373 mtlr 0
374 ld 31,-8(1)
375 blr
376 .long 0
377 .byte 0,0,0,1,128,1,0,1
378 .size function,.-function
379 .align 2
380 .globl exported_function
381 .type exported_function, @function
382.Lexported_function_local_target:
383exported_function:
3840:
385999:
386 addis 2, 12, .LBORINGSSL_external_toc-999b@ha
387 addi 2, 2, .LBORINGSSL_external_toc-999b@l
388 ld 12, 0(2)
389 add 2, 2, 12
390# WAS addi 2,2,.TOC.-0b@l
391 .localentry exported_function,.-exported_function
392.Lexported_function_local_entry:
393 mflr 0
394 std 0,16(1)
395 std 31,-8(1)
396 stdu 1,-48(1)
397 mr 31,1
398# WAS bl function
399 bl .Lfunction_local_entry
400 mr 3,9
401 addi 1,31,48
402 ld 0,16(1)
403 mtlr 0
404 ld 31,-8(1)
405 blr
406 .long 0
407 .byte 0,0,0,1,128,1,0,1
408 .size exported_function,.-exported_function
409 .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2"
410 .section .note.GNU-stack,"",@progbits
411.text
412BORINGSSL_bcm_text_end:
413.type bcm_redirector_fprintf, @function
414bcm_redirector_fprintf:
415 mflr 0
416 std 0,16(1)
417 stdu 1,-32(1)
418 bl fprintf
419 nop
420 addi 1,1,32
421 ld 0,16(1)
422 mtlr 0
423 blr
424.type bss_bss_get, @function
425bss_bss_get:
426 addis 3, 2, bss@toc@ha
427 addi 3, 3, bss@toc@l
428 blr
429.type bcm_loadtoc__dot_LC0, @function
430bcm_loadtoc__dot_LC0:
431.Lbcm_loadtoc__dot_LC0:
432 addis 3, 2, .LC0@toc@ha
433 addi 3, 3, .LC0@toc@l
434 blr
435.type bcm_loadtoc__dot_LC1, @function
436bcm_loadtoc__dot_LC1:
437.Lbcm_loadtoc__dot_LC1:
438 addis 3, 2, .LC1@toc@ha
439 addi 3, 3, .LC1@toc@l
440 blr
441.type bcm_loadtoc__dot_LC10, @function
442bcm_loadtoc__dot_LC10:
443.Lbcm_loadtoc__dot_LC10:
444 addis 3, 2, .LC10@toc@ha
445 addi 3, 3, .LC10@toc@l
446 blr
447.type bcm_loadtoc__dot_LC2, @function
448bcm_loadtoc__dot_LC2:
449.Lbcm_loadtoc__dot_LC2:
450 addis 3, 2, .LC2@toc@ha
451 addi 3, 3, .LC2@toc@l
452 blr
453.type bcm_loadtoc__dot_LC3, @function
454bcm_loadtoc__dot_LC3:
455.Lbcm_loadtoc__dot_LC3:
456 addis 3, 2, .LC3@toc@ha
457 addi 3, 3, .LC3@toc@l
458 blr
459.type bcm_loadtoc__dot_LC4, @function
460bcm_loadtoc__dot_LC4:
461.Lbcm_loadtoc__dot_LC4:
462 addis 3, 2, .LC4@toc@ha
463 addi 3, 3, .LC4@toc@l
464 blr
465.type bcm_loadtoc__dot_LC5, @function
466bcm_loadtoc__dot_LC5:
467.Lbcm_loadtoc__dot_LC5:
468 addis 3, 2, .LC5@toc@ha
469 addi 3, 3, .LC5@toc@l
470 blr
471.type bcm_loadtoc__dot_LC6, @function
472bcm_loadtoc__dot_LC6:
473.Lbcm_loadtoc__dot_LC6:
474 addis 3, 2, .LC6@toc@ha
475 addi 3, 3, .LC6@toc@l
476 blr
477.type bcm_loadtoc__dot_LC7, @function
478bcm_loadtoc__dot_LC7:
479.Lbcm_loadtoc__dot_LC7:
480 addis 3, 2, .LC7@toc@ha
481 addi 3, 3, .LC7@toc@l
482 blr
483.type bcm_loadtoc__dot_LC8, @function
484bcm_loadtoc__dot_LC8:
485.Lbcm_loadtoc__dot_LC8:
486 addis 3, 2, .LC8@toc@ha
487 addi 3, 3, .LC8@toc@l
488 blr
489.type bcm_loadtoc__dot_LC9, @function
490bcm_loadtoc__dot_LC9:
491.Lbcm_loadtoc__dot_LC9:
492 addis 3, 2, .LC9@toc@ha
493 addi 3, 3, .LC9@toc@l
494 blr
495.type bcm_loadtoc__dot_Lfunction_local_target, @function
496bcm_loadtoc__dot_Lfunction_local_target:
497.Lbcm_loadtoc__dot_Lfunction_local_target:
498 addis 3, 2, .Lfunction_local_target@toc@ha
499 addi 3, 3, .Lfunction_local_target@toc@l
500 blr
501.type bcm_loadtoc__dot_LkString_local_target, @function
502bcm_loadtoc__dot_LkString_local_target:
503.Lbcm_loadtoc__dot_LkString_local_target:
504 addis 3, 2, .LkString_local_target@toc@ha
505 addi 3, 3, .LkString_local_target@toc@l
506 blr
507.LBORINGSSL_external_toc:
508.quad .TOC.-.LBORINGSSL_external_toc
509.type BORINGSSL_bcm_text_hash, @object
510.size BORINGSSL_bcm_text_hash, 64
511BORINGSSL_bcm_text_hash:
512.byte 0xae
513.byte 0x2c
514.byte 0xea
515.byte 0x2a
516.byte 0xbd
517.byte 0xa6
518.byte 0xf3
519.byte 0xec
520.byte 0x97
521.byte 0x7f
522.byte 0x9b
523.byte 0xf6
524.byte 0x94
525.byte 0x9a
526.byte 0xfc
527.byte 0x83
528.byte 0x68
529.byte 0x27
530.byte 0xcb
531.byte 0xa0
532.byte 0xa0
533.byte 0x9f
534.byte 0x6b
535.byte 0x6f
536.byte 0xde
537.byte 0x52
538.byte 0xcd
539.byte 0xe2
540.byte 0xcd
541.byte 0xff
542.byte 0x31
543.byte 0x80
544.byte 0xa2
545.byte 0xd4
546.byte 0xc3
547.byte 0x66
548.byte 0xf
549.byte 0xc2
550.byte 0x6a
551.byte 0x7b
552.byte 0xf4
553.byte 0xbe
554.byte 0x39
555.byte 0xa2
556.byte 0xd7
557.byte 0x25
558.byte 0xdb
559.byte 0x21
560.byte 0x98
561.byte 0xe9
562.byte 0xd5
563.byte 0x53
564.byte 0xbf
565.byte 0x5c
566.byte 0x32
567.byte 0x6
568.byte 0x83
569.byte 0x34
570.byte 0xc
571.byte 0x65
572.byte 0x89
573.byte 0x52
574.byte 0xbd
575.byte 0x1f