| .text |
| BORINGSSL_bcm_text_start: |
| .file "foo.c" |
| .abiversion 2 |
| .section ".toc","aw" |
| # WAS .section ".text" |
| .text |
| .section ".toc","aw" |
| .LC0: |
| |
| .quad stderr |
| .LC3: |
| |
| .quad kExportedString |
| .LC6: |
| |
| .quad exported_function |
| # WAS .section ".text" |
| .text |
| .align 2 |
| .p2align 4,,15 |
| .globl exported_function |
| .type exported_function, @function |
| .Lexported_function_local_target: |
| exported_function: |
| 0: |
| 999: |
| addis 2, 12, .LBORINGSSL_external_toc-999b@ha |
| addi 2, 2, .LBORINGSSL_external_toc-999b@l |
| ld 12, 0(2) |
| add 2, 2, 12 |
| # WAS addi 2,2,.TOC.-0b@l |
| .localentry exported_function,.-exported_function |
| .Lexported_function_local_entry: |
| mflr 0 |
| std 19,-104(1) |
| std 20,-96(1) |
| std 21,-88(1) |
| std 22,-80(1) |
| # WAS addis 21,2,.LC1@toc@ha |
| # WAS addis 22,2,.LC2@toc@ha |
| std 23,-72(1) |
| std 24,-64(1) |
| # WAS addis 23,2,.LC4@toc@ha |
| # WAS addis 24,2,function@toc@ha |
| std 25,-56(1) |
| std 26,-48(1) |
| # WAS addis 25,2,.LC5@toc@ha |
| # WAS addis 26,2,.LC7@toc@ha |
| std 27,-40(1) |
| std 28,-32(1) |
| # WAS addis 28,2,.LC8@toc@ha |
| # WAS addi 21,21,.LC1@toc@l |
| addi 1, 1, -288 |
| mflr 21 |
| std 21, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LC1 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 21, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| std 29,-24(1) |
| std 30,-16(1) |
| # WAS addis 29,2,.LANCHOR0@toc@ha |
| # WAS addi 22,22,.LC2@toc@l |
| addi 1, 1, -288 |
| mflr 22 |
| std 22, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LC2 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 22, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| std 31,-8(1) |
| std 0,16(1) |
| # WAS addi 29,29,.LANCHOR0@toc@l |
| addi 1, 1, -288 |
| mflr 29 |
| std 29, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LANCHOR0 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 29, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| # WAS addi 23,23,.LC4@toc@l |
| addi 1, 1, -288 |
| mflr 23 |
| std 23, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LC4 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 23, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| stdu 1,-208(1) |
| # WAS addis 31,2,.LC0@toc@ha # gpr load fusion, type long |
| # WAS ld 31,.LC0@toc@l(31) |
| addi 1, 1, -288 |
| mflr 31 |
| std 31, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LC0 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 31, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| ld 31, 0(31) |
| # WAS addis 19,2,.LC3@toc@ha # gpr load fusion, type long |
| # WAS ld 19,.LC3@toc@l(19) |
| addi 1, 1, -288 |
| mflr 19 |
| std 19, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LC3 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 19, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| ld 19, 0(19) |
| addis 30,29,0x5 |
| # WAS addi 24,24,function@toc@l |
| addi 1, 1, -288 |
| mflr 24 |
| std 24, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_Lfunction_local_target |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 24, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| # WAS addis 20,2,.LC6@toc@ha # gpr load fusion, type long |
| # WAS ld 20,.LC6@toc@l(20) |
| addi 1, 1, -288 |
| mflr 20 |
| std 20, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LC6 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 20, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| ld 20, 0(20) |
| # WAS addi 25,25,.LC5@toc@l |
| addi 1, 1, -288 |
| mflr 25 |
| std 25, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LC5 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 25, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| # WAS addi 26,26,.LC7@toc@l |
| addi 1, 1, -288 |
| mflr 26 |
| std 26, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LC7 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 26, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| addi 27,29,5 |
| # WAS addi 28,28,.LC8@toc@l |
| addi 1, 1, -288 |
| mflr 28 |
| std 28, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LC8 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 28, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| addi 30,30,-29404 |
| .p2align 4,,15 |
| .L2: |
| |
| ld 3,0(31) |
| mr 5,21 |
| mr 6,29 |
| li 4,1 |
| # WAS bl __fprintf_chk |
| bl bcm_redirector___fprintf_chk |
| ld 2, 24(1) |
| nop |
| ld 3,0(31) |
| mr 5,22 |
| mr 6,19 |
| li 4,1 |
| # WAS bl __fprintf_chk |
| bl bcm_redirector___fprintf_chk |
| ld 2, 24(1) |
| nop |
| ld 3,0(31) |
| mr 5,23 |
| mr 6,24 |
| li 4,1 |
| # WAS bl __fprintf_chk |
| bl bcm_redirector___fprintf_chk |
| ld 2, 24(1) |
| nop |
| ld 3,0(31) |
| mr 5,25 |
| mr 6,20 |
| li 4,1 |
| # WAS bl __fprintf_chk |
| bl bcm_redirector___fprintf_chk |
| ld 2, 24(1) |
| nop |
| ld 3,0(31) |
| mr 5,26 |
| mr 6,27 |
| li 4,1 |
| # WAS bl __fprintf_chk |
| bl bcm_redirector___fprintf_chk |
| ld 2, 24(1) |
| nop |
| ld 3,0(31) |
| li 4,1 |
| mr 5,28 |
| mr 6,30 |
| # WAS bl __fprintf_chk |
| bl bcm_redirector___fprintf_chk |
| ld 2, 24(1) |
| nop |
| b .L2 |
| .long 0 |
| .byte 0,0,0,1,128,13,0,0 |
| .size exported_function,.-exported_function |
| .section ".toc","aw" |
| .set .LC11,.LC0 |
| .set .LC12,.LC3 |
| .set .LC13,.LC6 |
| # WAS .section ".text" |
| .text |
| .align 2 |
| .p2align 4,,15 |
| .type function, @function |
| .Lfunction_local_target: |
| function: |
| 0: |
| 999: |
| addis 2, 12, .LBORINGSSL_external_toc-999b@ha |
| addi 2, 2, .LBORINGSSL_external_toc-999b@l |
| ld 12, 0(2) |
| add 2, 2, 12 |
| # WAS addi 2,2,.TOC.-0b@l |
| .localentry function,.-function |
| .Lfunction_local_entry: |
| mflr 0 |
| std 31,-8(1) |
| # WAS addis 31,2,.LC11@toc@ha # gpr load fusion, type long |
| # WAS ld 31,.LC11@toc@l(31) |
| addi 1, 1, -288 |
| mflr 31 |
| std 31, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LC11 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 31, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| ld 31, 0(31) |
| # WAS addis 5,2,.LC1@toc@ha |
| std 30,-16(1) |
| # WAS addis 30,2,.LANCHOR0@toc@ha |
| # WAS addi 5,5,.LC1@toc@l |
| addi 1, 1, -288 |
| mflr 5 |
| std 5, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LC1 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 5, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| # WAS addi 30,30,.LANCHOR0@toc@l |
| addi 1, 1, -288 |
| mflr 30 |
| std 30, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LANCHOR0 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 30, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| li 4,1 |
| mr 6,30 |
| std 0,16(1) |
| stdu 1,-112(1) |
| ld 3,0(31) |
| # WAS bl __fprintf_chk |
| bl bcm_redirector___fprintf_chk |
| ld 2, 24(1) |
| nop |
| # WAS addis 6,2,.LC12@toc@ha # gpr load fusion, type long |
| # WAS ld 6,.LC12@toc@l(6) |
| addi 1, 1, -288 |
| mflr 6 |
| std 6, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LC12 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 6, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| ld 6, 0(6) |
| ld 3,0(31) |
| # WAS addis 5,2,.LC2@toc@ha |
| li 4,1 |
| # WAS addi 5,5,.LC2@toc@l |
| addi 1, 1, -288 |
| mflr 5 |
| std 5, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LC2 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 5, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| # WAS bl __fprintf_chk |
| bl bcm_redirector___fprintf_chk |
| ld 2, 24(1) |
| nop |
| ld 3,0(31) |
| # WAS addis 5,2,.LC4@toc@ha |
| # WAS addis 6,2,function@toc@ha |
| # WAS addi 5,5,.LC4@toc@l |
| addi 1, 1, -288 |
| mflr 5 |
| std 5, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LC4 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 5, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| # WAS addi 6,6,function@toc@l |
| addi 1, 1, -288 |
| mflr 6 |
| std 6, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_Lfunction_local_target |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 6, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| li 4,1 |
| # WAS bl __fprintf_chk |
| bl bcm_redirector___fprintf_chk |
| ld 2, 24(1) |
| nop |
| # WAS addis 6,2,.LC13@toc@ha # gpr load fusion, type long |
| # WAS ld 6,.LC13@toc@l(6) |
| addi 1, 1, -288 |
| mflr 6 |
| std 6, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LC13 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 6, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| ld 6, 0(6) |
| ld 3,0(31) |
| # WAS addis 5,2,.LC5@toc@ha |
| li 4,1 |
| # WAS addi 5,5,.LC5@toc@l |
| addi 1, 1, -288 |
| mflr 5 |
| std 5, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LC5 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 5, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| # WAS bl __fprintf_chk |
| bl bcm_redirector___fprintf_chk |
| ld 2, 24(1) |
| nop |
| ld 3,0(31) |
| # WAS addis 5,2,.LC7@toc@ha |
| addi 6,30,5 |
| # WAS addi 5,5,.LC7@toc@l |
| addi 1, 1, -288 |
| mflr 5 |
| std 5, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LC7 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 5, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| li 4,1 |
| # WAS bl __fprintf_chk |
| bl bcm_redirector___fprintf_chk |
| ld 2, 24(1) |
| nop |
| ld 3,0(31) |
| addis 6,30,0x5 |
| # WAS addis 5,2,.LC8@toc@ha |
| li 4,1 |
| # WAS addi 5,5,.LC8@toc@l |
| addi 1, 1, -288 |
| mflr 5 |
| std 5, -8(1) |
| std 3, -16(1) |
| bl .Lbcm_loadtoc__dot_LC8 |
| std 3, -24(1) |
| ld 3, -8(1) |
| mtlr 3 |
| ld 5, -24(1) |
| ld 3, -16(1) |
| addi 1, 1, 288 |
| addi 6,6,-29404 |
| # WAS bl __fprintf_chk |
| bl bcm_redirector___fprintf_chk |
| ld 2, 24(1) |
| nop |
| # WAS bl exported_function |
| bl .Lexported_function_local_entry |
| nop |
| addi 1,1,112 |
| ld 0,16(1) |
| ld 30,-16(1) |
| ld 31,-8(1) |
| mtlr 0 |
| blr |
| .long 0 |
| .byte 0,0,0,1,128,2,0,0 |
| .size function,.-function |
| .globl kExportedString |
| # WAS .section .rodata |
| .text |
| .align 4 |
| .set .LANCHOR0,. + 0 |
| .type kString, @object |
| .size kString, 12 |
| .LkString_local_target: |
| kString: |
| .string "hello world" |
| .zero 4 |
| .type kGiantArray, @object |
| .size kGiantArray, 400000 |
| .LkGiantArray_local_target: |
| kGiantArray: |
| .long 1 |
| .long 0 |
| .zero 399992 |
| .type kExportedString, @object |
| .size kExportedString, 26 |
| .LkExportedString_local_target: |
| kExportedString: |
| .string "hello world, more visibly" |
| # WAS .section .rodata.str1.8,"aMS",@progbits,1 |
| .text |
| .align 3 |
| .LC1: |
| |
| .string "kString is %p\n" |
| .zero 1 |
| .LC2: |
| |
| .string "kExportedString is %p\n" |
| .zero 1 |
| .LC4: |
| |
| .string "function is %p\n" |
| .LC5: |
| |
| .string "exported_function is %p\n" |
| .zero 7 |
| .LC7: |
| |
| .string "&kString[5] is %p\n" |
| .zero 5 |
| .LC8: |
| |
| .string "&kGiantArray[0x12345] is %p\n" |
| .section ".bss" |
| .align 2 |
| .type bss, @object |
| .size bss, 20 |
| bss: |
| .Lbss_local_target: |
| |
| .zero 20 |
| .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2" |
| .section .note.GNU-stack,"",@progbits |
| .text |
| BORINGSSL_bcm_text_end: |
| .section ".toc", "aw" |
| .Lredirector_toc___fprintf_chk: |
| .quad __fprintf_chk |
| .text |
| .type bcm_redirector___fprintf_chk, @function |
| bcm_redirector___fprintf_chk: |
| std 2, 24(1) |
| addis 12, 2, .Lredirector_toc___fprintf_chk@toc@ha |
| ld 12, .Lredirector_toc___fprintf_chk@toc@l(12) |
| mtctr 12 |
| bctr |
| .type bss_bss_get, @function |
| bss_bss_get: |
| addis 3, 2, .Lbss_local_target@toc@ha |
| addi 3, 3, .Lbss_local_target@toc@l |
| blr |
| .type bcm_loadtoc__dot_LANCHOR0, @function |
| bcm_loadtoc__dot_LANCHOR0: |
| .Lbcm_loadtoc__dot_LANCHOR0: |
| addis 3, 2, .LANCHOR0@toc@ha |
| addi 3, 3, .LANCHOR0@toc@l |
| blr |
| .type bcm_loadtoc__dot_LC0, @function |
| bcm_loadtoc__dot_LC0: |
| .Lbcm_loadtoc__dot_LC0: |
| addis 3, 2, .LC0@toc@ha |
| addi 3, 3, .LC0@toc@l |
| blr |
| .type bcm_loadtoc__dot_LC1, @function |
| bcm_loadtoc__dot_LC1: |
| .Lbcm_loadtoc__dot_LC1: |
| addis 3, 2, .LC1@toc@ha |
| addi 3, 3, .LC1@toc@l |
| blr |
| .type bcm_loadtoc__dot_LC11, @function |
| bcm_loadtoc__dot_LC11: |
| .Lbcm_loadtoc__dot_LC11: |
| addis 3, 2, .LC11@toc@ha |
| addi 3, 3, .LC11@toc@l |
| blr |
| .type bcm_loadtoc__dot_LC12, @function |
| bcm_loadtoc__dot_LC12: |
| .Lbcm_loadtoc__dot_LC12: |
| addis 3, 2, .LC12@toc@ha |
| addi 3, 3, .LC12@toc@l |
| blr |
| .type bcm_loadtoc__dot_LC13, @function |
| bcm_loadtoc__dot_LC13: |
| .Lbcm_loadtoc__dot_LC13: |
| addis 3, 2, .LC13@toc@ha |
| addi 3, 3, .LC13@toc@l |
| blr |
| .type bcm_loadtoc__dot_LC2, @function |
| bcm_loadtoc__dot_LC2: |
| .Lbcm_loadtoc__dot_LC2: |
| addis 3, 2, .LC2@toc@ha |
| addi 3, 3, .LC2@toc@l |
| blr |
| .type bcm_loadtoc__dot_LC3, @function |
| bcm_loadtoc__dot_LC3: |
| .Lbcm_loadtoc__dot_LC3: |
| addis 3, 2, .LC3@toc@ha |
| addi 3, 3, .LC3@toc@l |
| blr |
| .type bcm_loadtoc__dot_LC4, @function |
| bcm_loadtoc__dot_LC4: |
| .Lbcm_loadtoc__dot_LC4: |
| addis 3, 2, .LC4@toc@ha |
| addi 3, 3, .LC4@toc@l |
| blr |
| .type bcm_loadtoc__dot_LC5, @function |
| bcm_loadtoc__dot_LC5: |
| .Lbcm_loadtoc__dot_LC5: |
| addis 3, 2, .LC5@toc@ha |
| addi 3, 3, .LC5@toc@l |
| blr |
| .type bcm_loadtoc__dot_LC6, @function |
| bcm_loadtoc__dot_LC6: |
| .Lbcm_loadtoc__dot_LC6: |
| addis 3, 2, .LC6@toc@ha |
| addi 3, 3, .LC6@toc@l |
| blr |
| .type bcm_loadtoc__dot_LC7, @function |
| bcm_loadtoc__dot_LC7: |
| .Lbcm_loadtoc__dot_LC7: |
| addis 3, 2, .LC7@toc@ha |
| addi 3, 3, .LC7@toc@l |
| blr |
| .type bcm_loadtoc__dot_LC8, @function |
| bcm_loadtoc__dot_LC8: |
| .Lbcm_loadtoc__dot_LC8: |
| addis 3, 2, .LC8@toc@ha |
| addi 3, 3, .LC8@toc@l |
| blr |
| .type bcm_loadtoc__dot_Lfunction_local_target, @function |
| bcm_loadtoc__dot_Lfunction_local_target: |
| .Lbcm_loadtoc__dot_Lfunction_local_target: |
| addis 3, 2, .Lfunction_local_target@toc@ha |
| addi 3, 3, .Lfunction_local_target@toc@l |
| blr |
| .LBORINGSSL_external_toc: |
| .quad .TOC.-.LBORINGSSL_external_toc |
| .type BORINGSSL_bcm_text_hash, @object |
| .size BORINGSSL_bcm_text_hash, 64 |
| BORINGSSL_bcm_text_hash: |
| .byte 0xae |
| .byte 0x2c |
| .byte 0xea |
| .byte 0x2a |
| .byte 0xbd |
| .byte 0xa6 |
| .byte 0xf3 |
| .byte 0xec |
| .byte 0x97 |
| .byte 0x7f |
| .byte 0x9b |
| .byte 0xf6 |
| .byte 0x94 |
| .byte 0x9a |
| .byte 0xfc |
| .byte 0x83 |
| .byte 0x68 |
| .byte 0x27 |
| .byte 0xcb |
| .byte 0xa0 |
| .byte 0xa0 |
| .byte 0x9f |
| .byte 0x6b |
| .byte 0x6f |
| .byte 0xde |
| .byte 0x52 |
| .byte 0xcd |
| .byte 0xe2 |
| .byte 0xcd |
| .byte 0xff |
| .byte 0x31 |
| .byte 0x80 |
| .byte 0xa2 |
| .byte 0xd4 |
| .byte 0xc3 |
| .byte 0x66 |
| .byte 0xf |
| .byte 0xc2 |
| .byte 0x6a |
| .byte 0x7b |
| .byte 0xf4 |
| .byte 0xbe |
| .byte 0x39 |
| .byte 0xa2 |
| .byte 0xd7 |
| .byte 0x25 |
| .byte 0xdb |
| .byte 0x21 |
| .byte 0x98 |
| .byte 0xe9 |
| .byte 0xd5 |
| .byte 0x53 |
| .byte 0xbf |
| .byte 0x5c |
| .byte 0x32 |
| .byte 0x6 |
| .byte 0x83 |
| .byte 0x34 |
| .byte 0xc |
| .byte 0x65 |
| .byte 0x89 |
| .byte 0x52 |
| .byte 0xbd |
| .byte 0x1f |