.file "foo.c" .abiversion 2 .section ".toc","aw" .section ".text" .section .rodata .align 3 .type kString, @object .size kString, 12 kString: .string "hello world" .globl kExportedString .align 3 .type kExportedString, @object .size kExportedString, 26 kExportedString: .string "hello world, more visibly" .align 2 .type kGiantArray, @object .size kGiantArray, 400000 kGiantArray: .long 1 .long 0 .zero 399992 .lcomm bss,20,4 .type bss, @object .align 3 .LC1: .string "kString is %p\n" .align 3 .LC2: .string "kExportedString is %p\n" .align 3 .LC4: .string "function is %p\n" .align 3 .LC5: .string "exported_function is %p\n" .align 3 .LC7: .string "&kString[5] is %p\n" .align 3 .LC9: .string "&kGiantArray[0x12345] is %p\n" .section ".toc","aw" .LC0: .quad stderr .LC3: .quad kExportedString .LC6: .quad exported_function .LC8: .quad kString+5 .LC10: .quad kGiantArray+298260 .section ".text" .align 2 .type function, @function function: 0: addis 2,12,.TOC.-0b@ha addi 2,2,.TOC.-0b@l .localentry function,.-function mflr 0 std 0,16(1) std 31,-8(1) stdu 1,-112(1) mr 31,1 addis 10,2,.LC0@toc@ha ld 9,.LC0@toc@l(10) ld 9,0(9) mr 3,9 addis 4,2,.LC1@toc@ha addi 4,4,.LC1@toc@l addis 5,2,kString@toc@ha addi 5,5,kString@toc@l bl fprintf nop addis 10,2,.LC0@toc@ha ld 9,.LC0@toc@l(10) ld 9,0(9) mr 3,9 addis 4,2,.LC2@toc@ha addi 4,4,.LC2@toc@l addis 9,2,.LC3@toc@ha ld 5,.LC3@toc@l(9) bl fprintf nop addis 10,2,.LC0@toc@ha ld 9,.LC0@toc@l(10) ld 9,0(9) mr 3,9 addis 4,2,.LC4@toc@ha addi 4,4,.LC4@toc@l addis 5,2,function@toc@ha addi 5,5,function@toc@l bl fprintf nop addis 10,2,.LC0@toc@ha ld 9,.LC0@toc@l(10) ld 9,0(9) mr 3,9 addis 4,2,.LC5@toc@ha addi 4,4,.LC5@toc@l addis 9,2,.LC6@toc@ha ld 5,.LC6@toc@l(9) bl fprintf nop addis 10,2,.LC0@toc@ha ld 9,.LC0@toc@l(10) ld 9,0(9) mr 3,9 addis 4,2,.LC7@toc@ha addi 4,4,.LC7@toc@l addis 9,2,.LC8@toc@ha ld 5,.LC8@toc@l(9) bl fprintf nop addis 10,2,.LC0@toc@ha ld 9,.LC0@toc@l(10) ld 9,0(9) mr 3,9 addis 4,2,.LC9@toc@ha addi 4,4,.LC9@toc@l addis 9,2,.LC10@toc@ha ld 5,.LC10@toc@l(9) bl fprintf nop bl exported_function nop mr 3,9 addi 1,31,112 ld 0,16(1) mtlr 0 ld 31,-8(1) blr .long 0 .byte 0,0,0,1,128,1,0,1 .size function,.-function .align 2 .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 0,16(1) std 31,-8(1) stdu 1,-48(1) mr 31,1 bl function mr 3,9 addi 1,31,48 ld 0,16(1) mtlr 0 ld 31,-8(1) blr .long 0 .byte 0,0,0,1,128,1,0,1 .size exported_function,.-exported_function .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2" .section .note.GNU-stack,"",@progbits