.file "foo.c" .abiversion 2 .section ".toc","aw" .section ".text" .section ".toc","aw" .LC0: .quad stderr .LC3: .quad kExportedString .LC6: .quad exported_function .section ".text" .align 2 .p2align 4,,15 .globl exported_function .type exported_function, @function exported_function: 0: addis 2,12,.TOC.-0b@ha addi 2,2,.TOC.-0b@l .localentry exported_function,.-exported_function mflr 0 std 19,-104(1) std 20,-96(1) std 21,-88(1) std 22,-80(1) addis 21,2,.LC1@toc@ha addis 22,2,.LC2@toc@ha std 23,-72(1) std 24,-64(1) addis 23,2,.LC4@toc@ha addis 24,2,function@toc@ha std 25,-56(1) std 26,-48(1) addis 25,2,.LC5@toc@ha addis 26,2,.LC7@toc@ha std 27,-40(1) std 28,-32(1) addis 28,2,.LC8@toc@ha addi 21,21,.LC1@toc@l std 29,-24(1) std 30,-16(1) addis 29,2,.LANCHOR0@toc@ha addi 22,22,.LC2@toc@l std 31,-8(1) std 0,16(1) addi 29,29,.LANCHOR0@toc@l addi 23,23,.LC4@toc@l stdu 1,-208(1) addis 31,2,.LC0@toc@ha # gpr load fusion, type long ld 31,.LC0@toc@l(31) addis 19,2,.LC3@toc@ha # gpr load fusion, type long ld 19,.LC3@toc@l(19) addis 30,29,0x5 addi 24,24,function@toc@l addis 20,2,.LC6@toc@ha # gpr load fusion, type long ld 20,.LC6@toc@l(20) addi 25,25,.LC5@toc@l addi 26,26,.LC7@toc@l addi 27,29,5 addi 28,28,.LC8@toc@l addi 30,30,-29404 .p2align 4,,15 .L2: ld 3,0(31) mr 5,21 mr 6,29 li 4,1 bl __fprintf_chk nop ld 3,0(31) mr 5,22 mr 6,19 li 4,1 bl __fprintf_chk nop ld 3,0(31) mr 5,23 mr 6,24 li 4,1 bl __fprintf_chk nop ld 3,0(31) mr 5,25 mr 6,20 li 4,1 bl __fprintf_chk nop ld 3,0(31) mr 5,26 mr 6,27 li 4,1 bl __fprintf_chk nop ld 3,0(31) li 4,1 mr 5,28 mr 6,30 bl __fprintf_chk 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 .section ".text" .align 2 .p2align 4,,15 .type function, @function function: 0: addis 2,12,.TOC.-0b@ha addi 2,2,.TOC.-0b@l .localentry function,.-function mflr 0 std 31,-8(1) addis 31,2,.LC11@toc@ha # gpr load fusion, type long ld 31,.LC11@toc@l(31) addis 5,2,.LC1@toc@ha std 30,-16(1) addis 30,2,.LANCHOR0@toc@ha addi 5,5,.LC1@toc@l addi 30,30,.LANCHOR0@toc@l li 4,1 mr 6,30 std 0,16(1) stdu 1,-112(1) ld 3,0(31) bl __fprintf_chk nop addis 6,2,.LC12@toc@ha # gpr load fusion, type long ld 6,.LC12@toc@l(6) ld 3,0(31) addis 5,2,.LC2@toc@ha li 4,1 addi 5,5,.LC2@toc@l bl __fprintf_chk nop ld 3,0(31) addis 5,2,.LC4@toc@ha addis 6,2,function@toc@ha addi 5,5,.LC4@toc@l addi 6,6,function@toc@l li 4,1 bl __fprintf_chk nop addis 6,2,.LC13@toc@ha # gpr load fusion, type long ld 6,.LC13@toc@l(6) ld 3,0(31) addis 5,2,.LC5@toc@ha li 4,1 addi 5,5,.LC5@toc@l bl __fprintf_chk nop ld 3,0(31) addis 5,2,.LC7@toc@ha addi 6,30,5 addi 5,5,.LC7@toc@l li 4,1 bl __fprintf_chk nop ld 3,0(31) addis 6,30,0x5 addis 5,2,.LC8@toc@ha li 4,1 addi 5,5,.LC8@toc@l addi 6,6,-29404 bl __fprintf_chk nop bl exported_function 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 .section .rodata .align 4 .set .LANCHOR0,. + 0 .type kString, @object .size kString, 12 kString: .string "hello world" .zero 4 .type kGiantArray, @object .size kGiantArray, 400000 kGiantArray: .long 1 .long 0 .zero 399992 .type kExportedString, @object .size kExportedString, 26 kExportedString: .string "hello world, more visibly" .section .rodata.str1.8,"aMS",@progbits,1 .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: .zero 20 .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2" .section .note.GNU-stack,"",@progbits