.file "cdinit1.c" .version "01.01" gcc2_compiled.: .section ".rodata" .align 2 .type cdrom_devices,#object cdrom_devices: .half 768 .half 832 .half 5632 .half 5696 .half 2816 .half 2817 .half 0 .size cdrom_devices,14 .section ".data" .align 4 .type rootdir_list,#object rootdir_list: .long .LLC0 .long .LLC1 .long .LLC2 .long .LLC3 .long .LLC4 .long .LLC5 .long .LLC6 .long .LLC7 .long .LLC8 .long .LLC9 .long .LLC10 .long .LLC11 .long .LLC12 .long .LLC13 .long .LLC14 .long 0 .section ".rodata" .align 8 .LLC14: .asciz "var" .align 8 .LLC13: .asciz "usr" .align 8 .LLC12: .asciz "tmp" .align 8 .LLC11: .asciz "sbin" .align 8 .LLC10: .asciz "root" .align 8 .LLC9: .asciz "proc" .align 8 .LLC8: .asciz "opt" .align 8 .LLC7: .asciz "mnt" .align 8 .LLC6: .asciz "lib" .align 8 .LLC5: .asciz "home" .align 8 .LLC4: .asciz "etc" .align 8 .LLC3: .asciz "dev" .align 8 .LLC2: .asciz "cdrom" .align 8 .LLC1: .asciz "boot" .align 8 .LLC0: .asciz "bin" .size rootdir_list,64 .align 4 .type cdinit2_command,#object cdinit2_command: .long .LLC15 .long 0 .align 8 .LLC15: .asciz "/tmpfs/cdrom/sparc32/boot/cdinit2" .size cdinit2_command,8 .section ".data" .align 4 .type environment,#object environment: .long 0 .size environment,4 .section ".text" .align 4 .type string_length,#function .proc 016 string_length: !#PROLOGUE# 0 !#PROLOGUE# 1 mov %o0, %g3 ldsb [%g3], %g2 cmp %g2, 0 be .LL119 nop add %o0, 1, %o0 .LL122: ldsb [%o0], %g2 cmp %g2, 0 bne,a .LL122 add %o0, 1, %o0 .LL119: retl sub %o0, %g3, %o0 .LLfe1: .size string_length,.LLfe1-string_length .align 4 .type write_string,#function .proc 04 write_string: !#PROLOGUE# 0 save %sp, -104, %sp !#PROLOGUE# 1 call string_length, 0 mov %i1, %o0 mov %o0, %o2 mov %i0, %o0 mov %i1, %o1 mov 4, %g1 t 0x10 bcc 1f mov %o0, %i0 sub %g0, %o0, %i0 1: add %i0, 255, %o1 cmp %o1, 254 bgu .LL125 sub %g0, %i0, %o1 sethi %hi(errno), %o0 st %o1, [%o0+%lo(errno)] mov -1, %i0 .LL125: ret restore .LLfe2: .size write_string,.LLfe2-write_string .global .urem .global .udiv .align 4 .type write_dec_ulong,#function .proc 04 write_dec_ulong: !#PROLOGUE# 0 save %sp, -120, %sp !#PROLOGUE# 1 add %fp, -13, %l0 add %fp, -24, %l1 .LL130: cmp %l0, %l1 bleu .LL128 mov %i1, %o0 call .urem, 0 mov 10, %o1 add %o0, 48, %o1 stb %o1, [%l0] mov %i1, %o0 call .udiv, 0 mov 10, %o1 orcc %o0, 0, %i1 bne,a .LL130 add %l0, -1, %l0 .LL128: add %l0, -12, %o2 sub %l1, %o2, %o2 mov %i0, %o0 mov %l0, %o1 mov 4, %g1 t 0x10 bcc 1f mov %o0, %i0 sub %g0, %o0, %i0 1: add %i0, 255, %o1 cmp %o1, 254 bgu .LL133 sub %g0, %i0, %o1 sethi %hi(errno), %o0 st %o1, [%o0+%lo(errno)] mov -1, %i0 .LL133: ret restore .LLfe3: .size write_dec_ulong,.LLfe3-write_dec_ulong .section ".rodata" .align 8 .LLC16: .asciz "-" .section ".text" .align 4 .type write_dec_slong,#function .proc 04 write_dec_slong: !#PROLOGUE# 0 save %sp, -104, %sp !#PROLOGUE# 1 cmp %i1, 0 bge .LL138 mov %i0, %o0 sethi %hi(.LLC16), %o1 or %o1, %lo(.LLC16), %o1 mov 4, %g1 mov 1, %o2 t 0x10 bcc 1f mov %o0, %o2 sub %g0, %o0, %o2 1: add %o2, 255, %o1 cmp %o1, 254 bgu .LL137 sub %g0, %o2, %o1 sethi %hi(errno), %o0 st %o1, [%o0+%lo(errno)] .LL137: sub %g0, %i1, %i1 mov %i0, %o0 .LL138: call write_dec_ulong, 0 mov %i1, %o1 ret restore %g0, %o0, %o0 .LLfe4: .size write_dec_slong,.LLfe4-write_dec_slong .section ".rodata" .align 8 .LLC17: .asciz "mkdir" .align 8 .LLC18: .asciz "/tmpfs" .align 8 .LLC19: .asciz "/mnt" .align 8 .LLC20: .asciz "umount" .align 8 .LLC21: .asciz "chdir" .align 8 .LLC22: .asciz "/" .align 8 .LLC23: .asciz "mknod" .align 8 .LLC24: .asciz "/tmpfs/dev/bootcd" .align 8 .LLC25: .asciz "/tmpfs/cdrom" .align 8 .LLC26: .asciz "iso9660" .align 8 .LLC27: .asciz "execve" .align 8 .LLC28: .asciz "unlink" .align 8 .LLC29: .asciz "find CDROM and cdinit2" .section ".text" .align 4 .type main1,#function .proc 04 main1: !#PROLOGUE# 0 save %sp, -104, %sp !#PROLOGUE# 1 sethi %hi(.LLC17), %i1 sethi %hi(trace), %g3 sethi %hi(.LLC18), %i2 or %i1, %lo(.LLC17), %g2 or %i2, %lo(.LLC18), %o0 or %g3, %lo(trace), %i0 st %g2, [%g3+%lo(trace)] st %o0, [%i0+4] mov 136, %g1 mov 493, %o1 t 0x10 bcc 1f mov %o0, %i0 sub %g0, %o0, %i0 1: add %i0, 255, %g2 cmp %g2, 254 bleu .LL141 mov %g3, %i5 b .LL142 mov %i0, %g2 .LL141: sethi %hi(errno), %g2 sub %g0, %i0, %g3 st %g3, [%g2+%lo(errno)] mov -1, %g2 .LL142: cmp %g2, 0 bne .LL182 mov 2, %i0 sethi %hi(.LLC19), %o0 or %i1, %lo(.LLC17), %g2 or %o0, %lo(.LLC19), %o0 or %i5, %lo(trace), %g3 st %g2, [%i5+%lo(trace)] st %o0, [%g3+4] mov 136, %g1 mov 493, %o1 t 0x10 bcc 1f mov %o0, %g3 sub %g0, %o0, %g3 1: add %g3, 255, %g2 cmp %g2, 254 bgu .LL145 mov %g3, %g2 sethi %hi(errno), %g2 sub %g0, %g3, %g3 st %g3, [%g2+%lo(errno)] mov -1, %g2 .LL145: cmp %g2, 0 bne .LL182 mov 2, %i0 sethi %hi(.LLC18+1), %g3 sethi %hi(.LLC20+1), %g2 or %g3, %lo(.LLC18+1), %g3 or %g2, %lo(.LLC20+1), %g2 or %i5, %lo(trace), %i0 st %g2, [%i5+%lo(trace)] add %g3, -1, %i1 mov %g3, %o0 st %g3, [%i0+12] mov %i1, %o1 st %g3, [%i0+4] st %i1, [%i0+8] mov 167, %g1 mov %o0, %o2 sethi %hi(-1058209792), %o3 mov 0, %o4 t 0x10 bcc 1f mov %o0, %g3 sub %g0, %o0, %g3 1: add %g3, 255, %g2 cmp %g2, 254 bgu .LL148 mov %g3, %g2 sethi %hi(errno), %g2 sub %g0, %g3, %g3 st %g3, [%g2+%lo(errno)] mov -1, %g2 .LL148: cmp %g2, 0 bne .LL182 mov 4, %i0 sethi %hi(.LLC21), %i0 or %i0, %lo(.LLC21), %g2 or %i2, %lo(.LLC18), %o0 or %i5, %lo(trace), %g3 st %g2, [%i5+%lo(trace)] st %o0, [%g3+4] mov 12, %g1 t 0x10 bcc 1f mov %o0, %g3 sub %g0, %o0, %g3 1: add %g3, 255, %g2 cmp %g2, 254 bgu .LL151 mov %g3, %g2 sethi %hi(errno), %g2 sub %g0, %g3, %g3 st %g3, [%g2+%lo(errno)] mov -1, %g2 .LL151: cmp %g2, 0 bne,a .LL182 mov 2, %i0 sethi %hi(rootdir_list), %g2 ld [%g2+%lo(rootdir_list)], %g3 cmp %g3, 0 be .LL153 or %g2, %lo(rootdir_list), %i1 sethi %hi(trace), %i2 sethi %hi(.LLC17), %g2 or %g2, %lo(.LLC17), %o7 or %i2, %lo(trace), %i4 sethi %hi(errno), %i3 ld [%i1], %g2 mov 136, %g1 .LL188: st %o7, [%i2+%lo(trace)] mov %g2, %o0 st %g2, [%i4+4] mov 493, %o1 t 0x10 bcc 1f mov %o0, %g3 sub %g0, %o0, %g3 1: add %g3, 255, %g2 cmp %g2, 254 bgu .LL158 mov %g3, %g2 sub %g0, %g3, %g2 st %g2, [%i3+%lo(errno)] mov -1, %g2 .LL158: cmp %g2, 0 bne .LL186 add %i1, 4, %i1 ld [%i1], %g2 cmp %g2, 0 bne .LL188 mov 136, %g1 .LL153: sethi %hi(.LLC22), %o0 or %i0, %lo(.LLC21), %g2 or %o0, %lo(.LLC22), %o0 or %i5, %lo(trace), %g3 st %g2, [%i5+%lo(trace)] st %o0, [%g3+4] mov 12, %g1 t 0x10 bcc 1f mov %o0, %g3 sub %g0, %o0, %g3 1: add %g3, 255, %g2 cmp %g2, 254 bgu .LL162 mov %g3, %g2 sethi %hi(errno), %g2 sub %g0, %g3, %g3 st %g3, [%g2+%lo(errno)] mov -1, %g2 .LL162: cmp %g2, 0 be .LL160 sethi %hi(cdrom_devices), %g2 .LL186: b .LL182 mov 2, %i0 .LL160: lduh [%g2+%lo(cdrom_devices)], %g3 cmp %g3, 0 be .LL164 or %g2, %lo(cdrom_devices), %g4 sethi %hi(cdinit2_command), %g2 ld [%g2+%lo(cdinit2_command)], %i3 sethi %hi(.LLC24), %g3 sethi %hi(.LLC23), %g2 or %g3, %lo(.LLC24), %o7 sethi %hi(.LLC25), %g3 or %g2, %lo(.LLC23), %l7 sethi %hi(24576), %g2 or %g3, %lo(.LLC25), %i4 sethi %hi(-1058209792), %g3 or %g2, 493, %l6 sethi %hi(.LLC26), %g2 or %g3, 1, %l4 sethi %hi(environment), %g3 or %g2, %lo(.LLC26), %l5 sethi %hi(.LLC27), %g2 or %g3, %lo(environment), %l2 sethi %hi(.LLC28), %g3 or %g2, %lo(.LLC27), %l3 sethi %hi(trace), %o5 sethi %hi(.LLC20), %g2 or %g3, %lo(.LLC28), %l0 or %g2, %lo(.LLC20), %l1 or %o5, %lo(trace), %g3 sethi %hi(errno), %i2 st %l7, [%o5+%lo(trace)] .LL190: st %o7, [%g3+4] mov 14, %g1 mov %o7, %o0 mov %l6, %o1 lduh [%g4], %o2 t 0x10 bcc 1f mov %o0, %i0 sub %g0, %o0, %i0 1: add %i0, 255, %g2 cmp %g2, 254 bgu .LL169 mov %i0, %g2 sub %g0, %i0, %g2 st %g2, [%i2+%lo(errno)] mov -1, %g2 .LL169: cmp %g2, 0 bne .LL186 mov 167, %g1 mov %o7, %o0 mov %i4, %o1 mov %l5, %o2 mov %l4, %o3 mov 0, %o4 t 0x10 bcc 1f mov %o0, %i0 sub %g0, %o0, %i0 1: add %i0, 255, %g2 cmp %g2, 254 bgu .LL172 mov %i0, %g2 sub %g0, %i0, %g2 st %g2, [%i2+%lo(errno)] mov -1, %g2 .LL172: cmp %g2, 0 bne,a .LL189 st %l0, [%o5+%lo(trace)] sethi %hi(cdinit2_command), %g2 or %o5, %lo(trace), %i1 st %l3, [%o5+%lo(trace)] or %g2, %lo(cdinit2_command), %g2 st %i3, [%i1+4] mov 59, %g1 mov %i3, %o0 mov %g2, %o1 mov %l2, %o2 t 0x10 bcc 1f mov %o0, %i0 sub %g0, %o0, %i0 1: add %i0, 255, %g2 cmp %g2, 254 bgu .LL174 sub %g0, %i0, %g2 st %g2, [%i2+%lo(errno)] .LL174: st %i4, [%i1+4] st %l1, [%i5+%lo(trace)] mov 159, %g1 mov %i4, %o0 t 0x10 bcc 1f mov %o0, %i0 sub %g0, %o0, %i0 1: add %i0, 255, %g2 cmp %g2, 254 bgu .LL177 mov %i0, %g2 sub %g0, %i0, %g2 st %g2, [%i2+%lo(errno)] mov -1, %g2 .LL177: cmp %g2, 0 bne .LL182 mov 2, %i0 st %l0, [%o5+%lo(trace)] .LL189: st %o7, [%g3+4] mov 10, %g1 mov %o7, %o0 t 0x10 bcc 1f mov %o0, %i0 sub %g0, %o0, %i0 1: add %i0, 255, %g2 cmp %g2, 254 bgu .LL180 mov %i0, %g2 sub %g0, %i0, %g2 st %g2, [%i2+%lo(errno)] mov -1, %g2 .LL180: cmp %g2, 0 bne .LL186 add %g4, 2, %g4 lduh [%g4], %g2 cmp %g2, 0 bne,a .LL190 st %l7, [%o5+%lo(trace)] .LL164: sethi %hi(.LLC29), %g2 or %g2, %lo(.LLC29), %g2 st %g2, [%i5+%lo(trace)] mov 1, %i0 .LL182: ret restore .LLfe5: .size main1,.LLfe5-main1 .section ".rodata" .align 8 .LLC30: .asciz "\rcdinit v0.8.0, Copyright (C) 2001, Philip Howard, All rights reserved, See GPL\n" .align 8 .LLC31: .asciz "Error " .align 8 .LLC32: .asciz " doing:" .align 8 .LLC33: .asciz " " .align 8 .LLC34: .asciz "\n" .align 8 .LLC35: .asciz "halting ... \n\n\n\n\n\n" .section ".text" .align 4 .global _start .type _start,#function .proc 020 _start: !#PROLOGUE# 0 save %sp, -104, %sp !#PROLOGUE# 1 sethi %hi(errno), %o0 st %g0, [%o0+%lo(errno)] mov %o0, %l5 sethi %hi(.LLC30), %o1 or %o1, %lo(.LLC30), %o1 call write_string, 0 mov 1, %o0 call main1, 0 sethi %hi(.LLC35), %l4 orcc %o0, 0, %l1 be .LL192 sethi %hi(.LLC31), %o1 or %o1, %lo(.LLC31), %o1 call write_string, 0 mov 1, %o0 ld [%l5+%lo(errno)], %o1 call write_dec_slong, 0 mov 1, %o0 sethi %hi(.LLC32), %o1 or %o1, %lo(.LLC32), %o1 call write_string, 0 mov 1, %o0 mov 0, %l0 cmp %l0, %l1 bge .LL203 sethi %hi(.LLC34), %o1 sethi %hi(trace), %o0 or %o0, %lo(trace), %l3 sethi %hi(.LLC33), %l2 or %l2, %lo(.LLC33), %o1 .LL204: call write_string, 0 mov 1, %o0 sll %l0, 2, %o2 ld [%l3+%o2], %o1 call write_string, 0 mov 1, %o0 add %l0, 1, %l0 cmp %l0, %l1 bl .LL204 or %l2, %lo(.LLC33), %o1 sethi %hi(.LLC34), %o1 .LL203: or %o1, %lo(.LLC34), %o1 call write_string, 0 mov 1, %o0 .LL192: or %l4, %lo(.LLC35), %o1 call write_string, 0 mov 1, %o0 sethi %hi(-18752512), %o0 sethi %hi(672274432), %o1 sethi %hi(-839974912), %o2 or %o0, 685, %o0 or %o1, 361, %o1 or %o2, 291, %o2 mov 55, %g1 mov 0, %o3 t 0x10 bcc 1f mov %o0, %o2 sub %g0, %o0, %o2 1: add %o2, 255, %o1 cmp %o1, 254 bgu .LL202 sub %g0, %o2, %o0 st %o0, [%l5+%lo(errno)] .LL202: b .LL202 nop .LLfe6: .size _start,.LLfe6-_start .common errno,4,4 .local trace .common trace,16,4 .ident "GCC: (GNU) 2.95.3 20010315 (release)"