blob: 29291dc8f88aec57513307d7c5943f8a733104ac [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 .section ".toc","aw"
9.LC0:
10
11 .quad stderr
12.LC3:
13
14 .quad kExportedString
15.LC6:
16
17 .quad exported_function
18# WAS .section ".text"
19.text
20 .align 2
21 .p2align 4,,15
22 .globl exported_function
23 .type exported_function, @function
24.Lexported_function_local_target:
25exported_function:
260:
27999:
28 addis 2, 12, .LBORINGSSL_external_toc-999b@ha
29 addi 2, 2, .LBORINGSSL_external_toc-999b@l
30 ld 12, 0(2)
31 add 2, 2, 12
32# WAS addi 2,2,.TOC.-0b@l
33 .localentry exported_function,.-exported_function
34.Lexported_function_local_entry:
35 mflr 0
36 std 19,-104(1)
37 std 20,-96(1)
38 std 21,-88(1)
39 std 22,-80(1)
40# WAS addis 21,2,.LC1@toc@ha
41# WAS addis 22,2,.LC2@toc@ha
42 std 23,-72(1)
43 std 24,-64(1)
44# WAS addis 23,2,.LC4@toc@ha
45# WAS addis 24,2,function@toc@ha
46 std 25,-56(1)
47 std 26,-48(1)
48# WAS addis 25,2,.LC5@toc@ha
49# WAS addis 26,2,.LC7@toc@ha
50 std 27,-40(1)
51 std 28,-32(1)
52# WAS addis 28,2,.LC8@toc@ha
53# WAS addi 21,21,.LC1@toc@l
54 addi 1, 1, -288
55 mflr 21
56 std 21, -8(1)
57 std 3, -16(1)
58 bl .Lbcm_loadtoc__dot_LC1
59 std 3, -24(1)
60 ld 3, -8(1)
61 mtlr 3
62 ld 21, -24(1)
63 ld 3, -16(1)
64 addi 1, 1, 288
65 std 29,-24(1)
66 std 30,-16(1)
67# WAS addis 29,2,.LANCHOR0@toc@ha
68# WAS addi 22,22,.LC2@toc@l
69 addi 1, 1, -288
70 mflr 22
71 std 22, -8(1)
72 std 3, -16(1)
73 bl .Lbcm_loadtoc__dot_LC2
74 std 3, -24(1)
75 ld 3, -8(1)
76 mtlr 3
77 ld 22, -24(1)
78 ld 3, -16(1)
79 addi 1, 1, 288
80 std 31,-8(1)
81 std 0,16(1)
82# WAS addi 29,29,.LANCHOR0@toc@l
83 addi 1, 1, -288
84 mflr 29
85 std 29, -8(1)
86 std 3, -16(1)
87 bl .Lbcm_loadtoc__dot_LANCHOR0
88 std 3, -24(1)
89 ld 3, -8(1)
90 mtlr 3
91 ld 29, -24(1)
92 ld 3, -16(1)
93 addi 1, 1, 288
94# WAS addi 23,23,.LC4@toc@l
95 addi 1, 1, -288
96 mflr 23
97 std 23, -8(1)
98 std 3, -16(1)
99 bl .Lbcm_loadtoc__dot_LC4
100 std 3, -24(1)
101 ld 3, -8(1)
102 mtlr 3
103 ld 23, -24(1)
104 ld 3, -16(1)
105 addi 1, 1, 288
106 stdu 1,-208(1)
107# WAS addis 31,2,.LC0@toc@ha # gpr load fusion, type long
108# WAS ld 31,.LC0@toc@l(31)
109 addi 1, 1, -288
110 mflr 31
111 std 31, -8(1)
112 std 3, -16(1)
113 bl .Lbcm_loadtoc__dot_LC0
114 std 3, -24(1)
115 ld 3, -8(1)
116 mtlr 3
117 ld 31, -24(1)
118 ld 3, -16(1)
119 addi 1, 1, 288
120 ld 31, 0(31)
121# WAS addis 19,2,.LC3@toc@ha # gpr load fusion, type long
122# WAS ld 19,.LC3@toc@l(19)
123 addi 1, 1, -288
124 mflr 19
125 std 19, -8(1)
126 std 3, -16(1)
127 bl .Lbcm_loadtoc__dot_LC3
128 std 3, -24(1)
129 ld 3, -8(1)
130 mtlr 3
131 ld 19, -24(1)
132 ld 3, -16(1)
133 addi 1, 1, 288
134 ld 19, 0(19)
135 addis 30,29,0x5
136# WAS addi 24,24,function@toc@l
137 addi 1, 1, -288
138 mflr 24
139 std 24, -8(1)
140 std 3, -16(1)
141 bl .Lbcm_loadtoc__dot_Lfunction_local_target
142 std 3, -24(1)
143 ld 3, -8(1)
144 mtlr 3
145 ld 24, -24(1)
146 ld 3, -16(1)
147 addi 1, 1, 288
148# WAS addis 20,2,.LC6@toc@ha # gpr load fusion, type long
149# WAS ld 20,.LC6@toc@l(20)
150 addi 1, 1, -288
151 mflr 20
152 std 20, -8(1)
153 std 3, -16(1)
154 bl .Lbcm_loadtoc__dot_LC6
155 std 3, -24(1)
156 ld 3, -8(1)
157 mtlr 3
158 ld 20, -24(1)
159 ld 3, -16(1)
160 addi 1, 1, 288
161 ld 20, 0(20)
162# WAS addi 25,25,.LC5@toc@l
163 addi 1, 1, -288
164 mflr 25
165 std 25, -8(1)
166 std 3, -16(1)
167 bl .Lbcm_loadtoc__dot_LC5
168 std 3, -24(1)
169 ld 3, -8(1)
170 mtlr 3
171 ld 25, -24(1)
172 ld 3, -16(1)
173 addi 1, 1, 288
174# WAS addi 26,26,.LC7@toc@l
175 addi 1, 1, -288
176 mflr 26
177 std 26, -8(1)
178 std 3, -16(1)
179 bl .Lbcm_loadtoc__dot_LC7
180 std 3, -24(1)
181 ld 3, -8(1)
182 mtlr 3
183 ld 26, -24(1)
184 ld 3, -16(1)
185 addi 1, 1, 288
186 addi 27,29,5
187# WAS addi 28,28,.LC8@toc@l
188 addi 1, 1, -288
189 mflr 28
190 std 28, -8(1)
191 std 3, -16(1)
192 bl .Lbcm_loadtoc__dot_LC8
193 std 3, -24(1)
194 ld 3, -8(1)
195 mtlr 3
196 ld 28, -24(1)
197 ld 3, -16(1)
198 addi 1, 1, 288
199 addi 30,30,-29404
200 .p2align 4,,15
201.L2:
202
203 ld 3,0(31)
204 mr 5,21
205 mr 6,29
206 li 4,1
207# WAS bl __fprintf_chk
208 bl bcm_redirector___fprintf_chk
209 nop
210 ld 3,0(31)
211 mr 5,22
212 mr 6,19
213 li 4,1
214# WAS bl __fprintf_chk
215 bl bcm_redirector___fprintf_chk
216 nop
217 ld 3,0(31)
218 mr 5,23
219 mr 6,24
220 li 4,1
221# WAS bl __fprintf_chk
222 bl bcm_redirector___fprintf_chk
223 nop
224 ld 3,0(31)
225 mr 5,25
226 mr 6,20
227 li 4,1
228# WAS bl __fprintf_chk
229 bl bcm_redirector___fprintf_chk
230 nop
231 ld 3,0(31)
232 mr 5,26
233 mr 6,27
234 li 4,1
235# WAS bl __fprintf_chk
236 bl bcm_redirector___fprintf_chk
237 nop
238 ld 3,0(31)
239 li 4,1
240 mr 5,28
241 mr 6,30
242# WAS bl __fprintf_chk
243 bl bcm_redirector___fprintf_chk
244 nop
245 b .L2
246 .long 0
247 .byte 0,0,0,1,128,13,0,0
248 .size exported_function,.-exported_function
249 .section ".toc","aw"
250 .set .LC11,.LC0
251 .set .LC12,.LC3
252 .set .LC13,.LC6
253# WAS .section ".text"
254.text
255 .align 2
256 .p2align 4,,15
257 .type function, @function
258.Lfunction_local_target:
259function:
2600:
261999:
262 addis 2, 12, .LBORINGSSL_external_toc-999b@ha
263 addi 2, 2, .LBORINGSSL_external_toc-999b@l
264 ld 12, 0(2)
265 add 2, 2, 12
266# WAS addi 2,2,.TOC.-0b@l
267 .localentry function,.-function
268.Lfunction_local_entry:
269 mflr 0
270 std 31,-8(1)
271# WAS addis 31,2,.LC11@toc@ha # gpr load fusion, type long
272# WAS ld 31,.LC11@toc@l(31)
273 addi 1, 1, -288
274 mflr 31
275 std 31, -8(1)
276 std 3, -16(1)
277 bl .Lbcm_loadtoc__dot_LC11
278 std 3, -24(1)
279 ld 3, -8(1)
280 mtlr 3
281 ld 31, -24(1)
282 ld 3, -16(1)
283 addi 1, 1, 288
284 ld 31, 0(31)
285# WAS addis 5,2,.LC1@toc@ha
286 std 30,-16(1)
287# WAS addis 30,2,.LANCHOR0@toc@ha
288# WAS addi 5,5,.LC1@toc@l
289 addi 1, 1, -288
290 mflr 5
291 std 5, -8(1)
292 std 3, -16(1)
293 bl .Lbcm_loadtoc__dot_LC1
294 std 3, -24(1)
295 ld 3, -8(1)
296 mtlr 3
297 ld 5, -24(1)
298 ld 3, -16(1)
299 addi 1, 1, 288
300# WAS addi 30,30,.LANCHOR0@toc@l
301 addi 1, 1, -288
302 mflr 30
303 std 30, -8(1)
304 std 3, -16(1)
305 bl .Lbcm_loadtoc__dot_LANCHOR0
306 std 3, -24(1)
307 ld 3, -8(1)
308 mtlr 3
309 ld 30, -24(1)
310 ld 3, -16(1)
311 addi 1, 1, 288
312 li 4,1
313 mr 6,30
314 std 0,16(1)
315 stdu 1,-112(1)
316 ld 3,0(31)
317# WAS bl __fprintf_chk
318 bl bcm_redirector___fprintf_chk
319 nop
320# WAS addis 6,2,.LC12@toc@ha # gpr load fusion, type long
321# WAS ld 6,.LC12@toc@l(6)
322 addi 1, 1, -288
323 mflr 6
324 std 6, -8(1)
325 std 3, -16(1)
326 bl .Lbcm_loadtoc__dot_LC12
327 std 3, -24(1)
328 ld 3, -8(1)
329 mtlr 3
330 ld 6, -24(1)
331 ld 3, -16(1)
332 addi 1, 1, 288
333 ld 6, 0(6)
334 ld 3,0(31)
335# WAS addis 5,2,.LC2@toc@ha
336 li 4,1
337# WAS addi 5,5,.LC2@toc@l
338 addi 1, 1, -288
339 mflr 5
340 std 5, -8(1)
341 std 3, -16(1)
342 bl .Lbcm_loadtoc__dot_LC2
343 std 3, -24(1)
344 ld 3, -8(1)
345 mtlr 3
346 ld 5, -24(1)
347 ld 3, -16(1)
348 addi 1, 1, 288
349# WAS bl __fprintf_chk
350 bl bcm_redirector___fprintf_chk
351 nop
352 ld 3,0(31)
353# WAS addis 5,2,.LC4@toc@ha
354# WAS addis 6,2,function@toc@ha
355# WAS addi 5,5,.LC4@toc@l
356 addi 1, 1, -288
357 mflr 5
358 std 5, -8(1)
359 std 3, -16(1)
360 bl .Lbcm_loadtoc__dot_LC4
361 std 3, -24(1)
362 ld 3, -8(1)
363 mtlr 3
364 ld 5, -24(1)
365 ld 3, -16(1)
366 addi 1, 1, 288
367# WAS addi 6,6,function@toc@l
368 addi 1, 1, -288
369 mflr 6
370 std 6, -8(1)
371 std 3, -16(1)
372 bl .Lbcm_loadtoc__dot_Lfunction_local_target
373 std 3, -24(1)
374 ld 3, -8(1)
375 mtlr 3
376 ld 6, -24(1)
377 ld 3, -16(1)
378 addi 1, 1, 288
379 li 4,1
380# WAS bl __fprintf_chk
381 bl bcm_redirector___fprintf_chk
382 nop
383# WAS addis 6,2,.LC13@toc@ha # gpr load fusion, type long
384# WAS ld 6,.LC13@toc@l(6)
385 addi 1, 1, -288
386 mflr 6
387 std 6, -8(1)
388 std 3, -16(1)
389 bl .Lbcm_loadtoc__dot_LC13
390 std 3, -24(1)
391 ld 3, -8(1)
392 mtlr 3
393 ld 6, -24(1)
394 ld 3, -16(1)
395 addi 1, 1, 288
396 ld 6, 0(6)
397 ld 3,0(31)
398# WAS addis 5,2,.LC5@toc@ha
399 li 4,1
400# WAS addi 5,5,.LC5@toc@l
401 addi 1, 1, -288
402 mflr 5
403 std 5, -8(1)
404 std 3, -16(1)
405 bl .Lbcm_loadtoc__dot_LC5
406 std 3, -24(1)
407 ld 3, -8(1)
408 mtlr 3
409 ld 5, -24(1)
410 ld 3, -16(1)
411 addi 1, 1, 288
412# WAS bl __fprintf_chk
413 bl bcm_redirector___fprintf_chk
414 nop
415 ld 3,0(31)
416# WAS addis 5,2,.LC7@toc@ha
417 addi 6,30,5
418# WAS addi 5,5,.LC7@toc@l
419 addi 1, 1, -288
420 mflr 5
421 std 5, -8(1)
422 std 3, -16(1)
423 bl .Lbcm_loadtoc__dot_LC7
424 std 3, -24(1)
425 ld 3, -8(1)
426 mtlr 3
427 ld 5, -24(1)
428 ld 3, -16(1)
429 addi 1, 1, 288
430 li 4,1
431# WAS bl __fprintf_chk
432 bl bcm_redirector___fprintf_chk
433 nop
434 ld 3,0(31)
435 addis 6,30,0x5
436# WAS addis 5,2,.LC8@toc@ha
437 li 4,1
438# WAS addi 5,5,.LC8@toc@l
439 addi 1, 1, -288
440 mflr 5
441 std 5, -8(1)
442 std 3, -16(1)
443 bl .Lbcm_loadtoc__dot_LC8
444 std 3, -24(1)
445 ld 3, -8(1)
446 mtlr 3
447 ld 5, -24(1)
448 ld 3, -16(1)
449 addi 1, 1, 288
450 addi 6,6,-29404
451# WAS bl __fprintf_chk
452 bl bcm_redirector___fprintf_chk
453 nop
454# WAS bl exported_function
455 bl .Lexported_function_local_entry
456 nop
457 addi 1,1,112
458 ld 0,16(1)
459 ld 30,-16(1)
460 ld 31,-8(1)
461 mtlr 0
462 blr
463 .long 0
464 .byte 0,0,0,1,128,2,0,0
465 .size function,.-function
466 .globl kExportedString
467# WAS .section .rodata
468.text
469 .align 4
470 .set .LANCHOR0,. + 0
471 .type kString, @object
472 .size kString, 12
473.LkString_local_target:
474kString:
475 .string "hello world"
476 .zero 4
477 .type kGiantArray, @object
478 .size kGiantArray, 400000
479.LkGiantArray_local_target:
480kGiantArray:
481 .long 1
482 .long 0
483 .zero 399992
484 .type kExportedString, @object
485 .size kExportedString, 26
486.LkExportedString_local_target:
487kExportedString:
488 .string "hello world, more visibly"
489# WAS .section .rodata.str1.8,"aMS",@progbits,1
490.text
491 .align 3
492.LC1:
493
494 .string "kString is %p\n"
495 .zero 1
496.LC2:
497
498 .string "kExportedString is %p\n"
499 .zero 1
500.LC4:
501
502 .string "function is %p\n"
503.LC5:
504
505 .string "exported_function is %p\n"
506 .zero 7
507.LC7:
508
509 .string "&kString[5] is %p\n"
510 .zero 5
511.LC8:
512
513 .string "&kGiantArray[0x12345] is %p\n"
514 .section ".bss"
515 .align 2
516 .type bss, @object
517 .size bss, 20
518bss:
519.Lbss_local_target:
520
521 .zero 20
522 .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2"
523 .section .note.GNU-stack,"",@progbits
524.text
525BORINGSSL_bcm_text_end:
526.type bcm_redirector___fprintf_chk, @function
527bcm_redirector___fprintf_chk:
528 mflr 0
529 std 0,16(1)
530 stdu 1,-32(1)
531 bl __fprintf_chk
532 nop
533 addi 1,1,32
534 ld 0,16(1)
535 mtlr 0
536 blr
537.type bss_bss_get, @function
538bss_bss_get:
539 addis 3, 2, .Lbss_local_target@toc@ha
540 addi 3, 3, .Lbss_local_target@toc@l
541 blr
542.type bcm_loadtoc__dot_LANCHOR0, @function
543bcm_loadtoc__dot_LANCHOR0:
544.Lbcm_loadtoc__dot_LANCHOR0:
545 addis 3, 2, .LANCHOR0@toc@ha
546 addi 3, 3, .LANCHOR0@toc@l
547 blr
548.type bcm_loadtoc__dot_LC0, @function
549bcm_loadtoc__dot_LC0:
550.Lbcm_loadtoc__dot_LC0:
551 addis 3, 2, .LC0@toc@ha
552 addi 3, 3, .LC0@toc@l
553 blr
554.type bcm_loadtoc__dot_LC1, @function
555bcm_loadtoc__dot_LC1:
556.Lbcm_loadtoc__dot_LC1:
557 addis 3, 2, .LC1@toc@ha
558 addi 3, 3, .LC1@toc@l
559 blr
560.type bcm_loadtoc__dot_LC11, @function
561bcm_loadtoc__dot_LC11:
562.Lbcm_loadtoc__dot_LC11:
563 addis 3, 2, .LC11@toc@ha
564 addi 3, 3, .LC11@toc@l
565 blr
566.type bcm_loadtoc__dot_LC12, @function
567bcm_loadtoc__dot_LC12:
568.Lbcm_loadtoc__dot_LC12:
569 addis 3, 2, .LC12@toc@ha
570 addi 3, 3, .LC12@toc@l
571 blr
572.type bcm_loadtoc__dot_LC13, @function
573bcm_loadtoc__dot_LC13:
574.Lbcm_loadtoc__dot_LC13:
575 addis 3, 2, .LC13@toc@ha
576 addi 3, 3, .LC13@toc@l
577 blr
578.type bcm_loadtoc__dot_LC2, @function
579bcm_loadtoc__dot_LC2:
580.Lbcm_loadtoc__dot_LC2:
581 addis 3, 2, .LC2@toc@ha
582 addi 3, 3, .LC2@toc@l
583 blr
584.type bcm_loadtoc__dot_LC3, @function
585bcm_loadtoc__dot_LC3:
586.Lbcm_loadtoc__dot_LC3:
587 addis 3, 2, .LC3@toc@ha
588 addi 3, 3, .LC3@toc@l
589 blr
590.type bcm_loadtoc__dot_LC4, @function
591bcm_loadtoc__dot_LC4:
592.Lbcm_loadtoc__dot_LC4:
593 addis 3, 2, .LC4@toc@ha
594 addi 3, 3, .LC4@toc@l
595 blr
596.type bcm_loadtoc__dot_LC5, @function
597bcm_loadtoc__dot_LC5:
598.Lbcm_loadtoc__dot_LC5:
599 addis 3, 2, .LC5@toc@ha
600 addi 3, 3, .LC5@toc@l
601 blr
602.type bcm_loadtoc__dot_LC6, @function
603bcm_loadtoc__dot_LC6:
604.Lbcm_loadtoc__dot_LC6:
605 addis 3, 2, .LC6@toc@ha
606 addi 3, 3, .LC6@toc@l
607 blr
608.type bcm_loadtoc__dot_LC7, @function
609bcm_loadtoc__dot_LC7:
610.Lbcm_loadtoc__dot_LC7:
611 addis 3, 2, .LC7@toc@ha
612 addi 3, 3, .LC7@toc@l
613 blr
614.type bcm_loadtoc__dot_LC8, @function
615bcm_loadtoc__dot_LC8:
616.Lbcm_loadtoc__dot_LC8:
617 addis 3, 2, .LC8@toc@ha
618 addi 3, 3, .LC8@toc@l
619 blr
620.type bcm_loadtoc__dot_Lfunction_local_target, @function
621bcm_loadtoc__dot_Lfunction_local_target:
622.Lbcm_loadtoc__dot_Lfunction_local_target:
623 addis 3, 2, .Lfunction_local_target@toc@ha
624 addi 3, 3, .Lfunction_local_target@toc@l
625 blr
626.LBORINGSSL_external_toc:
627.quad .TOC.-.LBORINGSSL_external_toc
628.type BORINGSSL_bcm_text_hash, @object
629.size BORINGSSL_bcm_text_hash, 64
630BORINGSSL_bcm_text_hash:
631.byte 0xae
632.byte 0x2c
633.byte 0xea
634.byte 0x2a
635.byte 0xbd
636.byte 0xa6
637.byte 0xf3
638.byte 0xec
639.byte 0x97
640.byte 0x7f
641.byte 0x9b
642.byte 0xf6
643.byte 0x94
644.byte 0x9a
645.byte 0xfc
646.byte 0x83
647.byte 0x68
648.byte 0x27
649.byte 0xcb
650.byte 0xa0
651.byte 0xa0
652.byte 0x9f
653.byte 0x6b
654.byte 0x6f
655.byte 0xde
656.byte 0x52
657.byte 0xcd
658.byte 0xe2
659.byte 0xcd
660.byte 0xff
661.byte 0x31
662.byte 0x80
663.byte 0xa2
664.byte 0xd4
665.byte 0xc3
666.byte 0x66
667.byte 0xf
668.byte 0xc2
669.byte 0x6a
670.byte 0x7b
671.byte 0xf4
672.byte 0xbe
673.byte 0x39
674.byte 0xa2
675.byte 0xd7
676.byte 0x25
677.byte 0xdb
678.byte 0x21
679.byte 0x98
680.byte 0xe9
681.byte 0xd5
682.byte 0x53
683.byte 0xbf
684.byte 0x5c
685.byte 0x32
686.byte 0x6
687.byte 0x83
688.byte 0x34
689.byte 0xc
690.byte 0x65
691.byte 0x89
692.byte 0x52
693.byte 0xbd
694.byte 0x1f