	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function open_output
_open_output:                           ## @open_output
	.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	%rbx
	pushq	%rax
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r14
	xorl	%eax, %eax
	callq	_lang_get_output_target
	movq	_output_target@GOTPCREL(%rip), %r15
	movq	%rax, (%r15)
	movq	_command_line@GOTPCREL(%rip), %rbx
	movq	(%rbx), %rcx
	movq	_ENDIAN_UNSET@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rcx
	je	LBB0_13
## %bb.1:
	movq	_get_target@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edi
	movq	%rax, %rsi
	callq	_bfd_search_for_target
	testq	%rax, %rax
	je	LBB0_13
## %bb.2:
	movq	(%rbx), %rcx
	movq	_ENDIAN_BIG@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rcx
	jne	LBB0_3
## %bb.4:
	movq	_BFD_ENDIAN_BIG@GOTPCREL(%rip), %rcx
	jmp	LBB0_5
LBB0_3:
	movq	_BFD_ENDIAN_LITTLE@GOTPCREL(%rip), %rcx
LBB0_5:
	movl	(%rcx), %ecx
	cmpl	%ecx, (%rax)
	je	LBB0_13
## %bb.6:
	movq	8(%rax), %rdx
	testq	%rdx, %rdx
	je	LBB0_9
## %bb.7:
	cmpl	%ecx, (%rdx)
	jne	LBB0_9
## %bb.8:
	movq	8(%rdx), %rax
	jmp	LBB0_12
LBB0_9:
	movq	_closest_target_match@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edi
	movq	%rax, %rsi
	callq	_bfd_search_for_target
	movq	_winner@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	testq	%rax, %rax
	je	LBB0_10
## %bb.11:
	movq	(%rax), %rax
LBB0_12:
	movq	%rax, (%r15)
	jmp	LBB0_13
LBB0_10:
	leaq	L_.str(%rip), %rdi
	callq	__
	movl	%eax, %edi
	xorl	%eax, %eax
	callq	_einfo
LBB0_13:
	movq	(%r15), %rsi
	movq	%r14, %rdi
	callq	_bfd_openw
	movq	%rax, %rbx
	testq	%rax, %rax
	jne	LBB0_17
## %bb.14:
	xorl	%eax, %eax
	callq	_bfd_get_error
	movq	_bfd_error_invalid_target@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_16
## %bb.15:
	leaq	L_.str.1(%rip), %rdi
	callq	__
	movq	(%r15), %rsi
	movl	%eax, %edi
	xorl	%eax, %eax
	callq	_einfo
LBB0_16:
	leaq	L_.str.2(%rip), %rdi
	callq	__
	movl	%eax, %edi
	movq	%r14, %rsi
	xorl	%eax, %eax
	callq	_einfo
LBB0_17:
	movq	_TRUE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	_delete_output_file_on_failure@GOTPCREL(%rip), %rcx
	movl	%eax, (%rcx)
	movq	_bfd_object@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_bfd_set_format
	testl	%eax, %eax
	jne	LBB0_19
## %bb.18:
	leaq	L_.str.3(%rip), %rdi
	callq	__
	movl	%eax, %edi
	movq	%r14, %rsi
	xorl	%eax, %eax
	callq	_einfo
LBB0_19:
	movq	_ldfile_output_architecture@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_ldfile_output_machine@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%rbx, %rdi
	callq	_bfd_set_arch_mach
	testl	%eax, %eax
	jne	LBB0_21
## %bb.20:
	leaq	L_.str.4(%rip), %rdi
	callq	__
	movl	%eax, %edi
	movq	%r14, %rsi
	xorl	%eax, %eax
	callq	_einfo
LBB0_21:
	movq	%rbx, %rdi
	callq	_bfd_link_hash_table_create
	movq	_link_info@GOTPCREL(%rip), %rcx
	movq	%rax, (%rcx)
	testq	%rax, %rax
	jne	LBB0_23
## %bb.22:
	leaq	L_.str.5(%rip), %rdi
	callq	__
	movl	%eax, %edi
	xorl	%eax, %eax
	callq	_einfo
LBB0_23:
	movq	_g_switch_value@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_bfd_set_gp_size
	movq	%rbx, %rax
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_output_target,8,3              ## @output_target
	.comm	_command_line,8,3               ## @command_line
	.comm	_ENDIAN_UNSET,8,3               ## @ENDIAN_UNSET
	.comm	_get_target,4,2                 ## @get_target
	.comm	_ENDIAN_BIG,8,3                 ## @ENDIAN_BIG
	.comm	_BFD_ENDIAN_BIG,4,2             ## @BFD_ENDIAN_BIG
	.comm	_BFD_ENDIAN_LITTLE,4,2          ## @BFD_ENDIAN_LITTLE
	.comm	_closest_target_match,4,2       ## @closest_target_match
	.comm	_winner,8,3                     ## @winner
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"%P: warning: could not find any targets that match endianness requirement\n"

	.comm	_bfd_error_invalid_target,8,3   ## @bfd_error_invalid_target
L_.str.1:                               ## @.str.1
	.asciz	"%P%F: target %s not found\n"

L_.str.2:                               ## @.str.2
	.asciz	"%P%F: cannot open output file %s: %E\n"

	.comm	_TRUE,4,2                       ## @TRUE
	.comm	_delete_output_file_on_failure,4,2 ## @delete_output_file_on_failure
	.comm	_bfd_object,4,2                 ## @bfd_object
L_.str.3:                               ## @.str.3
	.asciz	"%P%F:%s: can not make object file: %E\n"

	.comm	_ldfile_output_architecture,4,2 ## @ldfile_output_architecture
	.comm	_ldfile_output_machine,4,2      ## @ldfile_output_machine
L_.str.4:                               ## @.str.4
	.asciz	"%P%F:%s: can not set architecture: %E\n"

	.comm	_link_info,8,3                  ## @link_info
L_.str.5:                               ## @.str.5
	.asciz	"%P%F: can not create hash table: %E\n"

	.comm	_g_switch_value,4,2             ## @g_switch_value
	.no_dead_strip	_open_output
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function open_output
_open_output:                           ; @open_output
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #64
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.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
	mov	x19, x0
	bl	_lang_get_output_target
Lloh0:
	adrp	x21, _output_target@GOTPAGE
Lloh1:
	ldr	x21, [x21, _output_target@GOTPAGEOFF]
Lloh2:
	adrp	x20, _command_line@GOTPAGE
Lloh3:
	ldr	x20, [x20, _command_line@GOTPAGEOFF]
	str	x0, [x21]
	ldr	x8, [x20]
Lloh4:
	adrp	x9, _ENDIAN_UNSET@GOTPAGE
Lloh5:
	ldr	x9, [x9, _ENDIAN_UNSET@GOTPAGEOFF]
Lloh6:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_10
; %bb.1:
	mov	x1, x0
Lloh7:
	adrp	x8, _get_target@GOTPAGE
Lloh8:
	ldr	x8, [x8, _get_target@GOTPAGEOFF]
Lloh9:
	ldr	w0, [x8]
	bl	_bfd_search_for_target
	cbz	x0, LBB0_10
; %bb.2:
	mov	x1, x0
	ldr	x8, [x20]
Lloh10:
	adrp	x9, _ENDIAN_BIG@GOTPAGE
Lloh11:
	ldr	x9, [x9, _ENDIAN_BIG@GOTPAGEOFF]
Lloh12:
	adrp	x10, _BFD_ENDIAN_BIG@GOTPAGE
Lloh13:
	ldr	x10, [x10, _BFD_ENDIAN_BIG@GOTPAGEOFF]
Lloh14:
	adrp	x11, _BFD_ENDIAN_LITTLE@GOTPAGE
Lloh15:
	ldr	x11, [x11, _BFD_ENDIAN_LITTLE@GOTPAGEOFF]
Lloh16:
	ldr	x9, [x9]
	cmp	x8, x9
	csel	x8, x10, x11, eq
	ldr	w8, [x8]
	ldr	w9, [x0]
	cmp	w9, w8
	b.eq	LBB0_10
; %bb.3:
	ldr	x9, [x1, #8]
	cbz	x9, LBB0_6
; %bb.4:
	ldr	w10, [x9]
	cmp	w10, w8
	b.ne	LBB0_6
; %bb.5:
	ldr	x8, [x9, #8]
	b	LBB0_8
LBB0_6:
Lloh17:
	adrp	x8, _closest_target_match@GOTPAGE
Lloh18:
	ldr	x8, [x8, _closest_target_match@GOTPAGEOFF]
Lloh19:
	ldr	w0, [x8]
	bl	_bfd_search_for_target
Lloh20:
	adrp	x8, _winner@GOTPAGE
Lloh21:
	ldr	x8, [x8, _winner@GOTPAGEOFF]
Lloh22:
	ldr	x8, [x8]
	cbz	x8, LBB0_9
; %bb.7:
	ldr	x8, [x8]
LBB0_8:
	str	x8, [x21]
	b	LBB0_10
LBB0_9:
Lloh23:
	adrp	x0, l_.str@PAGE
Lloh24:
	add	x0, x0, l_.str@PAGEOFF
	bl	__
	bl	_einfo
LBB0_10:
	ldr	x1, [x21]
	mov	x0, x19
	bl	_bfd_openw
	mov	x20, x0
	cbnz	x0, LBB0_14
; %bb.11:
	bl	_bfd_get_error
Lloh25:
	adrp	x8, _bfd_error_invalid_target@GOTPAGE
Lloh26:
	ldr	x8, [x8, _bfd_error_invalid_target@GOTPAGEOFF]
Lloh27:
	ldr	x8, [x8]
	cmp	x0, x8
	b.ne	LBB0_13
; %bb.12:
Lloh28:
	adrp	x0, l_.str.1@PAGE
Lloh29:
	add	x0, x0, l_.str.1@PAGEOFF
	bl	__
	ldr	x8, [x21]
	str	x8, [sp]
	bl	_einfo
LBB0_13:
Lloh30:
	adrp	x0, l_.str.2@PAGE
Lloh31:
	add	x0, x0, l_.str.2@PAGEOFF
	bl	__
	str	x19, [sp]
	bl	_einfo
LBB0_14:
Lloh32:
	adrp	x8, _TRUE@GOTPAGE
Lloh33:
	ldr	x8, [x8, _TRUE@GOTPAGEOFF]
Lloh34:
	ldr	w8, [x8]
Lloh35:
	adrp	x9, _delete_output_file_on_failure@GOTPAGE
Lloh36:
	ldr	x9, [x9, _delete_output_file_on_failure@GOTPAGEOFF]
Lloh37:
	str	w8, [x9]
Lloh38:
	adrp	x8, _bfd_object@GOTPAGE
Lloh39:
	ldr	x8, [x8, _bfd_object@GOTPAGEOFF]
Lloh40:
	ldr	w1, [x8]
	mov	x0, x20
	bl	_bfd_set_format
	cbnz	w0, LBB0_16
; %bb.15:
Lloh41:
	adrp	x0, l_.str.3@PAGE
Lloh42:
	add	x0, x0, l_.str.3@PAGEOFF
	bl	__
	str	x19, [sp]
	bl	_einfo
LBB0_16:
Lloh43:
	adrp	x8, _ldfile_output_architecture@GOTPAGE
Lloh44:
	ldr	x8, [x8, _ldfile_output_architecture@GOTPAGEOFF]
Lloh45:
	ldr	w1, [x8]
Lloh46:
	adrp	x8, _ldfile_output_machine@GOTPAGE
Lloh47:
	ldr	x8, [x8, _ldfile_output_machine@GOTPAGEOFF]
Lloh48:
	ldr	w2, [x8]
	mov	x0, x20
	bl	_bfd_set_arch_mach
	cbnz	w0, LBB0_18
; %bb.17:
Lloh49:
	adrp	x0, l_.str.4@PAGE
Lloh50:
	add	x0, x0, l_.str.4@PAGEOFF
	bl	__
	str	x19, [sp]
	bl	_einfo
LBB0_18:
	mov	x0, x20
	bl	_bfd_link_hash_table_create
Lloh51:
	adrp	x8, _link_info@GOTPAGE
Lloh52:
	ldr	x8, [x8, _link_info@GOTPAGEOFF]
Lloh53:
	str	x0, [x8]
	cbnz	x0, LBB0_20
; %bb.19:
Lloh54:
	adrp	x0, l_.str.5@PAGE
Lloh55:
	add	x0, x0, l_.str.5@PAGEOFF
	bl	__
	bl	_einfo
LBB0_20:
Lloh56:
	adrp	x8, _g_switch_value@GOTPAGE
Lloh57:
	ldr	x8, [x8, _g_switch_value@GOTPAGEOFF]
Lloh58:
	ldr	w1, [x8]
	mov	x0, x20
	bl	_bfd_set_gp_size
	mov	x0, x20
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #64
	ret
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh7, Lloh8, Lloh9
	.loh AdrpLdrGot	Lloh14, Lloh15
	.loh AdrpLdrGot	Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh16
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpAdd	Lloh23, Lloh24
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpAdd	Lloh28, Lloh29
	.loh AdrpAdd	Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh38, Lloh39, Lloh40
	.loh AdrpLdrGotStr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpAdd	Lloh41, Lloh42
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpAdd	Lloh49, Lloh50
	.loh AdrpLdrGotStr	Lloh51, Lloh52, Lloh53
	.loh AdrpAdd	Lloh54, Lloh55
	.loh AdrpLdrGotLdr	Lloh56, Lloh57, Lloh58
	.cfi_endproc
                                        ; -- End function
	.comm	_output_target,8,3              ; @output_target
	.comm	_command_line,8,3               ; @command_line
	.comm	_ENDIAN_UNSET,8,3               ; @ENDIAN_UNSET
	.comm	_get_target,4,2                 ; @get_target
	.comm	_ENDIAN_BIG,8,3                 ; @ENDIAN_BIG
	.comm	_BFD_ENDIAN_BIG,4,2             ; @BFD_ENDIAN_BIG
	.comm	_BFD_ENDIAN_LITTLE,4,2          ; @BFD_ENDIAN_LITTLE
	.comm	_closest_target_match,4,2       ; @closest_target_match
	.comm	_winner,8,3                     ; @winner
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"%P: warning: could not find any targets that match endianness requirement\n"

	.comm	_bfd_error_invalid_target,8,3   ; @bfd_error_invalid_target
l_.str.1:                               ; @.str.1
	.asciz	"%P%F: target %s not found\n"

l_.str.2:                               ; @.str.2
	.asciz	"%P%F: cannot open output file %s: %E\n"

	.comm	_TRUE,4,2                       ; @TRUE
	.comm	_delete_output_file_on_failure,4,2 ; @delete_output_file_on_failure
	.comm	_bfd_object,4,2                 ; @bfd_object
l_.str.3:                               ; @.str.3
	.asciz	"%P%F:%s: can not make object file: %E\n"

	.comm	_ldfile_output_architecture,4,2 ; @ldfile_output_architecture
	.comm	_ldfile_output_machine,4,2      ; @ldfile_output_machine
l_.str.4:                               ; @.str.4
	.asciz	"%P%F:%s: can not set architecture: %E\n"

	.comm	_link_info,8,3                  ; @link_info
l_.str.5:                               ; @.str.5
	.asciz	"%P%F: can not create hash table: %E\n"

	.comm	_g_switch_value,4,2             ; @g_switch_value
	.no_dead_strip	_open_output
.subsections_via_symbols
