.file "cdinit3.c" .version "01.01" gcc2_compiled.: .section ".data" .align 4 .type init_list,#object init_list: .long .LLC0 .long .LLC1 .long .LLC2 .long .LLC3 .long 0 .section ".rodata" .align 8 .LLC3: .asciz "/bin/sh" .align 8 .LLC2: .asciz "/bin/init" .align 8 .LLC1: .asciz "/etc/init" .align 8 .LLC0: .asciz "/sbin/init" .size init_list,20 .section ".data" .align 4 .type dirlink_list,#object dirlink_list: .long .LLC4 .long .LLC5 .long 0 .section ".rodata" .align 8 .LLC5: .asciz "usr" .align 8 .LLC4: .asciz "opt" .size dirlink_list,12 .section ".data" .align 8 .type cdrom_path,#object .size cdrom_path,19 cdrom_path: .asciz "/cdrom/sparc32/xxx" .align 4 .type ldconfig_command,#object ldconfig_command: .long .LLC6 .long 0 .section ".rodata" .align 8 .LLC6: .asciz "/sbin/ldconfig" .size ldconfig_command,8 .section ".data" .align 4 .type environment,#object environment: .long .LLC7 .long .LLC8 .long .LLC9 .long 0 .section ".rodata" .align 8 .LLC9: .asciz "TERM=linux" .align 8 .LLC8: .asciz "HOME=/" .align 8 .LLC7: .asciz "PATH=/sbin:/bin:/usr/sbin:/usr/bin" .size environment,16 .section ".text" .align 4 .type string_copy,#function .proc 016 string_copy: !#PROLOGUE# 0 !#PROLOGUE# 1 ldsb [%o1], %g2 b .LL122 mov %o0, %g3 .LL120: stb %o2, [%g3] add %o1, 1, %o1 ldsb [%o1], %g2 add %g3, 1, %g3 .LL122: cmp %g2, 0 bne .LL120 ldub [%o1], %o2 sub %g3, %o0, %o0 retl stb %g0, [%g3] .LLfe1: .size string_copy,.LLfe1-string_copy .align 4 .type string_length,#function .proc 016 string_length: !#PROLOGUE# 0 !#PROLOGUE# 1 mov %o0, %g3 ldsb [%g3], %g2 cmp %g2, 0 be .LL125 nop add %o0, 1, %o0 .LL128: ldsb [%o0], %g2 cmp %g2, 0 bne,a .LL128 add %o0, 1, %o0 .LL125: retl sub %o0, %g3, %o0 .LLfe2: .size string_length,.LLfe2-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 .LL131 sub %g0, %i0, %o1 sethi %hi(errno), %o0 st %o1, [%o0+%lo(errno)] mov -1, %i0 .LL131: ret restore .LLfe3: .size write_string,.LLfe3-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 .LL136: cmp %l0, %l1 bleu .LL134 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 .LL136 add %l0, -1, %l0 .LL134: 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 .LL139 sub %g0, %i0, %o1 sethi %hi(errno), %o0 st %o1, [%o0+%lo(errno)] mov -1, %i0 .LL139: ret restore .LLfe4: .size write_dec_ulong,.LLfe4-write_dec_ulong .section ".rodata" .align 8 .LLC10: .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 .LL144 mov %i0, %o0 sethi %hi(.LLC10), %o1 or %o1, %lo(.LLC10), %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 .LL143 sub %g0, %o2, %o1 sethi %hi(errno), %o0 st %o1, [%o0+%lo(errno)] .LL143: sub %g0, %i1, %i1 mov %i0, %o0 .LL144: call write_dec_ulong, 0 mov %i1, %o1 ret restore %g0, %o0, %o0 .LLfe5: .size write_dec_slong,.LLfe5-write_dec_slong .section ".rodata" .align 8 .LLC11: .asciz "umount" .align 8 .LLC12: .asciz "/cdrom" .align 8 .LLC13: .asciz "/dev/bootcd" .align 8 .LLC14: .asciz "iso9660" .align 8 .LLC15: .asciz "bind" .align 8 .LLC16: .asciz "none" .align 8 .LLC17: .asciz "find init program" .section ".text" .align 4 .type main1,#function .proc 04 main1: !#PROLOGUE# 0 save %sp, -168, %sp !#PROLOGUE# 1 sethi %hi(.LLC11), %o4 sethi %hi(trace), %o2 sethi %hi(.LLC12), %o5 or %o4, %lo(.LLC11), %o1 or %o5, %lo(.LLC12), %o0 or %o2, %lo(trace), %o3 st %o1, [%o2+%lo(trace)] st %o0, [%o3+4] mov 159, %g1 t 0x10 bcc 1f mov %o0, %o1 sub %g0, %o0, %o1 1: add %o1, 255, %o0 mov %o2, %l6 mov %o4, %i4 cmp %o0, 254 bleu .LL147 mov %o5, %i3 b .LL148 mov %o1, %o0 .LL147: sethi %hi(errno), %o0 sub %g0, %o1, %o1 st %o1, [%o0+%lo(errno)] mov -1, %o0 .LL148: cmp %o0, 0 bne .LL172 mov 2, %i0 sethi %hi(.LLC11+1), %o0 or %o0, %lo(.LLC11+1), %o0 sethi %hi(.LLC13), %o5 sethi %hi(.LLC14), %o2 or %l6, %lo(trace), %o4 st %o0, [%l6+%lo(trace)] or %o5, %lo(.LLC13), %o5 or %i3, %lo(.LLC12), %g2 or %o2, %lo(.LLC14), %o2 sethi %hi(-1058209792), %o3 st %o2, [%o4+12] st %o5, [%o4+4] st %g2, [%o4+8] mov %o5, %o0 mov %g2, %o1 or %o3, 1, %o3 mov 167, %g1 mov 0, %o4 t 0x10 bcc 1f mov %o0, %o2 sub %g0, %o0, %o2 1: add %o2, 255, %o1 cmp %o1, 254 bgu .LL151 mov %o2, %o1 sub %g0, %o2, %o1 sethi %hi(errno), %o0 st %o1, [%o0+%lo(errno)] mov -1, %o1 .LL151: cmp %o1, 0 be .LL149 sethi %hi(dirlink_list), %o0 .LL175: b .LL172 mov 4, %i0 .LL149: ld [%o0+%lo(dirlink_list)], %o1 cmp %o1, 0 be .LL153 or %o0, %lo(dirlink_list), %i0 sethi %hi(cdrom_path+15), %o0 or %o0, %lo(cdrom_path+15), %l1 sethi %hi(trace), %l5 sethi %hi(.LLC15), %o0 sethi %hi(.LLC11+1), %o1 add %l1, -15, %l4 add %l1, -1, %l3 or %o0, %lo(.LLC15), %i2 or %o1, %lo(.LLC11+1), %i1 or %l5, %lo(trace), %l0 sethi %hi(errno), %l2 sethi %hi(.LLC16), %l7 ld [%i0], %o1 .LL177: call string_copy, 0 mov %l1, %o0 mov 38, %g1 add %l1, -15, %o0 add %fp, -72, %o1 t 0x10 bcc 1f mov %o0, %o2 sub %g0, %o0, %o2 1: add %o2, 255, %o1 cmp %o1, 254 bgu .LL158 mov %o2, %o0 sub %g0, %o2, %o0 st %o0, [%l2+%lo(errno)] mov -1, %o0 .LL158: cmp %o0, 0 bne,a .LL176 add %i0, 4, %i0 st %i1, [%l5+%lo(trace)] st %l4, [%l0+4] st %l3, [%l0+8] st %i2, [%l0+12] mov 167, %g1 mov %l4, %o0 mov %l3, %o1 or %l7, %lo(.LLC16), %o2 sethi %hi(-1058205696), %o3 mov 0, %o4 t 0x10 bcc 1f mov %o0, %o2 sub %g0, %o0, %o2 1: add %o2, 255, %o1 cmp %o1, 254 bgu .LL161 mov %o2, %o0 sub %g0, %o2, %o0 st %o0, [%l2+%lo(errno)] mov -1, %o0 .LL161: cmp %o0, 0 bne .LL175 add %i0, 4, %i0 .LL176: ld [%i0], %o0 cmp %o0, 0 bne,a .LL177 ld [%i0], %o1 .LL153: or %i4, %lo(.LLC11), %o1 or %i3, %lo(.LLC12), %o0 or %l6, %lo(trace), %o2 st %o1, [%l6+%lo(trace)] st %o0, [%o2+4] mov 159, %g1 t 0x10 bcc 1f mov %o0, %o2 sub %g0, %o0, %o2 1: add %o2, 255, %o1 cmp %o1, 254 bgu .LL165 mov %o2, %o1 sub %g0, %o2, %o1 sethi %hi(errno), %o0 st %o1, [%o0+%lo(errno)] mov -1, %o1 .LL165: cmp %o1, 0 bne .LL172 mov 2, %i0 sethi %hi(init_list), %o0 ld [%o0+%lo(init_list)], %o1 cmp %o1, 0 be .LL167 or %o0, %lo(init_list), %i0 sethi %hi(ldconfig_command), %o3 sethi %hi(environment), %o0 or %o0, %lo(environment), %g2 or %o3, %lo(ldconfig_command), %o5 sethi %hi(errno), %o4 ld [%i0], %o1 .LL178: mov 59, %g1 mov %o1, %o0 st %o1, [%o3+%lo(ldconfig_command)] mov %o5, %o1 mov %g2, %o2 t 0x10 bcc 1f mov %o0, %o2 sub %g0, %o0, %o2 1: add %o2, 255, %o1 cmp %o1, 254 bgu .LL170 sub %g0, %o2, %o0 st %o0, [%o4+%lo(errno)] .LL170: add %i0, 4, %i0 ld [%i0], %o0 cmp %o0, 0 bne,a .LL178 ld [%i0], %o1 .LL167: sethi %hi(.LLC17), %o0 or %o0, %lo(.LLC17), %o0 st %o0, [%l6+%lo(trace)] mov 1, %i0 .LL172: ret restore .LLfe6: .size main1,.LLfe6-main1 .section ".rodata" .align 8 .LLC18: .asciz "Error " .align 8 .LLC19: .asciz " doing:" .align 8 .LLC20: .asciz " " .align 8 .LLC21: .asciz "\n" .align 8 .LLC22: .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 mov %o0, %l5 call main1, 0 st %g0, [%o0+%lo(errno)] orcc %o0, 0, %l1 be .LL180 sethi %hi(.LLC22), %l4 sethi %hi(.LLC18), %o1 or %o1, %lo(.LLC18), %o1 call write_string, 0 mov 1, %o0 ld [%l5+%lo(errno)], %o1 call write_dec_slong, 0 mov 1, %o0 sethi %hi(.LLC19), %o1 or %o1, %lo(.LLC19), %o1 call write_string, 0 mov 1, %o0 mov 0, %l0 cmp %l0, %l1 bge .LL191 sethi %hi(.LLC21), %o1 sethi %hi(trace), %o0 or %o0, %lo(trace), %l3 sethi %hi(.LLC20), %l2 or %l2, %lo(.LLC20), %o1 .LL192: 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 .LL192 or %l2, %lo(.LLC20), %o1 sethi %hi(.LLC21), %o1 .LL191: or %o1, %lo(.LLC21), %o1 call write_string, 0 mov 1, %o0 .LL180: or %l4, %lo(.LLC22), %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 .LL190 sub %g0, %o2, %o0 st %o0, [%l5+%lo(errno)] .LL190: b .LL190 nop .LLfe7: .size _start,.LLfe7-_start .common errno,4,4 .local trace .common trace,16,4 .ident "GCC: (GNU) 2.95.3 20010315 (release)"