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