1 .file "crt0.c" 2gcc2_compiled.: 3 .globl __progname 4 .section ".data" # .rodata 5 .align 2 6.LC0: 7 .string "" 8 .section ".sdata","aw" 9 .align 2 10 .type __progname,@object 11 .size __progname,4 12__progname: 13.LCP0: 14 .long (.LC0)@fixup 15 .section ".fixup","aw" 16 .align 2 17 .long .LCP0 18 .previous 19 .globl __ps_strings 20 .align 2 21 .type __ps_strings,@object 22 .size __ps_strings,4 23__ps_strings: 24 .long 0 25 .weak _DYNAMIC 26 .weak _SDA_BASE_ 27 .weak _SDA2_BASE_ 28 .section ".got2","aw" 29.LCTOC1 = .+32768 30.LC1 = .-.LCTOC1 31 .long __progname 32.LC2 = .-.LCTOC1 33 .long environ 34.LC3 = .-.LCTOC1 35 .long __ps_strings 36.LC4 = .-.LCTOC1 37 .long _DYNAMIC 38.LC5 = .-.LCTOC1 39 .long _fini 40 .section ".text" 41 .align 2 42 .globl _start 43.LCL0: 44 .long .LCTOC1-.LCF0 45 .type _start,@function 46_start: 47 stwu 1,-48(1) 48 mflr 0 49 stw 24,16(1) 50 stw 25,20(1) 51 stw 26,24(1) 52 stw 27,28(1) 53 stw 28,32(1) 54 stw 29,36(1) 55 stw 30,40(1) 56 stw 31,44(1) 57 stw 0,52(1) 58 bl .LCF0 59.LCF0: 60 mflr 30 61 lwz 0,(.LCL0-.LCF0)(30) 62 add 30,0,30 63 mr 27,4 64 mr 24,3 65 mr 28,5 66 mr 25,6 67 mr 26,7 68 mr 29,8 69 lis %r13,_SDA_BASE_@ha;addi %r13,%r13,_SDA_BASE_@l;lis %r2,_SDA2_BASE_@ha;addi %r2,%r2,_SDA2_BASE_@l 70 lwz 31,0(27) 71 cmpwi 0,31,0 72 bc 12,2,.L7 73 mr 3,31 74 li 4,47 75 bl _strrchr@local 76 lwz 9,.LC1(30) 77 cmpwi 0,3,0 78 stw 3,0(9) 79 bc 4,2,.L8 80 stw 31,0(9) 81 b .L12 82.L8: 83 addi 0,3,1 84 stw 0,0(9) 85.L12: 86.L7: 87 lwz 31,.LC2(30) 88 cmpwi 0,29,0 89 stw 28,0(31) 90 bc 12,2,.L10 91 lwz 9,.LC3(30) 92 stw 29,0(9) 93.L10: 94 lwz 0,.LC4(30) 95 cmpwi 0,0,0 96 bc 12,2,.L11 97 mr 3,26 98 mr 4,25 99 bl _rtld_setup@plt 100.L11: 101 lwz 3,.LC5(30) 102 bl atexit@plt 103 bl _init@plt 104 lwz 5,0(31) 105 mr 3,24 106 mr 4,27 107 108 lis 11,operatingsystem_parameter_argc@ha 109 stw 3,operatingsystem_parameter_argc@l(11); 110 lis 11,operatingsystem_parameter_argv@ha 111 stw 4,operatingsystem_parameter_argv@l(11); 112 113 lis 11,operatingsystem_parameter_envp@ha 114 stw 5,operatingsystem_parameter_envp@l(11); 115 mtlr 0 116 bl main@plt 117 118_haltproc: 119 lis 3,operatingsystem_result@h 120 stw 3,operatingsystem_result@l(3) 121 bl exit@plt 122.Lfe1: 123 .size _start,.Lfe1-_start 124 .section .ident ; .asciz "$NetBSD: crt0.c,v 1.22 2002/05/09 20:32:59 matt Exp $" ; .text 125 .align 2 126 .type _strrchr,@function 127_strrchr: 128 rlwinm 4,4,0,0xff 129 li 10,0 130.L14: 131 lbz 0,0(3) 132 xor 9,0,4 133 neg 9,9 134 srawi 9,9,31 135 andc 11,3,9 136 cmpwi 0,0,0 137 and 9,10,9 138 or 10,9,11 139 addi 3,3,1 140 bc 4,2,.L14 141 mr 3,10 142 blr 143.Lfe2: 144 .size _strrchr,.Lfe2-_strrchr 145 .section ".data" # .rodata 146 .align 2 147.LC6: 148 .string "Corrupt Obj_Entry pointer in GOT\n" 149 .align 2 150.LC8: 151 .string "Dynamic linker version mismatch\n" 152 .section ".got2","aw" 153.LC7 = .-.LCTOC1 154 .long .LC6 155.LC9 = .-.LCTOC1 156 .long .LC8 157 .section ".text" 158 .align 2 159 .globl _rtld_setup 160.LCL1: 161 .long .LCTOC1-.LCF1 162 .type _rtld_setup,@function 163_rtld_setup: 164 stwu 1,-32(1) 165 mflr 0 166 stw 29,20(1) 167 stw 30,24(1) 168 stw 31,28(1) 169 stw 0,36(1) 170 bl .LCF1 171.LCF1: 172 mflr 30 173 lwz 0,(.LCL1-.LCF1)(30) 174 add 30,0,30 175 mr. 31,4 176 mr 29,3 177 bc 12,2,.L22 178 lwz 9,0(31) 179 lis 0,0xd550 180 ori 0,0,47226 181 cmpw 0,9,0 182 bc 12,2,.L21 183.L22: 184 lwz 6,.LC7(30) 185 li 3,0 186 li 4,4 187 li 5,2 188 li 7,33 189 crxor 6,6,6 190 bl __syscall@plt 191 li 3,0 192 li 4,1 193 li 5,1 194 crxor 6,6,6 195 bl __syscall@plt 196.L21: 197 lwz 0,4(31) 198 cmpwi 0,0,1 199 bc 12,2,.L27 200 lwz 6,.LC9(30) 201 li 3,0 202 li 4,4 203 li 5,2 204 li 7,32 205 crxor 6,6,6 206 bl __syscall@plt 207 li 3,0 208 li 4,1 209 li 5,1 210 crxor 6,6,6 211 bl __syscall@plt 212.L27: 213 mr 3,29 214 bl atexit@plt 215 lwz 0,36(1) 216 mtlr 0 217 lwz 29,20(1) 218 lwz 30,24(1) 219 lwz 31,28(1) 220 la 1,32(1) 221 blr 222.Lfe3: 223 .size _rtld_setup,.Lfe3-_rtld_setup 224 .weak dlopen ; dlopen = _dlopen 225 .weak dlclose ; dlclose = _dlclose 226 .weak dlsym ; dlsym = _dlsym 227 .weak dlerror ; dlerror = _dlerror 228 .weak dladdr ; dladdr = _dladdr 229 .section ".got2","aw" 230.LC10 = .-.LCTOC1 231 .long __mainprog_obj 232 .section ".text" 233 .align 2 234 .globl _dlopen 235.LCL2: 236 .long .LCTOC1-.LCF2 237 .type _dlopen,@function 238_dlopen: 239 stwu 1,-16(1) 240 mflr 0 241 stw 30,8(1) 242 stw 31,12(1) 243 stw 0,20(1) 244 bl .LCF2 245.LCF2: 246 mflr 30 247 lwz 0,(.LCL2-.LCF2)(30) 248 add 30,0,30 249 lwz 9,.LC10(30) 250 lwz 9,0(9) 251 cmpwi 0,9,0 252 bc 12,2,.L33 253 lwz 0,140(9) 254 mtlr 0 255 blrl 256 b .L34 257.L33: 258 li 3,0 259.L34: 260 lwz 0,20(1) 261 mtlr 0 262 lwz 30,8(1) 263 lwz 31,12(1) 264 la 1,16(1) 265 blr 266.Lfe4: 267 .size _dlopen,.Lfe4-_dlopen 268 .section ".got2","aw" 269.LC11 = .-.LCTOC1 270 .long __mainprog_obj 271 .section ".text" 272 .align 2 273 .globl _dlclose 274.LCL3: 275 .long .LCTOC1-.LCF3 276 .type _dlclose,@function 277_dlclose: 278 stwu 1,-16(1) 279 mflr 0 280 stw 30,8(1) 281 stw 31,12(1) 282 stw 0,20(1) 283 bl .LCF3 284.LCF3: 285 mflr 30 286 lwz 0,(.LCL3-.LCF3)(30) 287 add 30,0,30 288 lwz 9,.LC11(30) 289 lwz 9,0(9) 290 cmpwi 0,9,0 291 bc 12,2,.L36 292 lwz 0,152(9) 293 mtlr 0 294 blrl 295 b .L37 296.L36: 297 li 3,-1 298.L37: 299 lwz 0,20(1) 300 mtlr 0 301 lwz 30,8(1) 302 lwz 31,12(1) 303 la 1,16(1) 304 blr 305.Lfe5: 306 .size _dlclose,.Lfe5-_dlclose 307 .section ".got2","aw" 308.LC12 = .-.LCTOC1 309 .long __mainprog_obj 310 .section ".text" 311 .align 2 312 .globl _dlsym 313.LCL4: 314 .long .LCTOC1-.LCF4 315 .type _dlsym,@function 316_dlsym: 317 stwu 1,-16(1) 318 mflr 0 319 stw 30,8(1) 320 stw 31,12(1) 321 stw 0,20(1) 322 bl .LCF4 323.LCF4: 324 mflr 30 325 lwz 0,(.LCL4-.LCF4)(30) 326 add 30,0,30 327 lwz 9,.LC12(30) 328 lwz 9,0(9) 329 cmpwi 0,9,0 330 bc 12,2,.L39 331 lwz 0,144(9) 332 mtlr 0 333 blrl 334 b .L40 335.L39: 336 li 3,0 337.L40: 338 lwz 0,20(1) 339 mtlr 0 340 lwz 30,8(1) 341 lwz 31,12(1) 342 la 1,16(1) 343 blr 344.Lfe6: 345 .size _dlsym,.Lfe6-_dlsym 346 .section ".data" # .rodata 347 .align 2 348.LC14: 349 .string "Dynamic linker interface not available" 350 .section ".got2","aw" 351.LC13 = .-.LCTOC1 352 .long __mainprog_obj 353.LC15 = .-.LCTOC1 354 .long .LC14 355 .section ".text" 356 .align 2 357 .globl _dlerror 358.LCL5: 359 .long .LCTOC1-.LCF5 360 .type _dlerror,@function 361_dlerror: 362 stwu 1,-16(1) 363 mflr 0 364 stw 30,8(1) 365 stw 31,12(1) 366 stw 0,20(1) 367 bl .LCF5 368.LCF5: 369 mflr 30 370 lwz 0,(.LCL5-.LCF5)(30) 371 add 30,0,30 372 lwz 9,.LC13(30) 373 lwz 9,0(9) 374 cmpwi 0,9,0 375 bc 12,2,.L42 376 lwz 0,148(9) 377 mtlr 0 378 blrl 379 b .L43 380.L42: 381 lwz 3,.LC15(30) 382.L43: 383 lwz 0,20(1) 384 mtlr 0 385 lwz 30,8(1) 386 lwz 31,12(1) 387 la 1,16(1) 388 blr 389.Lfe7: 390 .size _dlerror,.Lfe7-_dlerror 391 .section ".got2","aw" 392.LC16 = .-.LCTOC1 393 .long __mainprog_obj 394 .section ".text" 395 .align 2 396 .globl _dladdr 397.LCL6: 398 .long .LCTOC1-.LCF6 399 .type _dladdr,@function 400_dladdr: 401 stwu 1,-16(1) 402 mflr 0 403 stw 30,8(1) 404 stw 31,12(1) 405 stw 0,20(1) 406 bl .LCF6 407.LCF6: 408 mflr 30 409 lwz 0,(.LCL6-.LCF6)(30) 410 add 30,0,30 411 lwz 9,.LC16(30) 412 lwz 9,0(9) 413 cmpwi 0,9,0 414 bc 12,2,.L45 415 lwz 0,156(9) 416 mtlr 0 417 blrl 418 b .L46 419.L45: 420 li 3,-1 421.L46: 422 lwz 0,20(1) 423 mtlr 0 424 lwz 30,8(1) 425 lwz 31,12(1) 426 la 1,16(1) 427 blr 428 429.Lfe8: 430 .size _dladdr,.Lfe8-_dladdr 431 .comm environ,4,4 432 .comm __mainprog_obj,4,4 433 .ident "GCC: (GNU) 2.95.3 20010315 (release) (NetBSD nb3)" 434 435 .comm environ,4,4 436 .comm operatingsystem_parameter_envp,4,4 437 .comm operatingsystem_parameter_argc,4,4 438 .comm operatingsystem_parameter_argv,4,4 439 440 .section ".data" 441 .globl __data_start 442__data_start: 443data_start: 444 .globl ___fpc_brk_addr /* heap management */ 445 .type ___fpc_brk_addr,@object 446 .size ___fpc_brk_addr,4 447___fpc_brk_addr: 448 .long 0 449