	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_start_command                  ## -- Begin function start_command
	.p2align	4, 0x90
_start_command:                         ## @start_command
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$88, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r12
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	cmpq	$0, (%rdi)
	je	LBB0_4
## %bb.1:
	cmpq	$0, 48(%r12)
	je	LBB0_5
LBB0_2:
	cmpq	$0, 96(%r12)
	jne	LBB0_7
	jmp	LBB0_6
LBB0_4:
	movq	112(%r12), %rax
	movq	%rax, (%r12)
	cmpq	$0, 48(%r12)
	jne	LBB0_2
LBB0_5:
	movq	104(%r12), %rax
	movq	%rax, 48(%r12)
	cmpq	$0, 96(%r12)
	jne	LBB0_7
LBB0_6:
	cmpl	$0, 8(%r12)
	js	LBB0_9
LBB0_7:
	xorl	%ebx, %ebx
	cmpq	$0, 80(%r12)
	jne	LBB0_14
LBB0_11:
	cmpq	$0, 72(%r12)
	jne	LBB0_14
## %bb.13:
	cmpl	$0, 12(%r12)
	jns	LBB0_14
## %bb.17:
	leaq	-64(%rbp), %rdi
	callq	_pipe
	testq	%rax, %rax
	js	LBB0_113
## %bb.18:
	movl	-64(%rbp), %eax
	movl	%eax, 12(%r12)
	movb	$1, %r14b
	cmpq	$0, 88(%r12)
	jne	LBB0_15
	jmp	LBB0_19
LBB0_9:
	leaq	-56(%rbp), %rdi
	callq	_pipe
	testq	%rax, %rax
	js	LBB0_16
## %bb.10:
	movl	-52(%rbp), %eax
	movl	%eax, 8(%r12)
	movb	$1, %bl
	cmpq	$0, 80(%r12)
	je	LBB0_11
LBB0_14:
	xorl	%r14d, %r14d
	cmpq	$0, 88(%r12)
	jne	LBB0_15
LBB0_19:
	cmpl	$0, 16(%r12)
	js	LBB0_21
LBB0_15:
	xorl	%r15d, %r15d
LBB0_23:
	movq	%r12, %rdi
	callq	_trace2_child_start
	movq	%r12, %rdi
	callq	_trace_run_command
	xorl	%edi, %edi
	callq	_fflush
	movq	_ARGV_ARRAY_INIT@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -96(%rbp)
	leaq	-96(%rbp), %rdi
	movq	%r12, %rsi
	callq	_prepare_cmd
	testq	%rax, %rax
	js	LBB0_35
## %bb.24:
	leaq	-80(%rbp), %rdi
	callq	_pipe
	testq	%rax, %rax
	je	LBB0_26
## %bb.25:
	movq	$-1, -80(%rbp)
LBB0_26:
	cmpq	$0, 96(%r12)
	jne	LBB0_29
## %bb.27:
	cmpq	$0, 80(%r12)
	jne	LBB0_29
## %bb.28:
	cmpq	$0, 88(%r12)
	je	LBB0_105
LBB0_29:
	movq	_O_RDWR@GOTPCREL(%rip), %rax
	movq	_O_CLOEXEC@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	orl	(%rax), %esi
	leaq	L_.str.5(%rip), %rdi
	callq	_open
	testl	%eax, %eax
	jns	LBB0_31
## %bb.30:
	movl	%r14d, %r13d
	movl	%ebx, %r14d
	movl	%eax, %ebx
	leaq	L_.str.6(%rip), %rdi
	callq	__
	movl	%eax, %edi
	callq	_die_errno
	movl	%ebx, %eax
	movl	%r14d, %ebx
	movl	%r13d, %r14d
LBB0_31:
	movl	%eax, -84(%rbp)                 ## 4-byte Spill
	movl	%eax, %edi
	callq	_set_cloexec
LBB0_32:
	movq	48(%r12), %rdi
	callq	_prep_childenv
	movq	%rax, -104(%rbp)                ## 8-byte Spill
	leaq	-88(%rbp), %rdi
	callq	_atfork_prepare
	xorl	%eax, %eax
	callq	_fork
	movl	%eax, 20(%r12)
	movq	_errno@GOTPCREL(%rip), %rcx
	movl	(%rcx), %r13d
	testl	%eax, %eax
	jne	LBB0_84
## %bb.33:
	movq	_child_die_fn@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_set_die_routine
	movq	_child_error_fn@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_set_error_routine
	movq	_child_warn_fn@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_set_warn_routine
	movl	-80(%rbp), %edi
	callq	_close
	movl	-76(%rbp), %edi
	callq	_set_cloexec
	movl	-76(%rbp), %eax
	movq	_child_notifier@GOTPCREL(%rip), %rcx
	movl	%eax, (%rcx)
	cmpq	$0, 96(%r12)
	je	LBB0_50
## %bb.34:
	movl	-84(%rbp), %edi                 ## 4-byte Reload
	xorl	%esi, %esi
	callq	_child_dup2
	jmp	LBB0_56
LBB0_35:
	movq	_errno@GOTPCREL(%rip), %rax
	movl	(%rax), %r13d
	movl	$-1, 20(%r12)
	cmpq	$0, 32(%r12)
	je	LBB0_36
## %bb.37:
	cmpl	$0, 20(%r12)
	js	LBB0_93
LBB0_38:
	testb	%bl, %bl
	je	LBB0_40
## %bb.39:
	movl	-56(%rbp), %edi
	jmp	LBB0_41
LBB0_40:
	movl	8(%r12), %edi
	testl	%edi, %edi
	je	LBB0_42
LBB0_41:
	callq	_close
LBB0_42:
	testb	%r14b, %r14b
	je	LBB0_44
## %bb.43:
	movl	-60(%rbp), %edi
	jmp	LBB0_45
LBB0_44:
	movl	12(%r12), %edi
	testl	%edi, %edi
	je	LBB0_46
LBB0_45:
	callq	_close
LBB0_46:
	testb	%r15b, %r15b
	je	LBB0_48
## %bb.47:
	movl	-68(%rbp), %edi
	callq	_close
	xorl	%ebx, %ebx
	jmp	LBB0_122
LBB0_48:
	movl	16(%r12), %edi
	xorl	%ebx, %ebx
	testl	%edi, %edi
	je	LBB0_122
## %bb.49:
	callq	_close
	jmp	LBB0_122
LBB0_21:
	leaq	-72(%rbp), %rdi
	callq	_pipe
	testq	%rax, %rax
	js	LBB0_52
## %bb.22:
	movl	-72(%rbp), %eax
	movl	%eax, 16(%r12)
	movb	$1, %r15b
	jmp	LBB0_23
LBB0_36:
	movq	(%r12), %rax
	movq	(%rax), %rsi
	leaq	L_.str.4(%rip), %rdi
	callq	_error_errno
	cmpl	$0, 20(%r12)
	jns	LBB0_38
	jmp	LBB0_93
LBB0_50:
	testb	%bl, %bl
	je	LBB0_54
## %bb.51:
	movl	-56(%rbp), %edi
	xorl	%esi, %esi
	callq	_child_dup2
	leaq	-56(%rbp), %rdi
	callq	_child_close_pair
	jmp	LBB0_56
LBB0_16:
	movq	_errno@GOTPCREL(%rip), %rax
	movl	(%rax), %r13d
	movl	12(%r12), %edi
	leaq	L_.str(%rip), %r15
	testl	%edi, %edi
	jg	LBB0_119
	jmp	LBB0_120
LBB0_52:
	movq	_errno@GOTPCREL(%rip), %rax
	movl	(%rax), %r13d
	testb	%bl, %bl
	je	LBB0_108
## %bb.53:
	leaq	-56(%rbp), %rdi
	callq	_close_pair
	jmp	LBB0_110
LBB0_54:
	movl	8(%r12), %edi
	testl	%edi, %edi
	je	LBB0_56
## %bb.55:
	xorl	%esi, %esi
	callq	_child_dup2
	movl	8(%r12), %edi
	callq	_child_close
LBB0_56:
	cmpq	$0, 88(%r12)
	je	LBB0_58
## %bb.57:
	movl	-84(%rbp), %edi                 ## 4-byte Reload
	movl	$2, %esi
	callq	_child_dup2
	jmp	LBB0_62
LBB0_58:
	testb	%r15b, %r15b
	je	LBB0_60
## %bb.59:
	movl	-68(%rbp), %edi
	movl	$2, %esi
	callq	_child_dup2
	leaq	-72(%rbp), %rdi
	callq	_child_close_pair
	jmp	LBB0_62
LBB0_60:
	movl	16(%r12), %edi
	cmpl	$2, %edi
	jl	LBB0_62
## %bb.61:
	movl	$2, %esi
	callq	_child_dup2
	movl	16(%r12), %edi
	callq	_child_close
LBB0_62:
	cmpq	$0, 80(%r12)
	je	LBB0_64
## %bb.63:
	movl	-84(%rbp), %edi                 ## 4-byte Reload
	jmp	LBB0_66
LBB0_64:
	cmpq	$0, 72(%r12)
	je	LBB0_106
## %bb.65:
	movl	$2, %edi
LBB0_66:
	movl	$1, %esi
	callq	_child_dup2
LBB0_67:
	movl	%r13d, -116(%rbp)               ## 4-byte Spill
	movl	%ebx, -120(%rbp)                ## 4-byte Spill
	movl	%r15d, -124(%rbp)               ## 4-byte Spill
	movl	%r14d, -128(%rbp)               ## 4-byte Spill
	movq	40(%r12), %rdi
	testq	%rdi, %rdi
	je	LBB0_70
## %bb.68:
	callq	_chdir
	testq	%rax, %rax
	je	LBB0_70
## %bb.69:
	movq	_CHILD_ERR_CHDIR@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_child_die
LBB0_70:
	movq	_NSIG@GOTPCREL(%rip), %r13
	cmpl	$2, (%r13)
	jl	LBB0_75
## %bb.71:
	movl	$1, %ebx
	movq	_SIG_DFL@GOTPCREL(%rip), %r15
	movq	_SIG_IGN@GOTPCREL(%rip), %r14
	jmp	LBB0_73
	.p2align	4, 0x90
LBB0_72:                                ##   in Loop: Header=BB0_73 Depth=1
	incl	%ebx
	cmpl	(%r13), %ebx
	jge	LBB0_75
LBB0_73:                                ## =>This Inner Loop Header: Depth=1
	movq	(%r15), %rsi
	movl	%ebx, %edi
	callq	_signal
	cmpq	(%r14), %rax
	jne	LBB0_72
## %bb.74:                              ##   in Loop: Header=BB0_73 Depth=1
	movl	%ebx, %edi
	movq	%rax, %rsi
	callq	_signal
	jmp	LBB0_72
LBB0_75:
	movq	_SIG_SETMASK@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-88(%rbp), %rsi
	xorl	%edx, %edx
	callq	_sigprocmask
	testq	%rax, %rax
	je	LBB0_77
## %bb.76:
	movq	_CHILD_ERR_SIGPROCMASK@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_child_die
LBB0_77:
	movq	-96(%rbp), %rsi
	movl	4(%rsi), %edi
	addq	$8, %rsi
	movq	-104(%rbp), %rdx                ## 8-byte Reload
	callq	_execve
	movq	_errno@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	_ENOEXEC@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	movl	-120(%rbp), %r14d               ## 4-byte Reload
	movl	-116(%rbp), %r13d               ## 4-byte Reload
	jne	LBB0_79
## %bb.78:
	movq	-96(%rbp), %rsi
	movl	(%rsi), %edi
	movq	-104(%rbp), %rdx                ## 8-byte Reload
	callq	_execve
	movq	_errno@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
LBB0_79:
	movq	_ENOENT@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	movl	-124(%rbp), %r15d               ## 4-byte Reload
	jne	LBB0_82
## %bb.80:
	movq	_CHILD_ERR_ENOENT@GOTPCREL(%rip), %rbx
	cmpq	$0, 32(%r12)
	je	LBB0_83
## %bb.81:
	movq	_CHILD_ERR_SILENT@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_child_die
	jmp	LBB0_83
LBB0_82:
	movq	_CHILD_ERR_ERRNO@GOTPCREL(%rip), %rbx
LBB0_83:
	movl	(%rbx), %edi
	callq	_child_die
	movl	-128(%rbp), %eax                ## 4-byte Reload
	movl	%r14d, %ebx
	movl	%eax, %r14d
LBB0_84:
	leaq	-88(%rbp), %rdi
	callq	_atfork_parent
	movl	20(%r12), %edi
	testl	%edi, %edi
	js	LBB0_87
## %bb.85:
	cmpq	$0, 24(%r12)
	je	LBB0_88
## %bb.86:
	movq	%r12, %rsi
	callq	_mark_child_for_cleanup
	jmp	LBB0_88
LBB0_87:
	movq	(%r12), %rax
	movq	(%rax), %rsi
	leaq	L_.str.7(%rip), %rdi
	callq	_error_errno
LBB0_88:
	movl	-76(%rbp), %edi
	callq	_close
	movl	-80(%rbp), %edi
	leaq	-112(%rbp), %rsi
	movl	$4, %edx
	callq	_xread
	cmpl	$4, %eax
	jne	LBB0_90
## %bb.89:
	movl	20(%r12), %edi
	movq	(%r12), %rax
	movq	(%rax), %rsi
	xorl	%edx, %edx
	callq	_wait_or_whine
	leaq	-112(%rbp), %rsi
	movq	%r12, %rdi
	callq	_child_err_spew
	movq	_errno@GOTPCREL(%rip), %rax
	movl	(%rax), %r13d
	movl	$-1, 20(%r12)
LBB0_90:
	movl	-80(%rbp), %edi
	callq	_close
	movl	-84(%rbp), %edi                 ## 4-byte Reload
	testl	%edi, %edi
	js	LBB0_92
## %bb.91:
	callq	_close
LBB0_92:
	leaq	-96(%rbp), %rdi
	callq	_argv_array_clear
	movq	-104(%rbp), %rdi                ## 8-byte Reload
	callq	_free
	cmpl	$0, 20(%r12)
	jns	LBB0_38
LBB0_93:
	movq	%r12, %rdi
	movl	$-1, %esi
	callq	_trace2_child_exit
	testb	%bl, %bl
	je	LBB0_95
## %bb.94:
	leaq	-56(%rbp), %rdi
	callq	_close_pair
	jmp	LBB0_97
LBB0_95:
	movl	8(%r12), %edi
	testl	%edi, %edi
	je	LBB0_97
## %bb.96:
	callq	_close
LBB0_97:
	testb	%r14b, %r14b
	je	LBB0_99
## %bb.98:
	leaq	-64(%rbp), %rdi
	callq	_close_pair
	jmp	LBB0_101
LBB0_99:
	movl	12(%r12), %edi
	testl	%edi, %edi
	je	LBB0_101
## %bb.100:
	callq	_close
LBB0_101:
	testb	%r15b, %r15b
	je	LBB0_103
## %bb.102:
	leaq	-72(%rbp), %rdi
	callq	_close_pair
	jmp	LBB0_121
LBB0_103:
	movl	16(%r12), %edi
	testl	%edi, %edi
	je	LBB0_121
## %bb.104:
	callq	_close
	jmp	LBB0_121
LBB0_105:
	movl	$-1, -84(%rbp)                  ## 4-byte Folded Spill
	jmp	LBB0_32
LBB0_106:
	testb	%r14b, %r14b
	je	LBB0_115
## %bb.107:
	movl	-60(%rbp), %edi
	movl	$1, %esi
	callq	_child_dup2
	leaq	-64(%rbp), %rdi
	callq	_child_close_pair
	jmp	LBB0_67
LBB0_108:
	movl	8(%r12), %edi
	testl	%edi, %edi
	je	LBB0_110
## %bb.109:
	callq	_close
LBB0_110:
	testb	%r14b, %r14b
	je	LBB0_112
## %bb.111:
	leaq	-64(%rbp), %rdi
	callq	_close_pair
	leaq	L_.str.2(%rip), %r15
	jmp	LBB0_120
LBB0_112:
	movl	12(%r12), %edi
	leaq	L_.str.2(%rip), %r15
	jmp	LBB0_118
LBB0_113:
	movq	_errno@GOTPCREL(%rip), %rax
	movl	(%rax), %r13d
	testb	%bl, %bl
	je	LBB0_117
## %bb.114:
	leaq	-56(%rbp), %rdi
	callq	_close_pair
	leaq	L_.str.1(%rip), %r15
	jmp	LBB0_120
LBB0_115:
	movl	12(%r12), %edi
	cmpl	$2, %edi
	jl	LBB0_67
## %bb.116:
	movl	$1, %esi
	callq	_child_dup2
	movl	12(%r12), %edi
	callq	_child_close
	jmp	LBB0_67
LBB0_117:
	movl	8(%r12), %edi
	leaq	L_.str.1(%rip), %r15
LBB0_118:
	testl	%edi, %edi
	je	LBB0_120
LBB0_119:
	callq	_close
LBB0_120:
	movq	(%r12), %rax
	movq	(%rax), %rbx
	movl	%r13d, %edi
	callq	_strerror
	leaq	L_.str.3(%rip), %rdi
	movq	%r15, %rsi
	movq	%rbx, %rdx
	movl	%eax, %ecx
	callq	_error
LBB0_121:
	movq	%r12, %rdi
	callq	_child_process_clear
	movq	_errno@GOTPCREL(%rip), %rax
	movl	%r13d, (%rax)
	movl	$-1, %ebx
LBB0_122:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_124
## %bb.123:
	movl	%ebx, %eax
	addq	$88, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_124:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.comm	_errno,4,2                      ## @errno
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"standard input"

L_.str.1:                               ## @.str.1
	.asciz	"standard output"

L_.str.2:                               ## @.str.2
	.asciz	"standard error"

L_.str.3:                               ## @.str.3
	.asciz	"cannot create %s pipe for %s: %s"

	.comm	_ARGV_ARRAY_INIT,8,3            ## @ARGV_ARRAY_INIT
L_.str.4:                               ## @.str.4
	.asciz	"cannot run %s"

L_.str.5:                               ## @.str.5
	.asciz	"/dev/null"

	.comm	_O_RDWR,4,2                     ## @O_RDWR
	.comm	_O_CLOEXEC,4,2                  ## @O_CLOEXEC
L_.str.6:                               ## @.str.6
	.asciz	"open /dev/null failed"

	.comm	_child_die_fn,4,2               ## @child_die_fn
	.comm	_child_error_fn,4,2             ## @child_error_fn
	.comm	_child_warn_fn,4,2              ## @child_warn_fn
	.comm	_child_notifier,4,2             ## @child_notifier
	.comm	_CHILD_ERR_CHDIR,4,2            ## @CHILD_ERR_CHDIR
	.comm	_NSIG,4,2                       ## @NSIG
	.comm	_SIG_DFL,8,3                    ## @SIG_DFL
	.comm	_SIG_IGN,8,3                    ## @SIG_IGN
	.comm	_SIG_SETMASK,4,2                ## @SIG_SETMASK
	.comm	_CHILD_ERR_SIGPROCMASK,4,2      ## @CHILD_ERR_SIGPROCMASK
	.comm	_ENOEXEC,4,2                    ## @ENOEXEC
	.comm	_ENOENT,4,2                     ## @ENOENT
	.comm	_CHILD_ERR_SILENT,4,2           ## @CHILD_ERR_SILENT
	.comm	_CHILD_ERR_ENOENT,4,2           ## @CHILD_ERR_ENOENT
	.comm	_CHILD_ERR_ERRNO,4,2            ## @CHILD_ERR_ERRNO
L_.str.7:                               ## @.str.7
	.asciz	"cannot fork() for %s"

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_start_command                  ; -- Begin function start_command
	.p2align	2
_start_command:                         ; @start_command
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #176
	.cfi_def_cfa_offset 176
	stp	x28, x27, [sp, #80]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #96]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #112]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #128]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #144]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #160]            ; 16-byte Folded Spill
	add	x29, sp, #160
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	mov	x19, x0
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	str	x8, [sp, #72]
	ldr	x8, [x0]
	cbz	x8, LBB0_3
; %bb.1:
	ldr	x8, [x19, #48]
	cbz	x8, LBB0_4
LBB0_2:
	ldr	x8, [x19, #96]
	cbnz	x8, LBB0_6
	b	LBB0_5
LBB0_3:
	ldr	x8, [x19, #112]
	str	x8, [x19]
	ldr	x8, [x19, #48]
	cbnz	x8, LBB0_2
LBB0_4:
	ldr	x8, [x19, #104]
	str	x8, [x19, #48]
	ldr	x8, [x19, #96]
	cbnz	x8, LBB0_6
LBB0_5:
	ldr	w8, [x19, #8]
	tbnz	w8, #31, LBB0_11
LBB0_6:
	mov	w25, #0
	ldr	x8, [x19, #80]
	cbnz	x8, LBB0_13
LBB0_7:
	ldr	x8, [x19, #72]
	cbnz	x8, LBB0_13
; %bb.8:
	ldr	w8, [x19, #12]
	tbz	w8, #31, LBB0_13
; %bb.9:
	add	x0, sp, #56
	bl	_pipe
	tbnz	x0, #63, LBB0_115
; %bb.10:
	ldr	w8, [sp, #56]
	str	w8, [x19, #12]
	mov	w23, #1
	ldr	x8, [x19, #88]
	cbnz	x8, LBB0_15
	b	LBB0_14
LBB0_11:
	add	x0, sp, #64
	bl	_pipe
	tbnz	x0, #63, LBB0_47
; %bb.12:
	ldr	w8, [sp, #68]
	str	w8, [x19, #8]
	mov	w25, #1
	ldr	x8, [x19, #80]
	cbz	x8, LBB0_7
LBB0_13:
	mov	w23, #0
	ldr	x8, [x19, #88]
	cbnz	x8, LBB0_15
LBB0_14:
	ldr	w8, [x19, #16]
	tbnz	w8, #31, LBB0_42
LBB0_15:
	mov	w22, #0
LBB0_16:
	mov	x0, x19
	bl	_trace2_child_start
	mov	x0, x19
	bl	_trace_run_command
	mov	x0, #0
	bl	_fflush
Lloh3:
	adrp	x8, _ARGV_ARRAY_INIT@GOTPAGE
Lloh4:
	ldr	x8, [x8, _ARGV_ARRAY_INIT@GOTPAGEOFF]
Lloh5:
	ldr	x8, [x8]
	str	x8, [sp, #32]
	add	x0, sp, #32
	mov	x1, x19
	bl	_prepare_cmd
Lloh6:
	adrp	x24, _errno@GOTPAGE
Lloh7:
	ldr	x24, [x24, _errno@GOTPAGEOFF]
	tbnz	x0, #63, LBB0_28
; %bb.17:
	add	x0, sp, #40
	bl	_pipe
	cbz	x0, LBB0_19
; %bb.18:
	movi.2d	v0, #0xffffffffffffffff
	str	d0, [sp, #40]
LBB0_19:
	ldr	x8, [x19, #96]
	cbnz	x8, LBB0_22
; %bb.20:
	ldr	x8, [x19, #80]
	cbnz	x8, LBB0_22
; %bb.21:
	ldr	x8, [x19, #88]
	cbz	x8, LBB0_105
LBB0_22:
Lloh8:
	adrp	x8, _O_RDWR@GOTPAGE
Lloh9:
	ldr	x8, [x8, _O_RDWR@GOTPAGEOFF]
Lloh10:
	ldr	w8, [x8]
Lloh11:
	adrp	x9, _O_CLOEXEC@GOTPAGE
Lloh12:
	ldr	x9, [x9, _O_CLOEXEC@GOTPAGEOFF]
Lloh13:
	ldr	w9, [x9]
	orr	w1, w9, w8
Lloh14:
	adrp	x0, l_.str.5@PAGE
Lloh15:
	add	x0, x0, l_.str.5@PAGEOFF
	bl	_open
	mov	x20, x0
	tbz	w0, #31, LBB0_24
; %bb.23:
Lloh16:
	adrp	x0, l_.str.6@PAGE
Lloh17:
	add	x0, x0, l_.str.6@PAGEOFF
	bl	__
	bl	_die_errno
LBB0_24:
	mov	x0, x20
	bl	_set_cloexec
LBB0_25:
	ldr	x0, [x19, #48]
	bl	_prep_childenv
	mov	x21, x0
	add	x0, sp, #16
	bl	_atfork_prepare
	bl	_fork
	str	w0, [x19, #20]
	ldr	w27, [x24]
	cbnz	w0, LBB0_83
; %bb.26:
Lloh18:
	adrp	x8, _child_die_fn@GOTPAGE
Lloh19:
	ldr	x8, [x8, _child_die_fn@GOTPAGEOFF]
Lloh20:
	ldr	w0, [x8]
	bl	_set_die_routine
Lloh21:
	adrp	x8, _child_error_fn@GOTPAGE
Lloh22:
	ldr	x8, [x8, _child_error_fn@GOTPAGEOFF]
Lloh23:
	ldr	w0, [x8]
	bl	_set_error_routine
Lloh24:
	adrp	x8, _child_warn_fn@GOTPAGE
Lloh25:
	ldr	x8, [x8, _child_warn_fn@GOTPAGEOFF]
Lloh26:
	ldr	w0, [x8]
	bl	_set_warn_routine
	ldr	w0, [sp, #40]
	bl	_close
	ldr	w0, [sp, #44]
	bl	_set_cloexec
	ldr	w8, [sp, #44]
Lloh27:
	adrp	x9, _child_notifier@GOTPAGE
Lloh28:
	ldr	x9, [x9, _child_notifier@GOTPAGEOFF]
Lloh29:
	str	w8, [x9]
	ldr	x8, [x19, #96]
	cbz	x8, LBB0_45
; %bb.27:
	mov	x0, x20
	mov	w1, #0
	bl	_child_dup2
	b	LBB0_54
LBB0_28:
	ldr	w27, [x24]
	mov	w8, #-1
	str	w8, [x19, #20]
	ldr	x8, [x19, #32]
	cbz	x8, LBB0_44
; %bb.29:
	ldr	w8, [x19, #20]
	tbnz	w8, #31, LBB0_92
LBB0_30:
	cbz	w25, LBB0_32
; %bb.31:
	ldr	w0, [sp, #64]
	b	LBB0_33
LBB0_32:
	ldr	w0, [x19, #8]
	cbz	w0, LBB0_34
LBB0_33:
	bl	_close
LBB0_34:
	cbz	w23, LBB0_36
; %bb.35:
	ldr	w0, [sp, #60]
	b	LBB0_37
LBB0_36:
	ldr	w0, [x19, #12]
	cbz	w0, LBB0_38
LBB0_37:
	bl	_close
LBB0_38:
	cbz	w22, LBB0_40
; %bb.39:
	ldr	w0, [sp, #52]
	b	LBB0_41
LBB0_40:
	ldr	w0, [x19, #16]
	cbz	w0, LBB0_124
LBB0_41:
	bl	_close
	mov	w0, #0
	b	LBB0_124
LBB0_42:
	add	x0, sp, #48
	bl	_pipe
	tbnz	x0, #63, LBB0_50
; %bb.43:
	ldr	w8, [sp, #48]
	str	w8, [x19, #16]
	mov	w22, #1
	b	LBB0_16
LBB0_44:
	ldr	x8, [x19]
	ldr	x1, [x8]
Lloh30:
	adrp	x0, l_.str.4@PAGE
Lloh31:
	add	x0, x0, l_.str.4@PAGEOFF
	bl	_error_errno
	ldr	w8, [x19, #20]
	tbz	w8, #31, LBB0_30
	b	LBB0_92
LBB0_45:
	cbz	w25, LBB0_52
; %bb.46:
	ldr	w0, [sp, #64]
	mov	w1, #0
	bl	_child_dup2
	add	x0, sp, #64
	bl	_child_close_pair
	b	LBB0_54
LBB0_47:
Lloh32:
	adrp	x8, _errno@GOTPAGE
Lloh33:
	ldr	x8, [x8, _errno@GOTPAGEOFF]
Lloh34:
	ldr	w20, [x8]
	ldr	w0, [x19, #12]
	cmp	w0, #1
	b.lt	LBB0_49
; %bb.48:
	bl	_close
LBB0_49:
Lloh35:
	adrp	x21, l_.str@PAGE
Lloh36:
	add	x21, x21, l_.str@PAGEOFF
	b	LBB0_122
LBB0_50:
Lloh37:
	adrp	x8, _errno@GOTPAGE
Lloh38:
	ldr	x8, [x8, _errno@GOTPAGEOFF]
Lloh39:
	ldr	w20, [x8]
	cbz	w25, LBB0_108
; %bb.51:
	add	x0, sp, #64
	bl	_close_pair
	b	LBB0_110
LBB0_52:
	ldr	w0, [x19, #8]
	cbz	w0, LBB0_54
; %bb.53:
	mov	w1, #0
	bl	_child_dup2
	ldr	w0, [x19, #8]
	bl	_child_close
LBB0_54:
	ldr	x8, [x19, #88]
	cbz	x8, LBB0_56
; %bb.55:
	mov	x0, x20
	mov	w1, #2
	bl	_child_dup2
	b	LBB0_60
LBB0_56:
	cbz	w22, LBB0_58
; %bb.57:
	ldr	w0, [sp, #52]
	mov	w1, #2
	bl	_child_dup2
	add	x0, sp, #48
	bl	_child_close_pair
	b	LBB0_60
LBB0_58:
	ldr	w0, [x19, #16]
	cmp	w0, #2
	b.lt	LBB0_60
; %bb.59:
	mov	w1, #2
	bl	_child_dup2
	ldr	w0, [x19, #16]
	bl	_child_close
LBB0_60:
	ldr	x8, [x19, #80]
	str	w23, [sp, #12]                  ; 4-byte Folded Spill
	cbz	x8, LBB0_62
; %bb.61:
	mov	x0, x20
	b	LBB0_64
LBB0_62:
	ldr	x8, [x19, #72]
	cbz	x8, LBB0_106
; %bb.63:
	mov	w0, #2
LBB0_64:
	mov	w1, #1
	bl	_child_dup2
LBB0_65:
	mov	x23, x22
	ldr	x0, [x19, #40]
	cbz	x0, LBB0_68
; %bb.66:
	bl	_chdir
	cbz	x0, LBB0_68
; %bb.67:
Lloh40:
	adrp	x8, _CHILD_ERR_CHDIR@GOTPAGE
Lloh41:
	ldr	x8, [x8, _CHILD_ERR_CHDIR@GOTPAGEOFF]
Lloh42:
	ldr	w0, [x8]
	bl	_child_die
LBB0_68:
Lloh43:
	adrp	x28, _NSIG@GOTPAGE
Lloh44:
	ldr	x28, [x28, _NSIG@GOTPAGEOFF]
	ldr	w8, [x28]
	cmp	w8, #2
	b.lt	LBB0_73
; %bb.69:
	mov	w22, #1
Lloh45:
	adrp	x26, _SIG_DFL@GOTPAGE
Lloh46:
	ldr	x26, [x26, _SIG_DFL@GOTPAGEOFF]
Lloh47:
	adrp	x24, _SIG_IGN@GOTPAGE
Lloh48:
	ldr	x24, [x24, _SIG_IGN@GOTPAGEOFF]
	b	LBB0_71
LBB0_70:                                ;   in Loop: Header=BB0_71 Depth=1
	add	w22, w22, #1
	ldr	w8, [x28]
	cmp	w22, w8
	b.ge	LBB0_73
LBB0_71:                                ; =>This Inner Loop Header: Depth=1
	ldr	x1, [x26]
	mov	x0, x22
	bl	_signal
	ldr	x8, [x24]
	cmp	x0, x8
	b.ne	LBB0_70
; %bb.72:                               ;   in Loop: Header=BB0_71 Depth=1
	mov	x1, x0
	mov	x0, x22
	bl	_signal
	b	LBB0_70
LBB0_73:
Lloh49:
	adrp	x8, _SIG_SETMASK@GOTPAGE
Lloh50:
	ldr	x8, [x8, _SIG_SETMASK@GOTPAGEOFF]
Lloh51:
	ldr	w0, [x8]
	add	x1, sp, #16
	mov	x2, #0
	bl	_sigprocmask
	cbz	x0, LBB0_75
; %bb.74:
Lloh52:
	adrp	x8, _CHILD_ERR_SIGPROCMASK@GOTPAGE
Lloh53:
	ldr	x8, [x8, _CHILD_ERR_SIGPROCMASK@GOTPAGEOFF]
Lloh54:
	ldr	w0, [x8]
	bl	_child_die
LBB0_75:
	ldr	x8, [sp, #32]
	ldr	w0, [x8, #4]
	add	x1, x8, #8
	mov	x2, x21
	bl	_execve
Lloh55:
	adrp	x24, _errno@GOTPAGE
Lloh56:
	ldr	x24, [x24, _errno@GOTPAGEOFF]
	ldr	w8, [x24]
Lloh57:
	adrp	x9, _ENOEXEC@GOTPAGE
Lloh58:
	ldr	x9, [x9, _ENOEXEC@GOTPAGEOFF]
Lloh59:
	ldr	w9, [x9]
	cmp	w8, w9
	b.ne	LBB0_77
; %bb.76:
	ldr	x1, [sp, #32]
	ldr	w0, [x1]
	mov	x2, x21
	bl	_execve
	ldr	w8, [x24]
LBB0_77:
Lloh60:
	adrp	x9, _ENOENT@GOTPAGE
Lloh61:
	ldr	x9, [x9, _ENOENT@GOTPAGEOFF]
Lloh62:
	ldr	w9, [x9]
	cmp	w8, w9
	mov	x22, x23
	b.ne	LBB0_81
; %bb.78:
	ldr	x8, [x19, #32]
	ldr	w23, [sp, #12]                  ; 4-byte Folded Reload
	cbz	x8, LBB0_80
; %bb.79:
Lloh63:
	adrp	x8, _CHILD_ERR_SILENT@GOTPAGE
Lloh64:
	ldr	x8, [x8, _CHILD_ERR_SILENT@GOTPAGEOFF]
Lloh65:
	ldr	w0, [x8]
	bl	_child_die
LBB0_80:
Lloh66:
	adrp	x8, _CHILD_ERR_ENOENT@GOTPAGE
Lloh67:
	ldr	x8, [x8, _CHILD_ERR_ENOENT@GOTPAGEOFF]
	b	LBB0_82
LBB0_81:
Lloh68:
	adrp	x8, _CHILD_ERR_ERRNO@GOTPAGE
Lloh69:
	ldr	x8, [x8, _CHILD_ERR_ERRNO@GOTPAGEOFF]
	ldr	w23, [sp, #12]                  ; 4-byte Folded Reload
LBB0_82:
	ldr	w0, [x8]
	bl	_child_die
LBB0_83:
	add	x0, sp, #16
	bl	_atfork_parent
	ldr	w0, [x19, #20]
	tbnz	w0, #31, LBB0_86
; %bb.84:
	ldr	x8, [x19, #24]
	cbz	x8, LBB0_87
; %bb.85:
	mov	x1, x19
	bl	_mark_child_for_cleanup
	b	LBB0_87
LBB0_86:
	ldr	x8, [x19]
	ldr	x1, [x8]
Lloh70:
	adrp	x0, l_.str.7@PAGE
Lloh71:
	add	x0, x0, l_.str.7@PAGEOFF
	bl	_error_errno
LBB0_87:
	ldr	w0, [sp, #44]
	bl	_close
	ldr	w0, [sp, #40]
	add	x1, sp, #24
	mov	w2, #4
	bl	_xread
	cmp	w0, #4
	b.ne	LBB0_89
; %bb.88:
	ldr	w0, [x19, #20]
	ldr	x8, [x19]
	ldr	x1, [x8]
	mov	w2, #0
	bl	_wait_or_whine
	add	x1, sp, #24
	mov	x0, x19
	bl	_child_err_spew
	ldr	w27, [x24]
	mov	w8, #-1
	str	w8, [x19, #20]
LBB0_89:
	ldr	w0, [sp, #40]
	bl	_close
	tbnz	w20, #31, LBB0_91
; %bb.90:
	mov	x0, x20
	bl	_close
LBB0_91:
	add	x0, sp, #32
	bl	_argv_array_clear
	mov	x0, x21
	bl	_free
	ldr	w8, [x19, #20]
	tbz	w8, #31, LBB0_30
LBB0_92:
	mov	x0, x19
	mov	w1, #-1
	bl	_trace2_child_exit
	cbz	w25, LBB0_94
; %bb.93:
	add	x0, sp, #64
	bl	_close_pair
	b	LBB0_96
LBB0_94:
	ldr	w0, [x19, #8]
	cbz	w0, LBB0_96
; %bb.95:
	bl	_close
LBB0_96:
	cbz	w23, LBB0_98
; %bb.97:
	add	x0, sp, #56
	bl	_close_pair
	b	LBB0_100
LBB0_98:
	ldr	w0, [x19, #12]
	cbz	w0, LBB0_100
; %bb.99:
	bl	_close
LBB0_100:
	cbz	w22, LBB0_102
; %bb.101:
	add	x0, sp, #48
	bl	_close_pair
	b	LBB0_104
LBB0_102:
	ldr	w0, [x19, #16]
	cbz	w0, LBB0_104
; %bb.103:
	bl	_close
LBB0_104:
	mov	x0, x19
	bl	_child_process_clear
	str	w27, [x24]
	b	LBB0_123
LBB0_105:
	mov	w20, #-1
	b	LBB0_25
LBB0_106:
	cbz	w23, LBB0_117
; %bb.107:
	ldr	w0, [sp, #60]
	mov	w1, #1
	bl	_child_dup2
	add	x0, sp, #56
	bl	_child_close_pair
	b	LBB0_65
LBB0_108:
	ldr	w0, [x19, #8]
	cbz	w0, LBB0_110
; %bb.109:
	bl	_close
LBB0_110:
	cbz	w23, LBB0_112
; %bb.111:
	add	x0, sp, #56
	bl	_close_pair
	b	LBB0_114
LBB0_112:
	ldr	w0, [x19, #12]
	cbz	w0, LBB0_114
; %bb.113:
	bl	_close
LBB0_114:
Lloh72:
	adrp	x21, l_.str.2@PAGE
Lloh73:
	add	x21, x21, l_.str.2@PAGEOFF
	b	LBB0_122
LBB0_115:
Lloh74:
	adrp	x8, _errno@GOTPAGE
Lloh75:
	ldr	x8, [x8, _errno@GOTPAGEOFF]
Lloh76:
	ldr	w20, [x8]
	cbz	w25, LBB0_119
; %bb.116:
	add	x0, sp, #64
	bl	_close_pair
	b	LBB0_121
LBB0_117:
	ldr	w0, [x19, #12]
	cmp	w0, #2
	b.lt	LBB0_65
; %bb.118:
	mov	w1, #1
	bl	_child_dup2
	ldr	w0, [x19, #12]
	bl	_child_close
	b	LBB0_65
LBB0_119:
	ldr	w0, [x19, #8]
	cbz	w0, LBB0_121
; %bb.120:
	bl	_close
LBB0_121:
Lloh77:
	adrp	x21, l_.str.1@PAGE
Lloh78:
	add	x21, x21, l_.str.1@PAGEOFF
LBB0_122:
	ldr	x8, [x19]
	ldr	x22, [x8]
	mov	x0, x20
	bl	_strerror
	mov	x3, x0
Lloh79:
	adrp	x0, l_.str.3@PAGE
Lloh80:
	add	x0, x0, l_.str.3@PAGEOFF
	mov	x1, x21
	mov	x2, x22
	bl	_error
	mov	x0, x19
	bl	_child_process_clear
Lloh81:
	adrp	x8, _errno@GOTPAGE
Lloh82:
	ldr	x8, [x8, _errno@GOTPAGEOFF]
Lloh83:
	str	w20, [x8]
LBB0_123:
	mov	w0, #-1
LBB0_124:
	ldr	x8, [sp, #72]
Lloh84:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh85:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh86:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_126
; %bb.125:
	ldp	x29, x30, [sp, #160]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #144]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #128]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #112]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #96]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #80]             ; 16-byte Folded Reload
	add	sp, sp, #176
	ret
LBB0_126:
	bl	___stack_chk_fail
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpAdd	Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpAdd	Lloh16, Lloh17
	.loh AdrpLdrGotStr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpAdd	Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpAdd	Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh37, Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpLdrGot	Lloh43, Lloh44
	.loh AdrpLdrGot	Lloh47, Lloh48
	.loh AdrpLdrGot	Lloh45, Lloh46
	.loh AdrpLdrGotLdr	Lloh49, Lloh50, Lloh51
	.loh AdrpLdrGotLdr	Lloh52, Lloh53, Lloh54
	.loh AdrpLdrGotLdr	Lloh57, Lloh58, Lloh59
	.loh AdrpLdrGot	Lloh55, Lloh56
	.loh AdrpLdrGotLdr	Lloh60, Lloh61, Lloh62
	.loh AdrpLdrGotLdr	Lloh63, Lloh64, Lloh65
	.loh AdrpLdrGot	Lloh66, Lloh67
	.loh AdrpLdrGot	Lloh68, Lloh69
	.loh AdrpAdd	Lloh70, Lloh71
	.loh AdrpAdd	Lloh72, Lloh73
	.loh AdrpLdrGotLdr	Lloh74, Lloh75, Lloh76
	.loh AdrpAdd	Lloh77, Lloh78
	.loh AdrpLdrGotStr	Lloh81, Lloh82, Lloh83
	.loh AdrpAdd	Lloh79, Lloh80
	.loh AdrpLdrGotLdr	Lloh84, Lloh85, Lloh86
	.cfi_endproc
                                        ; -- End function
	.comm	_errno,4,2                      ; @errno
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"standard input"

l_.str.1:                               ; @.str.1
	.asciz	"standard output"

l_.str.2:                               ; @.str.2
	.asciz	"standard error"

l_.str.3:                               ; @.str.3
	.asciz	"cannot create %s pipe for %s: %s"

	.comm	_ARGV_ARRAY_INIT,8,3            ; @ARGV_ARRAY_INIT
l_.str.4:                               ; @.str.4
	.asciz	"cannot run %s"

l_.str.5:                               ; @.str.5
	.asciz	"/dev/null"

	.comm	_O_RDWR,4,2                     ; @O_RDWR
	.comm	_O_CLOEXEC,4,2                  ; @O_CLOEXEC
l_.str.6:                               ; @.str.6
	.asciz	"open /dev/null failed"

	.comm	_child_die_fn,4,2               ; @child_die_fn
	.comm	_child_error_fn,4,2             ; @child_error_fn
	.comm	_child_warn_fn,4,2              ; @child_warn_fn
	.comm	_child_notifier,4,2             ; @child_notifier
	.comm	_CHILD_ERR_CHDIR,4,2            ; @CHILD_ERR_CHDIR
	.comm	_NSIG,4,2                       ; @NSIG
	.comm	_SIG_DFL,8,3                    ; @SIG_DFL
	.comm	_SIG_IGN,8,3                    ; @SIG_IGN
	.comm	_SIG_SETMASK,4,2                ; @SIG_SETMASK
	.comm	_CHILD_ERR_SIGPROCMASK,4,2      ; @CHILD_ERR_SIGPROCMASK
	.comm	_ENOEXEC,4,2                    ; @ENOEXEC
	.comm	_ENOENT,4,2                     ; @ENOENT
	.comm	_CHILD_ERR_SILENT,4,2           ; @CHILD_ERR_SILENT
	.comm	_CHILD_ERR_ENOENT,4,2           ; @CHILD_ERR_ENOENT
	.comm	_CHILD_ERR_ERRNO,4,2            ; @CHILD_ERR_ERRNO
l_.str.7:                               ; @.str.7
	.asciz	"cannot fork() for %s"

.subsections_via_symbols
