1 .file "foo.c" 2 .abiversion 2 3 .section ".toc","aw" 4 .section ".text" 5 .section ".toc","aw" 6.LC0: 7 .quad stderr 8.LC3: 9 .quad kExportedString 10.LC6: 11 .quad exported_function 12 .section ".text" 13 .align 2 14 .p2align 4,,15 15 .globl exported_function 16 .type exported_function, @function 17exported_function: 180: addis 2,12,.TOC.-0b@ha 19 addi 2,2,.TOC.-0b@l 20 .localentry exported_function,.-exported_function 21 mflr 0 22 std 19,-104(1) 23 std 20,-96(1) 24 std 21,-88(1) 25 std 22,-80(1) 26 addis 21,2,.LC1@toc@ha 27 addis 22,2,.LC2@toc@ha 28 std 23,-72(1) 29 std 24,-64(1) 30 addis 23,2,.LC4@toc@ha 31 addis 24,2,function@toc@ha 32 std 25,-56(1) 33 std 26,-48(1) 34 addis 25,2,.LC5@toc@ha 35 addis 26,2,.LC7@toc@ha 36 std 27,-40(1) 37 std 28,-32(1) 38 addis 28,2,.LC8@toc@ha 39 addi 21,21,.LC1@toc@l 40 std 29,-24(1) 41 std 30,-16(1) 42 addis 29,2,.LANCHOR0@toc@ha 43 addi 22,22,.LC2@toc@l 44 std 31,-8(1) 45 std 0,16(1) 46 addi 29,29,.LANCHOR0@toc@l 47 addi 23,23,.LC4@toc@l 48 stdu 1,-208(1) 49 addis 31,2,.LC0@toc@ha # gpr load fusion, type long 50 ld 31,.LC0@toc@l(31) 51 addis 19,2,.LC3@toc@ha # gpr load fusion, type long 52 ld 19,.LC3@toc@l(19) 53 addis 30,29,0x5 54 addi 24,24,function@toc@l 55 addis 20,2,.LC6@toc@ha # gpr load fusion, type long 56 ld 20,.LC6@toc@l(20) 57 addi 25,25,.LC5@toc@l 58 addi 26,26,.LC7@toc@l 59 addi 27,29,5 60 addi 28,28,.LC8@toc@l 61 addi 30,30,-29404 62 .p2align 4,,15 63.L2: 64 ld 3,0(31) 65 mr 5,21 66 mr 6,29 67 li 4,1 68 bl __fprintf_chk 69 nop 70 ld 3,0(31) 71 mr 5,22 72 mr 6,19 73 li 4,1 74 bl __fprintf_chk 75 nop 76 ld 3,0(31) 77 mr 5,23 78 mr 6,24 79 li 4,1 80 bl __fprintf_chk 81 nop 82 ld 3,0(31) 83 mr 5,25 84 mr 6,20 85 li 4,1 86 bl __fprintf_chk 87 nop 88 ld 3,0(31) 89 mr 5,26 90 mr 6,27 91 li 4,1 92 bl __fprintf_chk 93 nop 94 ld 3,0(31) 95 li 4,1 96 mr 5,28 97 mr 6,30 98 bl __fprintf_chk 99 nop 100 b .L2 101 .long 0 102 .byte 0,0,0,1,128,13,0,0 103 .size exported_function,.-exported_function 104 .section ".toc","aw" 105 .set .LC11,.LC0 106 .set .LC12,.LC3 107 .set .LC13,.LC6 108 .section ".text" 109 .align 2 110 .p2align 4,,15 111 .type function, @function 112function: 1130: addis 2,12,.TOC.-0b@ha 114 addi 2,2,.TOC.-0b@l 115 .localentry function,.-function 116 mflr 0 117 std 31,-8(1) 118 addis 31,2,.LC11@toc@ha # gpr load fusion, type long 119 ld 31,.LC11@toc@l(31) 120 addis 5,2,.LC1@toc@ha 121 std 30,-16(1) 122 addis 30,2,.LANCHOR0@toc@ha 123 addi 5,5,.LC1@toc@l 124 addi 30,30,.LANCHOR0@toc@l 125 li 4,1 126 mr 6,30 127 std 0,16(1) 128 stdu 1,-112(1) 129 ld 3,0(31) 130 bl __fprintf_chk 131 nop 132 addis 6,2,.LC12@toc@ha # gpr load fusion, type long 133 ld 6,.LC12@toc@l(6) 134 ld 3,0(31) 135 addis 5,2,.LC2@toc@ha 136 li 4,1 137 addi 5,5,.LC2@toc@l 138 bl __fprintf_chk 139 nop 140 ld 3,0(31) 141 addis 5,2,.LC4@toc@ha 142 addis 6,2,function@toc@ha 143 addi 5,5,.LC4@toc@l 144 addi 6,6,function@toc@l 145 li 4,1 146 bl __fprintf_chk 147 nop 148 addis 6,2,.LC13@toc@ha # gpr load fusion, type long 149 ld 6,.LC13@toc@l(6) 150 ld 3,0(31) 151 addis 5,2,.LC5@toc@ha 152 li 4,1 153 addi 5,5,.LC5@toc@l 154 bl __fprintf_chk 155 nop 156 ld 3,0(31) 157 addis 5,2,.LC7@toc@ha 158 addi 6,30,5 159 addi 5,5,.LC7@toc@l 160 li 4,1 161 bl __fprintf_chk 162 nop 163 ld 3,0(31) 164 addis 6,30,0x5 165 addis 5,2,.LC8@toc@ha 166 li 4,1 167 addi 5,5,.LC8@toc@l 168 addi 6,6,-29404 169 bl __fprintf_chk 170 nop 171 bl exported_function 172 nop 173 addi 1,1,112 174 ld 0,16(1) 175 ld 30,-16(1) 176 ld 31,-8(1) 177 mtlr 0 178 blr 179 .long 0 180 .byte 0,0,0,1,128,2,0,0 181 .size function,.-function 182 .globl kExportedString 183 .section .rodata 184 .align 4 185 .set .LANCHOR0,. + 0 186 .type kString, @object 187 .size kString, 12 188kString: 189 .string "hello world" 190 .zero 4 191 .type kGiantArray, @object 192 .size kGiantArray, 400000 193kGiantArray: 194 .long 1 195 .long 0 196 .zero 399992 197 .type kExportedString, @object 198 .size kExportedString, 26 199kExportedString: 200 .string "hello world, more visibly" 201 .section .rodata.str1.8,"aMS",@progbits,1 202 .align 3 203.LC1: 204 .string "kString is %p\n" 205 .zero 1 206.LC2: 207 .string "kExportedString is %p\n" 208 .zero 1 209.LC4: 210 .string "function is %p\n" 211.LC5: 212 .string "exported_function is %p\n" 213 .zero 7 214.LC7: 215 .string "&kString[5] is %p\n" 216 .zero 5 217.LC8: 218 .string "&kGiantArray[0x12345] is %p\n" 219 .section ".bss" 220 .align 2 221 .type bss, @object 222 .size bss, 20 223bss: 224 .zero 20 225 .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2" 226 .section .note.GNU-stack,"",@progbits 227