	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_main                           ## -- Begin function main
	.p2align	4, 0x90
_main:                                  ## @main
	.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	$40, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %r14
	cmpl	$2, %edi
	je	LBB0_2
## %bb.1:
	xorl	%eax, %eax
	callq	_usage
LBB0_2:
	movq	_sigsys_handler@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -60(%rbp)
	leaq	-64(%rbp), %rbx
	movq	%rbx, %rdi
	callq	_sigemptyset
	movq	$0, -72(%rbp)
	movq	_SIGSYS@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-72(%rbp), %rsi
	xorl	%edx, %edx
	callq	_sigaction
	cmpl	$-1, %eax
	jne	LBB0_4
## %bb.3:
	leaq	L_.str(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_4:
	movq	_sigchld_handler@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -60(%rbp)
	movq	%rbx, %rdi
	callq	_sigemptyset
	movq	$0, -72(%rbp)
	movq	_SIGCHLD@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-72(%rbp), %rsi
	xorl	%edx, %edx
	callq	_sigaction
	cmpl	$-1, %eax
	jne	LBB0_6
## %bb.5:
	leaq	L_.str.1(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_6:
	movq	8(%r14), %rdi
	movl	$4160, %esi                     ## imm = 0x1040
	callq	_ftok
	movq	_semkey@GOTPCREL(%rip), %r13
	movl	%eax, (%r13)
	xorl	%eax, %eax
	callq	_getpid
	movq	_child_pid@GOTPCREL(%rip), %r12
	movl	%eax, (%r12)
	movq	_cleanup@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_atexit
	cmpl	$-1, %eax
	jne	LBB0_8
## %bb.7:
	leaq	L_.str.2(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_8:
	movl	(%r13), %edi
	movq	_IPC_CREAT@GOTPCREL(%rip), %rax
	movl	$416, %edx                      ## imm = 0x1A0
	orl	(%rax), %edx
	movl	$1, %esi
	callq	_semget
	movq	_sender_semid@GOTPCREL(%rip), %r15
	movl	%eax, (%r15)
	cmpl	$-1, %eax
	jne	LBB0_10
## %bb.9:
	leaq	L_.str.3(%rip), %rsi
	movl	$1, %edi
	callq	_err
	movl	(%r15), %eax
LBB0_10:
	movq	_IPC_STAT@GOTPCREL(%rip), %r14
	movl	(%r14), %edx
	leaq	-48(%rbp), %rcx
	movl	%eax, %edi
	xorl	%esi, %esi
	xorl	%eax, %eax
	callq	_semctl
	cmpl	$-1, %eax
	jne	LBB0_12
## %bb.11:
	leaq	L_.str.4(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_12:
	leaq	-48(%rbp), %rbx
	movq	%rbx, %rdi
	movl	$416, %esi                      ## imm = 0x1A0
	callq	_print_semid_ds
	movl	$-512, %eax                     ## imm = 0xFE00
	andl	-48(%rbp), %eax
	orl	$384, %eax                      ## imm = 0x180
	movl	%eax, -48(%rbp)
	movl	(%r15), %edi
	movq	_IPC_SET@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	xorl	%esi, %esi
	movq	%rbx, %rcx
	xorl	%eax, %eax
	callq	_semctl
	cmpl	$-1, %eax
	jne	LBB0_14
## %bb.13:
	leaq	L_.str.5(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_14:
	leaq	-48(%rbp), %rbx
	movq	%rbx, %rdi
	xorl	%esi, %esi
	movl	$4, %edx
	callq	_memset
	movl	(%r15), %edi
	movl	(%r14), %edx
	xorl	%esi, %esi
	movq	%rbx, %rcx
	xorl	%eax, %eax
	callq	_semctl
	cmpl	$-1, %eax
	jne	LBB0_16
## %bb.15:
	leaq	L_.str.4(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_16:
	movl	$511, %eax                      ## imm = 0x1FF
	andl	-48(%rbp), %eax
	cmpl	$384, %eax                      ## imm = 0x180
	je	LBB0_18
## %bb.17:
	leaq	L_.str.6(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_18:
	leaq	-48(%rbp), %r14
	movq	%r14, %rdi
	movl	$384, %esi                      ## imm = 0x180
	callq	_print_semid_ds
	movq	_errno@GOTPCREL(%rip), %rbx
	movq	$0, (%rbx)
	movl	(%r13), %edi
	movq	_IPC_CREAT@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_IPC_EXCL@GOTPCREL(%rip), %r13
	orl	(%r13), %edx
	orl	$384, %edx                      ## imm = 0x180
	movl	$1, %esi
	callq	_semget
	cmpl	$-1, %eax
	jne	LBB0_20
## %bb.19:
	movq	(%rbx), %rax
	movq	_EEXIST@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_21
LBB0_20:
	leaq	L_.str.7(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_21:
	movq	$0, (%rbx)
	movq	_semkey@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_IPC_CREAT@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	orl	(%r13), %edx
	orl	$384, %edx                      ## imm = 0x180
	movl	$2, %esi
	callq	_semget
	cmpl	$-1, %eax
	jne	LBB0_23
## %bb.22:
	movq	(%rbx), %rax
	movq	_EEXIST@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_24
LBB0_23:
	leaq	L_.str.8(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_24:
	movq	_child_count@GOTPCREL(%rip), %rbx
	movl	$0, (%rbx)
	leaq	L_.str.9(%rip), %r13
	jmp	LBB0_25
	.p2align	4, 0x90
LBB0_28:                                ##   in Loop: Header=BB0_25 Depth=1
	xorl	%eax, %eax
	callq	_waiter
LBB0_29:                                ##   in Loop: Header=BB0_25 Depth=1
	movl	(%rbx), %eax
	leal	1(%rax), %ecx
	movl	%ecx, (%rbx)
	cmpl	$4, %eax
	jge	LBB0_30
LBB0_25:                                ## =>This Inner Loop Header: Depth=1
	xorl	%eax, %eax
	callq	_fork
	movl	%eax, (%r12)
	testl	%eax, %eax
	je	LBB0_28
## %bb.26:                              ##   in Loop: Header=BB0_25 Depth=1
	cmpl	$-1, %eax
	jne	LBB0_29
## %bb.27:                              ##   in Loop: Header=BB0_25 Depth=1
	movl	$1, %edi
	movq	%r13, %rsi
	callq	_err
	jmp	LBB0_28
LBB0_30:
	movq	_GETNCNT@GOTPCREL(%rip), %rbx
	leaq	L_.str.10(%rip), %r12
	jmp	LBB0_31
	.p2align	4, 0x90
LBB0_39:                                ##   in Loop: Header=BB0_31 Depth=1
	movl	$1, %edi
	movq	%r12, %rsi
	callq	_err
LBB0_31:                                ## =>This Inner Loop Header: Depth=1
	movl	(%r15), %edi
	movl	(%rbx), %edx
	xorl	%esi, %esi
	xorl	%eax, %eax
	callq	_semctl
	cmpl	$-1, %eax
	je	LBB0_39
## %bb.32:                              ##   in Loop: Header=BB0_31 Depth=1
	cmpl	$5, %eax
	jne	LBB0_31
## %bb.33:
	movabsq	$-4294967296, %rax              ## imm = 0xFFFFFFFF00000000
	andq	%rax, %r14
	orq	$1, %r14
	movl	(%r15), %edi
	movq	_SETVAL@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	xorl	%esi, %esi
	movq	%r14, %rcx
	xorl	%eax, %eax
	callq	_semctl
	cmpl	$-1, %eax
	jne	LBB0_35
## %bb.34:
	leaq	L_.str.11(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_35:
	leaq	-52(%rbp), %rbx
	movq	%rbx, %rdi
	callq	_sigemptyset
	movq	%rbx, %rdi
	callq	_sigsuspend
	movq	_signal_was_sigchld@GOTPCREL(%rip), %rbx
	cmpq	$0, (%rbx)
	je	LBB0_38
## %bb.36:
	leaq	-52(%rbp), %r14
	.p2align	4, 0x90
LBB0_37:                                ## =>This Inner Loop Header: Depth=1
	movq	$0, (%rbx)
	movq	%r14, %rdi
	callq	_sigsuspend
	cmpq	$0, (%rbx)
	jne	LBB0_37
LBB0_38:
	leaq	L_.str.12(%rip), %rsi
	movl	$1, %edi
	callq	_errx
	xorl	%eax, %eax
	addq	$40, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_sigsys_handler,4,2             ## @sigsys_handler
	.comm	_SIGSYS,4,2                     ## @SIGSYS
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"sigaction SIGSYS"

	.comm	_sigchld_handler,4,2            ## @sigchld_handler
	.comm	_SIGCHLD,4,2                    ## @SIGCHLD
L_.str.1:                               ## @.str.1
	.asciz	"sigaction SIGCHLD"

	.comm	_semkey,4,2                     ## @semkey
	.comm	_child_pid,4,2                  ## @child_pid
	.comm	_cleanup,4,2                    ## @cleanup
L_.str.2:                               ## @.str.2
	.asciz	"atexit"

	.comm	_IPC_CREAT,4,2                  ## @IPC_CREAT
	.comm	_sender_semid,4,2               ## @sender_semid
L_.str.3:                               ## @.str.3
	.asciz	"semget"

	.comm	_IPC_STAT,4,2                   ## @IPC_STAT
L_.str.4:                               ## @.str.4
	.asciz	"semctl IPC_STAT"

	.comm	_IPC_SET,4,2                    ## @IPC_SET
L_.str.5:                               ## @.str.5
	.asciz	"semctl IPC_SET"

L_.str.6:                               ## @.str.6
	.asciz	"IPC_SET of mode didn't hold"

	.comm	_errno,8,3                      ## @errno
	.comm	_IPC_EXCL,4,2                   ## @IPC_EXCL
	.comm	_EEXIST,8,3                     ## @EEXIST
L_.str.7:                               ## @.str.7
	.asciz	"semget IPC_EXCL 1 did not fail with [EEXIST]"

L_.str.8:                               ## @.str.8
	.asciz	"semget IPC_EXCL 2 did not fail with [EEXIST]"

	.comm	_child_count,4,2                ## @child_count
L_.str.9:                               ## @.str.9
	.asciz	"fork"

	.comm	_GETNCNT,4,2                    ## @GETNCNT
L_.str.10:                              ## @.str.10
	.asciz	"semctl GETNCNT"

	.comm	_SETVAL,4,2                     ## @SETVAL
L_.str.11:                              ## @.str.11
	.asciz	"sender: semctl SETVAL to 1"

	.comm	_signal_was_sigchld,8,3         ## @signal_was_sigchld
L_.str.12:                              ## @.str.12
	.asciz	"sender: received unexpected signal"

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_main                           ; -- Begin function main
	.p2align	2
_main:                                  ; @main
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #112
	.cfi_def_cfa_offset 112
	stp	x24, x23, [sp, #48]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #64]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #80]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #96]             ; 16-byte Folded Spill
	add	x29, sp, #96
	.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
	mov	x19, x1
	cmp	w0, #2
	b.eq	LBB0_2
; %bb.1:
	bl	_usage
LBB0_2:
Lloh0:
	adrp	x8, _sigsys_handler@GOTPAGE
Lloh1:
	ldr	x8, [x8, _sigsys_handler@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	str	w8, [sp, #44]
	add	x8, sp, #32
	add	x20, x8, #8
	mov	x0, x20
	bl	_sigemptyset
	str	xzr, [sp, #32]
Lloh3:
	adrp	x8, _SIGSYS@GOTPAGE
Lloh4:
	ldr	x8, [x8, _SIGSYS@GOTPAGEOFF]
Lloh5:
	ldr	w0, [x8]
	add	x1, sp, #32
	mov	x2, #0
	bl	_sigaction
	cmn	w0, #1
	b.ne	LBB0_4
; %bb.3:
Lloh6:
	adrp	x1, l_.str@PAGE
Lloh7:
	add	x1, x1, l_.str@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_4:
Lloh8:
	adrp	x8, _sigchld_handler@GOTPAGE
Lloh9:
	ldr	x8, [x8, _sigchld_handler@GOTPAGEOFF]
Lloh10:
	ldr	w8, [x8]
	str	w8, [sp, #44]
	mov	x0, x20
	bl	_sigemptyset
	str	xzr, [sp, #32]
Lloh11:
	adrp	x8, _SIGCHLD@GOTPAGE
Lloh12:
	ldr	x8, [x8, _SIGCHLD@GOTPAGEOFF]
Lloh13:
	ldr	w0, [x8]
	add	x1, sp, #32
	mov	x2, #0
	bl	_sigaction
	cmn	w0, #1
	b.ne	LBB0_6
; %bb.5:
Lloh14:
	adrp	x1, l_.str.1@PAGE
Lloh15:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_6:
	ldr	x0, [x19, #8]
	mov	w1, #4160
	bl	_ftok
Lloh16:
	adrp	x19, _semkey@GOTPAGE
Lloh17:
	ldr	x19, [x19, _semkey@GOTPAGEOFF]
	str	w0, [x19]
	bl	_getpid
Lloh18:
	adrp	x20, _child_pid@GOTPAGE
Lloh19:
	ldr	x20, [x20, _child_pid@GOTPAGEOFF]
	str	w0, [x20]
Lloh20:
	adrp	x8, _cleanup@GOTPAGE
Lloh21:
	ldr	x8, [x8, _cleanup@GOTPAGEOFF]
Lloh22:
	ldr	w0, [x8]
	bl	_atexit
	cmn	w0, #1
	b.ne	LBB0_8
; %bb.7:
Lloh23:
	adrp	x1, l_.str.2@PAGE
Lloh24:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_8:
	ldr	w0, [x19]
Lloh25:
	adrp	x22, _IPC_CREAT@GOTPAGE
Lloh26:
	ldr	x22, [x22, _IPC_CREAT@GOTPAGEOFF]
	ldr	w8, [x22]
	mov	w9, #416
	orr	w2, w8, w9
	mov	w1, #1
	bl	_semget
Lloh27:
	adrp	x21, _sender_semid@GOTPAGE
Lloh28:
	ldr	x21, [x21, _sender_semid@GOTPAGEOFF]
	str	w0, [x21]
	cmn	w0, #1
	b.ne	LBB0_10
; %bb.9:
Lloh29:
	adrp	x1, l_.str.3@PAGE
Lloh30:
	add	x1, x1, l_.str.3@PAGEOFF
	mov	w0, #1
	bl	_err
	ldr	w0, [x21]
LBB0_10:
Lloh31:
	adrp	x23, _IPC_STAT@GOTPAGE
Lloh32:
	ldr	x23, [x23, _IPC_STAT@GOTPAGEOFF]
	ldr	w2, [x23]
	add	x24, sp, #24
	str	x24, [sp]
	mov	w1, #0
	bl	_semctl
	cmn	w0, #1
	b.ne	LBB0_12
; %bb.11:
Lloh33:
	adrp	x1, l_.str.4@PAGE
Lloh34:
	add	x1, x1, l_.str.4@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_12:
	add	x0, sp, #24
	mov	w1, #416
	bl	_print_semid_ds
	ldr	w8, [sp, #24]
	and	w8, w8, #0xfffffe00
	orr	w8, w8, #0x180
	str	w8, [sp, #24]
	ldr	w0, [x21]
Lloh35:
	adrp	x8, _IPC_SET@GOTPAGE
Lloh36:
	ldr	x8, [x8, _IPC_SET@GOTPAGEOFF]
Lloh37:
	ldr	w2, [x8]
	str	x24, [sp]
	mov	w1, #0
	bl	_semctl
	cmn	w0, #1
	b.ne	LBB0_14
; %bb.13:
Lloh38:
	adrp	x1, l_.str.5@PAGE
Lloh39:
	add	x1, x1, l_.str.5@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_14:
	add	x24, sp, #24
	add	x0, sp, #24
	mov	w1, #0
	mov	w2, #4
	bl	_memset
	ldr	w0, [x21]
	ldr	w2, [x23]
	str	x24, [sp]
	mov	w1, #0
	bl	_semctl
	cmn	w0, #1
	b.ne	LBB0_16
; %bb.15:
Lloh40:
	adrp	x1, l_.str.4@PAGE
Lloh41:
	add	x1, x1, l_.str.4@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_16:
	ldr	w8, [sp, #24]
	and	w8, w8, #0x1ff
	cmp	w8, #384
	b.eq	LBB0_18
; %bb.17:
Lloh42:
	adrp	x1, l_.str.6@PAGE
Lloh43:
	add	x1, x1, l_.str.6@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_18:
	add	x0, sp, #24
	mov	w1, #384
	bl	_print_semid_ds
Lloh44:
	adrp	x23, _errno@GOTPAGE
Lloh45:
	ldr	x23, [x23, _errno@GOTPAGEOFF]
	str	xzr, [x23]
	ldr	w0, [x19]
	ldr	w8, [x22]
Lloh46:
	adrp	x24, _IPC_EXCL@GOTPAGE
Lloh47:
	ldr	x24, [x24, _IPC_EXCL@GOTPAGEOFF]
	ldr	w9, [x24]
	orr	w8, w8, w9
	orr	w2, w8, #0x180
	mov	w1, #1
	bl	_semget
	cmn	w0, #1
	b.ne	LBB0_20
; %bb.19:
	ldr	x8, [x23]
Lloh48:
	adrp	x9, _EEXIST@GOTPAGE
Lloh49:
	ldr	x9, [x9, _EEXIST@GOTPAGEOFF]
Lloh50:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_21
LBB0_20:
Lloh51:
	adrp	x1, l_.str.7@PAGE
Lloh52:
	add	x1, x1, l_.str.7@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_21:
	str	xzr, [x23]
	ldr	w0, [x19]
	ldr	w8, [x22]
	ldr	w9, [x24]
	orr	w8, w8, w9
	orr	w2, w8, #0x180
	mov	w1, #2
	bl	_semget
	cmn	w0, #1
	b.ne	LBB0_23
; %bb.22:
	ldr	x8, [x23]
Lloh53:
	adrp	x9, _EEXIST@GOTPAGE
Lloh54:
	ldr	x9, [x9, _EEXIST@GOTPAGEOFF]
Lloh55:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_24
LBB0_23:
Lloh56:
	adrp	x1, l_.str.8@PAGE
Lloh57:
	add	x1, x1, l_.str.8@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_24:
Lloh58:
	adrp	x22, _child_count@GOTPAGE
Lloh59:
	ldr	x22, [x22, _child_count@GOTPAGEOFF]
	str	wzr, [x22]
Lloh60:
	adrp	x19, l_.str.9@PAGE
Lloh61:
	add	x19, x19, l_.str.9@PAGEOFF
	b	LBB0_27
LBB0_25:                                ;   in Loop: Header=BB0_27 Depth=1
	bl	_waiter
LBB0_26:                                ;   in Loop: Header=BB0_27 Depth=1
	ldr	w8, [x22]
	add	w9, w8, #1
	str	w9, [x22]
	cmp	w8, #4
	b.ge	LBB0_30
LBB0_27:                                ; =>This Inner Loop Header: Depth=1
	bl	_fork
	str	w0, [x20]
	cbz	w0, LBB0_25
; %bb.28:                               ;   in Loop: Header=BB0_27 Depth=1
	cmn	w0, #1
	b.ne	LBB0_26
; %bb.29:                               ;   in Loop: Header=BB0_27 Depth=1
	mov	w0, #1
	mov	x1, x19
	bl	_err
	b	LBB0_25
LBB0_30:
Lloh62:
	adrp	x20, _GETNCNT@GOTPAGE
Lloh63:
	ldr	x20, [x20, _GETNCNT@GOTPAGEOFF]
Lloh64:
	adrp	x19, l_.str.10@PAGE
Lloh65:
	add	x19, x19, l_.str.10@PAGEOFF
	b	LBB0_32
LBB0_31:                                ;   in Loop: Header=BB0_32 Depth=1
	mov	w0, #1
	mov	x1, x19
	bl	_err
LBB0_32:                                ; =>This Inner Loop Header: Depth=1
	ldr	w0, [x21]
	ldr	w2, [x20]
	mov	w1, #0
	bl	_semctl
	cmn	w0, #1
	b.eq	LBB0_31
; %bb.33:                               ;   in Loop: Header=BB0_32 Depth=1
	cmp	w0, #5
	b.ne	LBB0_32
; %bb.34:
	add	x8, sp, #24
	and	x8, x8, #0xffffffff00000000
	orr	x8, x8, #0x1
	ldr	w0, [x21]
Lloh66:
	adrp	x9, _SETVAL@GOTPAGE
Lloh67:
	ldr	x9, [x9, _SETVAL@GOTPAGEOFF]
Lloh68:
	ldr	w2, [x9]
	str	x8, [sp]
	mov	w1, #0
	bl	_semctl
	cmn	w0, #1
	b.ne	LBB0_36
; %bb.35:
Lloh69:
	adrp	x1, l_.str.11@PAGE
Lloh70:
	add	x1, x1, l_.str.11@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_36:
	add	x0, sp, #20
	bl	_sigemptyset
	add	x0, sp, #20
	bl	_sigsuspend
Lloh71:
	adrp	x19, _signal_was_sigchld@GOTPAGE
Lloh72:
	ldr	x19, [x19, _signal_was_sigchld@GOTPAGEOFF]
	ldr	x8, [x19]
	cbz	x8, LBB0_38
LBB0_37:                                ; =>This Inner Loop Header: Depth=1
	str	xzr, [x19]
	add	x0, sp, #20
	bl	_sigsuspend
	ldr	x8, [x19]
	cbnz	x8, LBB0_37
LBB0_38:
Lloh73:
	adrp	x1, l_.str.12@PAGE
Lloh74:
	add	x1, x1, l_.str.12@PAGEOFF
	mov	w0, #1
	bl	_errx
	mov	w0, #0
	ldp	x29, x30, [sp, #96]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #80]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #64]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #48]             ; 16-byte Folded Reload
	add	sp, sp, #112
	ret
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpAdd	Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGot	Lloh18, Lloh19
	.loh AdrpLdrGot	Lloh16, Lloh17
	.loh AdrpAdd	Lloh23, Lloh24
	.loh AdrpLdrGot	Lloh27, Lloh28
	.loh AdrpLdrGot	Lloh25, Lloh26
	.loh AdrpAdd	Lloh29, Lloh30
	.loh AdrpLdrGot	Lloh31, Lloh32
	.loh AdrpAdd	Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpAdd	Lloh38, Lloh39
	.loh AdrpAdd	Lloh40, Lloh41
	.loh AdrpAdd	Lloh42, Lloh43
	.loh AdrpLdrGot	Lloh46, Lloh47
	.loh AdrpLdrGot	Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.loh AdrpAdd	Lloh51, Lloh52
	.loh AdrpLdrGotLdr	Lloh53, Lloh54, Lloh55
	.loh AdrpAdd	Lloh56, Lloh57
	.loh AdrpAdd	Lloh60, Lloh61
	.loh AdrpLdrGot	Lloh58, Lloh59
	.loh AdrpAdd	Lloh64, Lloh65
	.loh AdrpLdrGot	Lloh62, Lloh63
	.loh AdrpLdrGotLdr	Lloh66, Lloh67, Lloh68
	.loh AdrpAdd	Lloh69, Lloh70
	.loh AdrpLdrGot	Lloh71, Lloh72
	.loh AdrpAdd	Lloh73, Lloh74
	.cfi_endproc
                                        ; -- End function
	.comm	_sigsys_handler,4,2             ; @sigsys_handler
	.comm	_SIGSYS,4,2                     ; @SIGSYS
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"sigaction SIGSYS"

	.comm	_sigchld_handler,4,2            ; @sigchld_handler
	.comm	_SIGCHLD,4,2                    ; @SIGCHLD
l_.str.1:                               ; @.str.1
	.asciz	"sigaction SIGCHLD"

	.comm	_semkey,4,2                     ; @semkey
	.comm	_child_pid,4,2                  ; @child_pid
	.comm	_cleanup,4,2                    ; @cleanup
l_.str.2:                               ; @.str.2
	.asciz	"atexit"

	.comm	_IPC_CREAT,4,2                  ; @IPC_CREAT
	.comm	_sender_semid,4,2               ; @sender_semid
l_.str.3:                               ; @.str.3
	.asciz	"semget"

	.comm	_IPC_STAT,4,2                   ; @IPC_STAT
l_.str.4:                               ; @.str.4
	.asciz	"semctl IPC_STAT"

	.comm	_IPC_SET,4,2                    ; @IPC_SET
l_.str.5:                               ; @.str.5
	.asciz	"semctl IPC_SET"

l_.str.6:                               ; @.str.6
	.asciz	"IPC_SET of mode didn't hold"

	.comm	_errno,8,3                      ; @errno
	.comm	_IPC_EXCL,4,2                   ; @IPC_EXCL
	.comm	_EEXIST,8,3                     ; @EEXIST
l_.str.7:                               ; @.str.7
	.asciz	"semget IPC_EXCL 1 did not fail with [EEXIST]"

l_.str.8:                               ; @.str.8
	.asciz	"semget IPC_EXCL 2 did not fail with [EEXIST]"

	.comm	_child_count,4,2                ; @child_count
l_.str.9:                               ; @.str.9
	.asciz	"fork"

	.comm	_GETNCNT,4,2                    ; @GETNCNT
l_.str.10:                              ; @.str.10
	.asciz	"semctl GETNCNT"

	.comm	_SETVAL,4,2                     ; @SETVAL
l_.str.11:                              ; @.str.11
	.asciz	"sender: semctl SETVAL to 1"

	.comm	_signal_was_sigchld,8,3         ; @signal_was_sigchld
l_.str.12:                              ; @.str.12
	.asciz	"sender: received unexpected signal"

.subsections_via_symbols
