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 .section ".toc","aw" 11.LC0: 12 13 .quad stderr 14.LC3: 15 16 .quad kExportedString 17.LC6: 18 19 .quad exported_function 20# WAS .section ".text" 21.text 22 .align 2 23 .p2align 4,,15 24 .globl exported_function 25 .type exported_function, @function 26.Lexported_function_local_target: 27exported_function: 280: 29999: 30 addis 2, 12, .LBORINGSSL_external_toc-999b@ha 31 addi 2, 2, .LBORINGSSL_external_toc-999b@l 32 ld 12, 0(2) 33 add 2, 2, 12 34# WAS addi 2,2,.TOC.-0b@l 35 .localentry exported_function,.-exported_function 36.Lexported_function_local_entry: 37 mflr 0 38 std 19,-104(1) 39 std 20,-96(1) 40 std 21,-88(1) 41 std 22,-80(1) 42# WAS addis 21,2,.LC1@toc@ha 43# WAS addis 22,2,.LC2@toc@ha 44 std 23,-72(1) 45 std 24,-64(1) 46# WAS addis 23,2,.LC4@toc@ha 47# WAS addis 24,2,function@toc@ha 48 std 25,-56(1) 49 std 26,-48(1) 50# WAS addis 25,2,.LC5@toc@ha 51# WAS addis 26,2,.LC7@toc@ha 52 std 27,-40(1) 53 std 28,-32(1) 54# WAS addis 28,2,.LC8@toc@ha 55# WAS addi 21,21,.LC1@toc@l 56 addi 1, 1, -288 57 mflr 21 58 std 21, -8(1) 59 std 3, -16(1) 60 bl .Lbcm_loadtoc__dot_LC1 61 std 3, -24(1) 62 ld 3, -8(1) 63 mtlr 3 64 ld 21, -24(1) 65 ld 3, -16(1) 66 addi 1, 1, 288 67 std 29,-24(1) 68 std 30,-16(1) 69# WAS addis 29,2,.LANCHOR0@toc@ha 70# WAS addi 22,22,.LC2@toc@l 71 addi 1, 1, -288 72 mflr 22 73 std 22, -8(1) 74 std 3, -16(1) 75 bl .Lbcm_loadtoc__dot_LC2 76 std 3, -24(1) 77 ld 3, -8(1) 78 mtlr 3 79 ld 22, -24(1) 80 ld 3, -16(1) 81 addi 1, 1, 288 82 std 31,-8(1) 83 std 0,16(1) 84# WAS addi 29,29,.LANCHOR0@toc@l 85 addi 1, 1, -288 86 mflr 29 87 std 29, -8(1) 88 std 3, -16(1) 89 bl .Lbcm_loadtoc__dot_LANCHOR0 90 std 3, -24(1) 91 ld 3, -8(1) 92 mtlr 3 93 ld 29, -24(1) 94 ld 3, -16(1) 95 addi 1, 1, 288 96# WAS addi 23,23,.LC4@toc@l 97 addi 1, 1, -288 98 mflr 23 99 std 23, -8(1) 100 std 3, -16(1) 101 bl .Lbcm_loadtoc__dot_LC4 102 std 3, -24(1) 103 ld 3, -8(1) 104 mtlr 3 105 ld 23, -24(1) 106 ld 3, -16(1) 107 addi 1, 1, 288 108 stdu 1,-208(1) 109# WAS addis 31,2,.LC0@toc@ha # gpr load fusion, type long 110# WAS ld 31,.LC0@toc@l(31) 111 addi 1, 1, -288 112 mflr 31 113 std 31, -8(1) 114 std 3, -16(1) 115 bl .Lbcm_loadtoc__dot_LC0 116 std 3, -24(1) 117 ld 3, -8(1) 118 mtlr 3 119 ld 31, -24(1) 120 ld 3, -16(1) 121 addi 1, 1, 288 122 ld 31, 0(31) 123# WAS addis 19,2,.LC3@toc@ha # gpr load fusion, type long 124# WAS ld 19,.LC3@toc@l(19) 125 addi 1, 1, -288 126 mflr 19 127 std 19, -8(1) 128 std 3, -16(1) 129 bl .Lbcm_loadtoc__dot_LC3 130 std 3, -24(1) 131 ld 3, -8(1) 132 mtlr 3 133 ld 19, -24(1) 134 ld 3, -16(1) 135 addi 1, 1, 288 136 ld 19, 0(19) 137 addis 30,29,0x5 138# WAS addi 24,24,function@toc@l 139 addi 1, 1, -288 140 mflr 24 141 std 24, -8(1) 142 std 3, -16(1) 143 bl .Lbcm_loadtoc__dot_Lfunction_local_target 144 std 3, -24(1) 145 ld 3, -8(1) 146 mtlr 3 147 ld 24, -24(1) 148 ld 3, -16(1) 149 addi 1, 1, 288 150# WAS addis 20,2,.LC6@toc@ha # gpr load fusion, type long 151# WAS ld 20,.LC6@toc@l(20) 152 addi 1, 1, -288 153 mflr 20 154 std 20, -8(1) 155 std 3, -16(1) 156 bl .Lbcm_loadtoc__dot_LC6 157 std 3, -24(1) 158 ld 3, -8(1) 159 mtlr 3 160 ld 20, -24(1) 161 ld 3, -16(1) 162 addi 1, 1, 288 163 ld 20, 0(20) 164# WAS addi 25,25,.LC5@toc@l 165 addi 1, 1, -288 166 mflr 25 167 std 25, -8(1) 168 std 3, -16(1) 169 bl .Lbcm_loadtoc__dot_LC5 170 std 3, -24(1) 171 ld 3, -8(1) 172 mtlr 3 173 ld 25, -24(1) 174 ld 3, -16(1) 175 addi 1, 1, 288 176# WAS addi 26,26,.LC7@toc@l 177 addi 1, 1, -288 178 mflr 26 179 std 26, -8(1) 180 std 3, -16(1) 181 bl .Lbcm_loadtoc__dot_LC7 182 std 3, -24(1) 183 ld 3, -8(1) 184 mtlr 3 185 ld 26, -24(1) 186 ld 3, -16(1) 187 addi 1, 1, 288 188 addi 27,29,5 189# WAS addi 28,28,.LC8@toc@l 190 addi 1, 1, -288 191 mflr 28 192 std 28, -8(1) 193 std 3, -16(1) 194 bl .Lbcm_loadtoc__dot_LC8 195 std 3, -24(1) 196 ld 3, -8(1) 197 mtlr 3 198 ld 28, -24(1) 199 ld 3, -16(1) 200 addi 1, 1, 288 201 addi 30,30,-29404 202 .p2align 4,,15 203.L2: 204 205 ld 3,0(31) 206 mr 5,21 207 mr 6,29 208 li 4,1 209# WAS bl __fprintf_chk 210 bl bcm_redirector___fprintf_chk 211 ld 2, 24(1) 212 nop 213 ld 3,0(31) 214 mr 5,22 215 mr 6,19 216 li 4,1 217# WAS bl __fprintf_chk 218 bl bcm_redirector___fprintf_chk 219 ld 2, 24(1) 220 nop 221 ld 3,0(31) 222 mr 5,23 223 mr 6,24 224 li 4,1 225# WAS bl __fprintf_chk 226 bl bcm_redirector___fprintf_chk 227 ld 2, 24(1) 228 nop 229 ld 3,0(31) 230 mr 5,25 231 mr 6,20 232 li 4,1 233# WAS bl __fprintf_chk 234 bl bcm_redirector___fprintf_chk 235 ld 2, 24(1) 236 nop 237 ld 3,0(31) 238 mr 5,26 239 mr 6,27 240 li 4,1 241# WAS bl __fprintf_chk 242 bl bcm_redirector___fprintf_chk 243 ld 2, 24(1) 244 nop 245 ld 3,0(31) 246 li 4,1 247 mr 5,28 248 mr 6,30 249# WAS bl __fprintf_chk 250 bl bcm_redirector___fprintf_chk 251 ld 2, 24(1) 252 nop 253 b .L2 254 .long 0 255 .byte 0,0,0,1,128,13,0,0 256 .size exported_function,.-exported_function 257 .section ".toc","aw" 258 .set .LC11,.LC0 259 .set .LC12,.LC3 260 .set .LC13,.LC6 261# WAS .section ".text" 262.text 263 .align 2 264 .p2align 4,,15 265 .type function, @function 266.Lfunction_local_target: 267function: 2680: 269999: 270 addis 2, 12, .LBORINGSSL_external_toc-999b@ha 271 addi 2, 2, .LBORINGSSL_external_toc-999b@l 272 ld 12, 0(2) 273 add 2, 2, 12 274# WAS addi 2,2,.TOC.-0b@l 275 .localentry function,.-function 276.Lfunction_local_entry: 277 mflr 0 278 std 31,-8(1) 279# WAS addis 31,2,.LC11@toc@ha # gpr load fusion, type long 280# WAS ld 31,.LC11@toc@l(31) 281 addi 1, 1, -288 282 mflr 31 283 std 31, -8(1) 284 std 3, -16(1) 285 bl .Lbcm_loadtoc__dot_LC11 286 std 3, -24(1) 287 ld 3, -8(1) 288 mtlr 3 289 ld 31, -24(1) 290 ld 3, -16(1) 291 addi 1, 1, 288 292 ld 31, 0(31) 293# WAS addis 5,2,.LC1@toc@ha 294 std 30,-16(1) 295# WAS addis 30,2,.LANCHOR0@toc@ha 296# WAS addi 5,5,.LC1@toc@l 297 addi 1, 1, -288 298 mflr 5 299 std 5, -8(1) 300 std 3, -16(1) 301 bl .Lbcm_loadtoc__dot_LC1 302 std 3, -24(1) 303 ld 3, -8(1) 304 mtlr 3 305 ld 5, -24(1) 306 ld 3, -16(1) 307 addi 1, 1, 288 308# WAS addi 30,30,.LANCHOR0@toc@l 309 addi 1, 1, -288 310 mflr 30 311 std 30, -8(1) 312 std 3, -16(1) 313 bl .Lbcm_loadtoc__dot_LANCHOR0 314 std 3, -24(1) 315 ld 3, -8(1) 316 mtlr 3 317 ld 30, -24(1) 318 ld 3, -16(1) 319 addi 1, 1, 288 320 li 4,1 321 mr 6,30 322 std 0,16(1) 323 stdu 1,-112(1) 324 ld 3,0(31) 325# WAS bl __fprintf_chk 326 bl bcm_redirector___fprintf_chk 327 ld 2, 24(1) 328 nop 329# WAS addis 6,2,.LC12@toc@ha # gpr load fusion, type long 330# WAS ld 6,.LC12@toc@l(6) 331 addi 1, 1, -288 332 mflr 6 333 std 6, -8(1) 334 std 3, -16(1) 335 bl .Lbcm_loadtoc__dot_LC12 336 std 3, -24(1) 337 ld 3, -8(1) 338 mtlr 3 339 ld 6, -24(1) 340 ld 3, -16(1) 341 addi 1, 1, 288 342 ld 6, 0(6) 343 ld 3,0(31) 344# WAS addis 5,2,.LC2@toc@ha 345 li 4,1 346# WAS addi 5,5,.LC2@toc@l 347 addi 1, 1, -288 348 mflr 5 349 std 5, -8(1) 350 std 3, -16(1) 351 bl .Lbcm_loadtoc__dot_LC2 352 std 3, -24(1) 353 ld 3, -8(1) 354 mtlr 3 355 ld 5, -24(1) 356 ld 3, -16(1) 357 addi 1, 1, 288 358# WAS bl __fprintf_chk 359 bl bcm_redirector___fprintf_chk 360 ld 2, 24(1) 361 nop 362 ld 3,0(31) 363# WAS addis 5,2,.LC4@toc@ha 364# WAS addis 6,2,function@toc@ha 365# WAS addi 5,5,.LC4@toc@l 366 addi 1, 1, -288 367 mflr 5 368 std 5, -8(1) 369 std 3, -16(1) 370 bl .Lbcm_loadtoc__dot_LC4 371 std 3, -24(1) 372 ld 3, -8(1) 373 mtlr 3 374 ld 5, -24(1) 375 ld 3, -16(1) 376 addi 1, 1, 288 377# WAS addi 6,6,function@toc@l 378 addi 1, 1, -288 379 mflr 6 380 std 6, -8(1) 381 std 3, -16(1) 382 bl .Lbcm_loadtoc__dot_Lfunction_local_target 383 std 3, -24(1) 384 ld 3, -8(1) 385 mtlr 3 386 ld 6, -24(1) 387 ld 3, -16(1) 388 addi 1, 1, 288 389 li 4,1 390# WAS bl __fprintf_chk 391 bl bcm_redirector___fprintf_chk 392 ld 2, 24(1) 393 nop 394# WAS addis 6,2,.LC13@toc@ha # gpr load fusion, type long 395# WAS ld 6,.LC13@toc@l(6) 396 addi 1, 1, -288 397 mflr 6 398 std 6, -8(1) 399 std 3, -16(1) 400 bl .Lbcm_loadtoc__dot_LC13 401 std 3, -24(1) 402 ld 3, -8(1) 403 mtlr 3 404 ld 6, -24(1) 405 ld 3, -16(1) 406 addi 1, 1, 288 407 ld 6, 0(6) 408 ld 3,0(31) 409# WAS addis 5,2,.LC5@toc@ha 410 li 4,1 411# WAS addi 5,5,.LC5@toc@l 412 addi 1, 1, -288 413 mflr 5 414 std 5, -8(1) 415 std 3, -16(1) 416 bl .Lbcm_loadtoc__dot_LC5 417 std 3, -24(1) 418 ld 3, -8(1) 419 mtlr 3 420 ld 5, -24(1) 421 ld 3, -16(1) 422 addi 1, 1, 288 423# WAS bl __fprintf_chk 424 bl bcm_redirector___fprintf_chk 425 ld 2, 24(1) 426 nop 427 ld 3,0(31) 428# WAS addis 5,2,.LC7@toc@ha 429 addi 6,30,5 430# WAS addi 5,5,.LC7@toc@l 431 addi 1, 1, -288 432 mflr 5 433 std 5, -8(1) 434 std 3, -16(1) 435 bl .Lbcm_loadtoc__dot_LC7 436 std 3, -24(1) 437 ld 3, -8(1) 438 mtlr 3 439 ld 5, -24(1) 440 ld 3, -16(1) 441 addi 1, 1, 288 442 li 4,1 443# WAS bl __fprintf_chk 444 bl bcm_redirector___fprintf_chk 445 ld 2, 24(1) 446 nop 447 ld 3,0(31) 448 addis 6,30,0x5 449# WAS addis 5,2,.LC8@toc@ha 450 li 4,1 451# WAS addi 5,5,.LC8@toc@l 452 addi 1, 1, -288 453 mflr 5 454 std 5, -8(1) 455 std 3, -16(1) 456 bl .Lbcm_loadtoc__dot_LC8 457 std 3, -24(1) 458 ld 3, -8(1) 459 mtlr 3 460 ld 5, -24(1) 461 ld 3, -16(1) 462 addi 1, 1, 288 463 addi 6,6,-29404 464# WAS bl __fprintf_chk 465 bl bcm_redirector___fprintf_chk 466 ld 2, 24(1) 467 nop 468# WAS bl exported_function 469 bl .Lexported_function_local_entry 470 nop 471 addi 1,1,112 472 ld 0,16(1) 473 ld 30,-16(1) 474 ld 31,-8(1) 475 mtlr 0 476 blr 477 .long 0 478 .byte 0,0,0,1,128,2,0,0 479 .size function,.-function 480 .globl kExportedString 481# WAS .section .rodata 482.text 483 .align 4 484 .set .LANCHOR0,. + 0 485 .type kString, @object 486 .size kString, 12 487.LkString_local_target: 488kString: 489 .string "hello world" 490 .zero 4 491 .type kGiantArray, @object 492 .size kGiantArray, 400000 493.LkGiantArray_local_target: 494kGiantArray: 495 .long 1 496 .long 0 497 .zero 399992 498 .type kExportedString, @object 499 .size kExportedString, 26 500.LkExportedString_local_target: 501kExportedString: 502 .string "hello world, more visibly" 503# WAS .section .rodata.str1.8,"aMS",@progbits,1 504.text 505 .align 3 506.LC1: 507 508 .string "kString is %p\n" 509 .zero 1 510.LC2: 511 512 .string "kExportedString is %p\n" 513 .zero 1 514.LC4: 515 516 .string "function is %p\n" 517.LC5: 518 519 .string "exported_function is %p\n" 520 .zero 7 521.LC7: 522 523 .string "&kString[5] is %p\n" 524 .zero 5 525.LC8: 526 527 .string "&kGiantArray[0x12345] is %p\n" 528 .section ".bss" 529 .align 2 530 .type bss, @object 531 .size bss, 20 532bss: 533.Lbss_local_target: 534 535 .zero 20 536 .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2" 537 .section .note.GNU-stack,"",@progbits 538.text 539.loc 1 2 0 540BORINGSSL_bcm_text_end: 541.section ".toc", "aw" 542.Lredirector_toc___fprintf_chk: 543.quad __fprintf_chk 544.text 545.type bcm_redirector___fprintf_chk, @function 546bcm_redirector___fprintf_chk: 547 std 2, 24(1) 548 addis 12, 2, .Lredirector_toc___fprintf_chk@toc@ha 549 ld 12, .Lredirector_toc___fprintf_chk@toc@l(12) 550 mtctr 12 551 bctr 552.type bss_bss_get, @function 553bss_bss_get: 554 addis 3, 2, .Lbss_local_target@toc@ha 555 addi 3, 3, .Lbss_local_target@toc@l 556 blr 557.type bcm_loadtoc__dot_LANCHOR0, @function 558bcm_loadtoc__dot_LANCHOR0: 559.Lbcm_loadtoc__dot_LANCHOR0: 560 addis 3, 2, .LANCHOR0@toc@ha 561 addi 3, 3, .LANCHOR0@toc@l 562 blr 563.type bcm_loadtoc__dot_LC0, @function 564bcm_loadtoc__dot_LC0: 565.Lbcm_loadtoc__dot_LC0: 566 addis 3, 2, .LC0@toc@ha 567 addi 3, 3, .LC0@toc@l 568 blr 569.type bcm_loadtoc__dot_LC1, @function 570bcm_loadtoc__dot_LC1: 571.Lbcm_loadtoc__dot_LC1: 572 addis 3, 2, .LC1@toc@ha 573 addi 3, 3, .LC1@toc@l 574 blr 575.type bcm_loadtoc__dot_LC11, @function 576bcm_loadtoc__dot_LC11: 577.Lbcm_loadtoc__dot_LC11: 578 addis 3, 2, .LC11@toc@ha 579 addi 3, 3, .LC11@toc@l 580 blr 581.type bcm_loadtoc__dot_LC12, @function 582bcm_loadtoc__dot_LC12: 583.Lbcm_loadtoc__dot_LC12: 584 addis 3, 2, .LC12@toc@ha 585 addi 3, 3, .LC12@toc@l 586 blr 587.type bcm_loadtoc__dot_LC13, @function 588bcm_loadtoc__dot_LC13: 589.Lbcm_loadtoc__dot_LC13: 590 addis 3, 2, .LC13@toc@ha 591 addi 3, 3, .LC13@toc@l 592 blr 593.type bcm_loadtoc__dot_LC2, @function 594bcm_loadtoc__dot_LC2: 595.Lbcm_loadtoc__dot_LC2: 596 addis 3, 2, .LC2@toc@ha 597 addi 3, 3, .LC2@toc@l 598 blr 599.type bcm_loadtoc__dot_LC3, @function 600bcm_loadtoc__dot_LC3: 601.Lbcm_loadtoc__dot_LC3: 602 addis 3, 2, .LC3@toc@ha 603 addi 3, 3, .LC3@toc@l 604 blr 605.type bcm_loadtoc__dot_LC4, @function 606bcm_loadtoc__dot_LC4: 607.Lbcm_loadtoc__dot_LC4: 608 addis 3, 2, .LC4@toc@ha 609 addi 3, 3, .LC4@toc@l 610 blr 611.type bcm_loadtoc__dot_LC5, @function 612bcm_loadtoc__dot_LC5: 613.Lbcm_loadtoc__dot_LC5: 614 addis 3, 2, .LC5@toc@ha 615 addi 3, 3, .LC5@toc@l 616 blr 617.type bcm_loadtoc__dot_LC6, @function 618bcm_loadtoc__dot_LC6: 619.Lbcm_loadtoc__dot_LC6: 620 addis 3, 2, .LC6@toc@ha 621 addi 3, 3, .LC6@toc@l 622 blr 623.type bcm_loadtoc__dot_LC7, @function 624bcm_loadtoc__dot_LC7: 625.Lbcm_loadtoc__dot_LC7: 626 addis 3, 2, .LC7@toc@ha 627 addi 3, 3, .LC7@toc@l 628 blr 629.type bcm_loadtoc__dot_LC8, @function 630bcm_loadtoc__dot_LC8: 631.Lbcm_loadtoc__dot_LC8: 632 addis 3, 2, .LC8@toc@ha 633 addi 3, 3, .LC8@toc@l 634 blr 635.type bcm_loadtoc__dot_Lfunction_local_target, @function 636bcm_loadtoc__dot_Lfunction_local_target: 637.Lbcm_loadtoc__dot_Lfunction_local_target: 638 addis 3, 2, .Lfunction_local_target@toc@ha 639 addi 3, 3, .Lfunction_local_target@toc@l 640 blr 641.LBORINGSSL_external_toc: 642.quad .TOC.-.LBORINGSSL_external_toc 643.type BORINGSSL_bcm_text_hash, @object 644.size BORINGSSL_bcm_text_hash, 64 645BORINGSSL_bcm_text_hash: 646.byte 0xae 647.byte 0x2c 648.byte 0xea 649.byte 0x2a 650.byte 0xbd 651.byte 0xa6 652.byte 0xf3 653.byte 0xec 654.byte 0x97 655.byte 0x7f 656.byte 0x9b 657.byte 0xf6 658.byte 0x94 659.byte 0x9a 660.byte 0xfc 661.byte 0x83 662.byte 0x68 663.byte 0x27 664.byte 0xcb 665.byte 0xa0 666.byte 0xa0 667.byte 0x9f 668.byte 0x6b 669.byte 0x6f 670.byte 0xde 671.byte 0x52 672.byte 0xcd 673.byte 0xe2 674.byte 0xcd 675.byte 0xff 676.byte 0x31 677.byte 0x80 678.byte 0xa2 679.byte 0xd4 680.byte 0xc3 681.byte 0x66 682.byte 0xf 683.byte 0xc2 684.byte 0x6a 685.byte 0x7b 686.byte 0xf4 687.byte 0xbe 688.byte 0x39 689.byte 0xa2 690.byte 0xd7 691.byte 0x25 692.byte 0xdb 693.byte 0x21 694.byte 0x98 695.byte 0xe9 696.byte 0xd5 697.byte 0x53 698.byte 0xbf 699.byte 0x5c 700.byte 0x32 701.byte 0x6 702.byte 0x83 703.byte 0x34 704.byte 0xc 705.byte 0x65 706.byte 0x89 707.byte 0x52 708.byte 0xbd 709.byte 0x1f 710