123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448 |
- .file "crt0.c"
- gcc2_compiled.:
- .globl __progname
- .section ".data" # .rodata
- .align 2
- .LC0:
- .string ""
- .section ".sdata","aw"
- .align 2
- .type __progname,@object
- .size __progname,4
- __progname:
- .LCP0:
- .long (.LC0)@fixup
- .section ".fixup","aw"
- .align 2
- .long .LCP0
- .previous
- .globl __ps_strings
- .align 2
- .type __ps_strings,@object
- .size __ps_strings,4
- __ps_strings:
- .long 0
- .weak _DYNAMIC
- .weak _SDA_BASE_
- .weak _SDA2_BASE_
- .section ".got2","aw"
- .LCTOC1 = .+32768
- .LC1 = .-.LCTOC1
- .long __progname
- .LC2 = .-.LCTOC1
- .long environ
- .LC3 = .-.LCTOC1
- .long __ps_strings
- .LC4 = .-.LCTOC1
- .long _DYNAMIC
- .LC5 = .-.LCTOC1
- .long _fini
- .section ".text"
- .align 2
- .globl _start
- .LCL0:
- .long .LCTOC1-.LCF0
- .type _start,@function
- _start:
- stwu 1,-48(1)
- mflr 0
- stw 24,16(1)
- stw 25,20(1)
- stw 26,24(1)
- stw 27,28(1)
- stw 28,32(1)
- stw 29,36(1)
- stw 30,40(1)
- stw 31,44(1)
- stw 0,52(1)
- bl .LCF0
- .LCF0:
- mflr 30
- lwz 0,(.LCL0-.LCF0)(30)
- add 30,0,30
- mr 27,4
- mr 24,3
- mr 28,5
- mr 25,6
- mr 26,7
- mr 29,8
- lis %r13,_SDA_BASE_@ha;addi %r13,%r13,_SDA_BASE_@l;lis %r2,_SDA2_BASE_@ha;addi %r2,%r2,_SDA2_BASE_@l
- lwz 31,0(27)
- cmpwi 0,31,0
- bc 12,2,.L7
- mr 3,31
- li 4,47
- bl _strrchr@local
- lwz 9,.LC1(30)
- cmpwi 0,3,0
- stw 3,0(9)
- bc 4,2,.L8
- stw 31,0(9)
- b .L12
- .L8:
- addi 0,3,1
- stw 0,0(9)
- .L12:
- .L7:
- lwz 31,.LC2(30)
- cmpwi 0,29,0
- stw 28,0(31)
- bc 12,2,.L10
- lwz 9,.LC3(30)
- stw 29,0(9)
- .L10:
- lwz 0,.LC4(30)
- cmpwi 0,0,0
- bc 12,2,.L11
- mr 3,26
- mr 4,25
- bl _rtld_setup@plt
- .L11:
- lwz 3,.LC5(30)
- bl atexit@plt
- bl _init@plt
- lwz 5,0(31)
- mr 3,24
- mr 4,27
- lis 11,operatingsystem_parameter_argc@ha
- stw 3,operatingsystem_parameter_argc@l(11);
- lis 11,operatingsystem_parameter_argv@ha
- stw 4,operatingsystem_parameter_argv@l(11);
-
- lis 11,operatingsystem_parameter_envp@ha
- stw 5,operatingsystem_parameter_envp@l(11);
- mtlr 0
- bl main@plt
- _haltproc:
- lis 3,operatingsystem_result@h
- stw 3,operatingsystem_result@l(3)
- bl exit@plt
- .Lfe1:
- .size _start,.Lfe1-_start
- .section .ident ; .asciz "$NetBSD: crt0.c,v 1.22 2002/05/09 20:32:59 matt Exp $" ; .text
- .align 2
- .type _strrchr,@function
- _strrchr:
- rlwinm 4,4,0,0xff
- li 10,0
- .L14:
- lbz 0,0(3)
- xor 9,0,4
- neg 9,9
- srawi 9,9,31
- andc 11,3,9
- cmpwi 0,0,0
- and 9,10,9
- or 10,9,11
- addi 3,3,1
- bc 4,2,.L14
- mr 3,10
- blr
- .Lfe2:
- .size _strrchr,.Lfe2-_strrchr
- .section ".data" # .rodata
- .align 2
- .LC6:
- .string "Corrupt Obj_Entry pointer in GOT\n"
- .align 2
- .LC8:
- .string "Dynamic linker version mismatch\n"
- .section ".got2","aw"
- .LC7 = .-.LCTOC1
- .long .LC6
- .LC9 = .-.LCTOC1
- .long .LC8
- .section ".text"
- .align 2
- .globl _rtld_setup
- .LCL1:
- .long .LCTOC1-.LCF1
- .type _rtld_setup,@function
- _rtld_setup:
- stwu 1,-32(1)
- mflr 0
- stw 29,20(1)
- stw 30,24(1)
- stw 31,28(1)
- stw 0,36(1)
- bl .LCF1
- .LCF1:
- mflr 30
- lwz 0,(.LCL1-.LCF1)(30)
- add 30,0,30
- mr. 31,4
- mr 29,3
- bc 12,2,.L22
- lwz 9,0(31)
- lis 0,0xd550
- ori 0,0,47226
- cmpw 0,9,0
- bc 12,2,.L21
- .L22:
- lwz 6,.LC7(30)
- li 3,0
- li 4,4
- li 5,2
- li 7,33
- crxor 6,6,6
- bl __syscall@plt
- li 3,0
- li 4,1
- li 5,1
- crxor 6,6,6
- bl __syscall@plt
- .L21:
- lwz 0,4(31)
- cmpwi 0,0,1
- bc 12,2,.L27
- lwz 6,.LC9(30)
- li 3,0
- li 4,4
- li 5,2
- li 7,32
- crxor 6,6,6
- bl __syscall@plt
- li 3,0
- li 4,1
- li 5,1
- crxor 6,6,6
- bl __syscall@plt
- .L27:
- mr 3,29
- bl atexit@plt
- lwz 0,36(1)
- mtlr 0
- lwz 29,20(1)
- lwz 30,24(1)
- lwz 31,28(1)
- la 1,32(1)
- blr
- .Lfe3:
- .size _rtld_setup,.Lfe3-_rtld_setup
- .weak dlopen ; dlopen = _dlopen
- .weak dlclose ; dlclose = _dlclose
- .weak dlsym ; dlsym = _dlsym
- .weak dlerror ; dlerror = _dlerror
- .weak dladdr ; dladdr = _dladdr
- .section ".got2","aw"
- .LC10 = .-.LCTOC1
- .long __mainprog_obj
- .section ".text"
- .align 2
- .globl _dlopen
- .LCL2:
- .long .LCTOC1-.LCF2
- .type _dlopen,@function
- _dlopen:
- stwu 1,-16(1)
- mflr 0
- stw 30,8(1)
- stw 31,12(1)
- stw 0,20(1)
- bl .LCF2
- .LCF2:
- mflr 30
- lwz 0,(.LCL2-.LCF2)(30)
- add 30,0,30
- lwz 9,.LC10(30)
- lwz 9,0(9)
- cmpwi 0,9,0
- bc 12,2,.L33
- lwz 0,140(9)
- mtlr 0
- blrl
- b .L34
- .L33:
- li 3,0
- .L34:
- lwz 0,20(1)
- mtlr 0
- lwz 30,8(1)
- lwz 31,12(1)
- la 1,16(1)
- blr
- .Lfe4:
- .size _dlopen,.Lfe4-_dlopen
- .section ".got2","aw"
- .LC11 = .-.LCTOC1
- .long __mainprog_obj
- .section ".text"
- .align 2
- .globl _dlclose
- .LCL3:
- .long .LCTOC1-.LCF3
- .type _dlclose,@function
- _dlclose:
- stwu 1,-16(1)
- mflr 0
- stw 30,8(1)
- stw 31,12(1)
- stw 0,20(1)
- bl .LCF3
- .LCF3:
- mflr 30
- lwz 0,(.LCL3-.LCF3)(30)
- add 30,0,30
- lwz 9,.LC11(30)
- lwz 9,0(9)
- cmpwi 0,9,0
- bc 12,2,.L36
- lwz 0,152(9)
- mtlr 0
- blrl
- b .L37
- .L36:
- li 3,-1
- .L37:
- lwz 0,20(1)
- mtlr 0
- lwz 30,8(1)
- lwz 31,12(1)
- la 1,16(1)
- blr
- .Lfe5:
- .size _dlclose,.Lfe5-_dlclose
- .section ".got2","aw"
- .LC12 = .-.LCTOC1
- .long __mainprog_obj
- .section ".text"
- .align 2
- .globl _dlsym
- .LCL4:
- .long .LCTOC1-.LCF4
- .type _dlsym,@function
- _dlsym:
- stwu 1,-16(1)
- mflr 0
- stw 30,8(1)
- stw 31,12(1)
- stw 0,20(1)
- bl .LCF4
- .LCF4:
- mflr 30
- lwz 0,(.LCL4-.LCF4)(30)
- add 30,0,30
- lwz 9,.LC12(30)
- lwz 9,0(9)
- cmpwi 0,9,0
- bc 12,2,.L39
- lwz 0,144(9)
- mtlr 0
- blrl
- b .L40
- .L39:
- li 3,0
- .L40:
- lwz 0,20(1)
- mtlr 0
- lwz 30,8(1)
- lwz 31,12(1)
- la 1,16(1)
- blr
- .Lfe6:
- .size _dlsym,.Lfe6-_dlsym
- .section ".data" # .rodata
- .align 2
- .LC14:
- .string "Dynamic linker interface not available"
- .section ".got2","aw"
- .LC13 = .-.LCTOC1
- .long __mainprog_obj
- .LC15 = .-.LCTOC1
- .long .LC14
- .section ".text"
- .align 2
- .globl _dlerror
- .LCL5:
- .long .LCTOC1-.LCF5
- .type _dlerror,@function
- _dlerror:
- stwu 1,-16(1)
- mflr 0
- stw 30,8(1)
- stw 31,12(1)
- stw 0,20(1)
- bl .LCF5
- .LCF5:
- mflr 30
- lwz 0,(.LCL5-.LCF5)(30)
- add 30,0,30
- lwz 9,.LC13(30)
- lwz 9,0(9)
- cmpwi 0,9,0
- bc 12,2,.L42
- lwz 0,148(9)
- mtlr 0
- blrl
- b .L43
- .L42:
- lwz 3,.LC15(30)
- .L43:
- lwz 0,20(1)
- mtlr 0
- lwz 30,8(1)
- lwz 31,12(1)
- la 1,16(1)
- blr
- .Lfe7:
- .size _dlerror,.Lfe7-_dlerror
- .section ".got2","aw"
- .LC16 = .-.LCTOC1
- .long __mainprog_obj
- .section ".text"
- .align 2
- .globl _dladdr
- .LCL6:
- .long .LCTOC1-.LCF6
- .type _dladdr,@function
- _dladdr:
- stwu 1,-16(1)
- mflr 0
- stw 30,8(1)
- stw 31,12(1)
- stw 0,20(1)
- bl .LCF6
- .LCF6:
- mflr 30
- lwz 0,(.LCL6-.LCF6)(30)
- add 30,0,30
- lwz 9,.LC16(30)
- lwz 9,0(9)
- cmpwi 0,9,0
- bc 12,2,.L45
- lwz 0,156(9)
- mtlr 0
- blrl
- b .L46
- .L45:
- li 3,-1
- .L46:
- lwz 0,20(1)
- mtlr 0
- lwz 30,8(1)
- lwz 31,12(1)
- la 1,16(1)
- blr
- .Lfe8:
- .size _dladdr,.Lfe8-_dladdr
- .comm environ,4,4
- .comm __mainprog_obj,4,4
- .ident "GCC: (GNU) 2.95.3 20010315 (release) (NetBSD nb3)"
- .comm environ,4,4
- .comm operatingsystem_parameter_envp,4,4
- .comm operatingsystem_parameter_argc,4,4
- .comm operatingsystem_parameter_argv,4,4
- .section ".data"
- .globl __data_start
- __data_start:
- data_start:
- .globl ___fpc_brk_addr /* heap management */
- .type ___fpc_brk_addr,@object
- .size ___fpc_brk_addr,4
- ___fpc_brk_addr:
- .long 0
|