	.file	"crt0.c"
gcc2_compiled.:
.data
	.align 32
	.type	 rcsid , @object
	.size	rcsid , 58
rcsid:
	.string	"$OpenBSD: crt0.c,v 1.11 2003/06/27 22:30:38 deraadt Exp $"
.globl __progname
.section	.rodata
.LC0:
	.string	""
.data
	.align 4
	.type	 __progname , @object
	.size	__progname , 4
__progname:
	.long .LC0
        .align  4
___fpucw:
        .long   0x1332

        .globl  ___fpc_brk_addr         /* heap management */
        .type   ___fpc_brk_addr,@object
        .size   ___fpc_brk_addr,4
___fpc_brk_addr:
        .long   0

#APP
	
	.text
	.align  4
	.globl  __start
	.globl  _start
_start:
__start:
	pushl	%ebx			#ps_strings
	pushl   %ecx                    # obj
	pushl   %edx                    # cleanup
	movl    12(%esp),%eax
	leal    20(%esp,%eax,4),%ecx
	leal    16(%esp),%edx
	pushl   %ecx
	pushl   %edx
	pushl   %eax
	call    ___start

#NO_APP
.text
	.align 4
.globl ___start
	.type	___start , @function
___start:
	pushl %ebp
	movl %esp,%ebp
	subl $16,%esp
	pushl %esi
	pushl %ebx
	movl 12(%ebp),%esi
	movl 16(%ebp),%eax
	movl %eax,environ
	movl %eax,U_SYSTEM_ENVP
	movl (%esi),%ebx
	testl %ebx,%ebx
	je .L3
	addl $-8,%esp
	pushl $47
	pushl %ebx
	call _strrchr
	movl %eax,__progname
	addl $16,%esp
	testl %eax,%eax
	jne .L4
	movl %ebx,__progname
	jmp .L5
	.p2align 4,,7
.L4:
	incl %eax
	movl %eax,__progname
.L5:
	movl $__progname_storage,%edx
	jmp .L12
	.p2align 4,,7
.L9:
	movb (%eax),%al
	movb %al,(%edx)
	incl __progname
	incl %edx
.L12:
	movl __progname,%eax
	cmpb $0,(%eax)
	je .L7
	cmpl $__progname_storage+255,%edx
	jb .L9
.L7:
	movb $0,(%edx)
	movl $__progname_storage,__progname
.L3:
	call __init
	subl $16,%esp
	pushl %eax
	movl 8(%ebp),%eax
	movl %eax,U_SYSTEM_ARGC
	movl %esi,U_SYSTEM_ARGV
	popl %eax
#	pushl environ
#	pushl %esi
#	pushl 8(%ebp)
	finit
	fwait
	fldcw __fpucw
	xorl  %ebp,%ebp
	call main
	pushl %eax
	call exit
        .p2align 2,0x90

.globl _haltproc
.type _haltproc,@function

_haltproc:
           mov $1,%eax 
           movzwl U_SYSTEM_EXITCODE,%ebx
           pushl %ebx
           call .Lactualsyscall
           addl  $4,%esp
           jmp   _haltproc

.Lactualsyscall:
         int $0x80
         jb .LErrorcode
         xor %ebx,%ebx
         ret
.LErrorcode:
         mov %eax,%ebx
         mov $-1,%eax
         ret
        .p2align 2,0x90
.Lfe1:

	.size	___start , . - ___start
	.align 4
	.type	_strrchr , @function
_strrchr:
	pushl %ebp
	movl %esp,%ebp
	pushl %ebx
	movl 8(%ebp),%eax
	movb 12(%ebp),%bl
	xorl %ecx,%ecx
	.p2align 4,,7
.L14:
	movb (%eax),%dl
	cmpb %bl,%dl
	jne .L17
	movl %eax,%ecx
.L17:
	testb %dl,%dl
	je .L16
	incl %eax
	jmp .L14
	.p2align 4,,7
.L16:
	movl %ecx,%eax
	popl %ebx
	leave
	ret
	.size	_strrchr , . - _strrchr
	.comm	environ,4,4
	.comm	__progname_storage,256,32
