	.file	"extr_symbols.c_resolve_symbol_value.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC0:
	.string	"symbol definition loop encountered at `%s'"
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC1:
	.string	"division by zero"
	.section	.rodata.str1.8
	.align 8
.LC2:
	.string	"division by zero when setting `%s'"
	.align 8
.LC3:
	.string	"can't resolve value for symbol `%s'"
	.text
	.p2align 4
	.globl	resolve_symbol_value
	.type	resolve_symbol_value, @function
resolve_symbol_value:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	mov	rbp, rdi
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	sub	rsp, 104
	.cfi_def_cfa_offset 160
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 88[rsp], rax
	xor	eax, eax
	call	LOCAL_SYMBOL_CHECK@PLT
	test	rax, rax
	jne	.L141
	mov	edx, DWORD PTR 0[rbp]
	mov	r12, rax
	test	edx, edx
	je	.L4
	cmp	QWORD PTR 16[rbp], 148
	jne	.L1
	mov	r12, QWORD PTR 24[rbp]
	.p2align 4,,10
	.p2align 3
.L1:
	mov	rax, QWORD PTR 88[rsp]
	xor	rax, QWORD PTR fs:40
	jne	.L142
	add	rsp, 104
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	mov	rax, r12
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L4:
	.cfi_restore_state
	mov	rdi, rbp
	call	S_GET_SEGMENT@PLT
	mov	r14d, DWORD PTR 4[rbp]
	mov	r13, rax
	test	r14d, r14d
	je	.L5
	cmp	QWORD PTR finalize_syms[rip], 0
	jne	.L143
	mov	rsi, rax
	mov	rdi, rbp
	call	S_SET_SEGMENT@PLT
	mov	r12, QWORD PTR finalize_syms[rip]
	test	r12, r12
	je	.L1
	xor	r12d, r12d
.L139:
	mov	DWORD PTR 0[rbp], 1
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L141:
	mov	rdi, rbp
	mov	r12, QWORD PTR 0[rbp]
	call	local_symbol_resolved_p@PLT
	test	rax, rax
	jne	.L1
	mov	rdi, rbp
	call	local_symbol_get_frag@PLT
	mov	rax, QWORD PTR [rax]
	cqo
	idiv	QWORD PTR OCTETS_PER_BYTE[rip]
	add	r12, rax
	cmp	QWORD PTR finalize_syms[rip], 0
	je	.L1
	mov	QWORD PTR 0[rbp], r12
	mov	rdi, rbp
	call	local_symbol_mark_resolved@PLT
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L5:
	mov	rcx, QWORD PTR 16[rbp]
	mov	r15, QWORD PTR 40[rbp]
	mov	DWORD PTR 4[rbp], 1
	mov	rbx, QWORD PTR 24[rbp]
	lea	eax, -128[rcx]
	cmp	eax, 28
	ja	.L8
	lea	rdx, .L10[rip]
	movsx	rax, DWORD PTR [rdx+rax*4]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L10:
	.long	.L13-.L10
	.long	.L16-.L10
	.long	.L16-.L10
	.long	.L11-.L10
	.long	.L11-.L10
	.long	.L15-.L10
	.long	.L11-.L10
	.long	.L11-.L10
	.long	.L11-.L10
	.long	.L11-.L10
	.long	.L11-.L10
	.long	.L13-.L10
	.long	.L11-.L10
	.long	.L11-.L10
	.long	.L11-.L10
	.long	.L78-.L10
	.long	.L11-.L10
	.long	.L11-.L10
	.long	.L11-.L10
	.long	.L11-.L10
	.long	.L14-.L10
	.long	.L11-.L10
	.long	.L13-.L10
	.long	.L11-.L10
	.long	.L11-.L10
	.long	.L11-.L10
	.long	.L78-.L10
	.long	.L11-.L10
	.long	.L9-.L10
	.text
	.p2align 4,,10
	.p2align 3
.L11:
	mov	rax, QWORD PTR 32[rbp]
	mov	rdi, r15
	mov	QWORD PTR 48[rsp], rcx
	mov	QWORD PTR 8[rsp], rax
	call	resolve_symbol_value
	mov	rdi, QWORD PTR 8[rsp]
	mov	DWORD PTR 16[rsp], eax
	mov	QWORD PTR 40[rsp], rax
	call	resolve_symbol_value
	mov	rdi, r15
	mov	QWORD PTR 32[rsp], rax
	mov	DWORD PTR 24[rsp], eax
	call	S_GET_SEGMENT@PLT
	mov	rdi, QWORD PTR 8[rsp]
	mov	QWORD PTR [rsp], rax
	call	S_GET_SEGMENT@PLT
	mov	rcx, QWORD PTR 48[rsp]
	mov	r8d, DWORD PTR 24[rsp]
	mov	r9, rax
	mov	r11, QWORD PTR 32[rsp]
	mov	r10, QWORD PTR 40[rsp]
	cmp	ecx, 155
	mov	rax, QWORD PTR absolute_section[rip]
	je	.L144
	cmp	ecx, 131
	je	.L145
	cmp	QWORD PTR [rsp], rax
	jne	.L87
	cmp	r9, rax
	je	.L43
.L87:
	cmp	ecx, 146
	je	.L43
	cmp	ecx, 134
	jne	.L41
.L43:
	cmp	QWORD PTR expr_section[rip], r13
	je	.L47
	cmp	QWORD PTR undefined_section[rip], r13
	je	.L47
.L46:
	cmp	ecx, 147
	sete	dl
	cmp	ecx, 136
	sete	al
	or	dl, al
	je	.L48
	test	r11d, r11d
	je	.L146
.L48:
	mov	rdx, QWORD PTR 16[rbp]
	lea	rax, -131[rdx]
	cmp	rax, 24
	ja	.L51
	lea	rcx, .L53[rip]
	movsx	rax, DWORD PTR [rcx+rax*4]
	add	rax, rcx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L53:
	.long	.L70-.L53
	.long	.L69-.L53
	.long	.L51-.L53
	.long	.L59-.L53
	.long	.L68-.L53
	.long	.L67-.L53
	.long	.L66-.L53
	.long	.L65-.L53
	.long	.L51-.L53
	.long	.L64-.L53
	.long	.L63-.L53
	.long	.L62-.L53
	.long	.L51-.L53
	.long	.L61-.L53
	.long	.L60-.L53
	.long	.L59-.L53
	.long	.L58-.L53
	.long	.L51-.L53
	.long	.L57-.L53
	.long	.L51-.L53
	.long	.L138-.L53
	.long	.L55-.L53
	.long	.L54-.L53
	.long	.L51-.L53
	.long	.L52-.L53
	.text
	.p2align 4,,10
	.p2align 3
.L13:
	mov	rdi, r15
	mov	QWORD PTR [rsp], rcx
	call	resolve_symbol_value
	mov	rdi, r15
	mov	r12, rax
	call	S_GET_SEGMENT@PLT
	mov	rcx, QWORD PTR [rsp]
	cmp	ecx, 139
	je	.L33
	cmp	QWORD PTR absolute_section[rip], rax
	je	.L33
	cmp	QWORD PTR finalize_syms[rip], 0
	jne	.L147
.L33:
	cmp	QWORD PTR expr_section[rip], r13
	je	.L34
	cmp	QWORD PTR undefined_section[rip], r13
	je	.L34
.L35:
	mov	eax, r12d
	cmp	ecx, 128
	je	.L148
	not	eax
	cmp	ecx, 139
	jne	.L37
	xor	eax, eax
	test	r12d, r12d
	sete	al
.L37:
	mov	rdx, QWORD PTR 8[rbp]
	mov	rdi, r15
	movsx	r12, eax
	add	r12, QWORD PTR [rdx]
	call	symbol_resolved_p@PLT
	add	r12, rbx
	mov	r14d, eax
	.p2align 4,,10
	.p2align 3
.L12:
	mov	DWORD PTR 4[rbp], 0
.L7:
	cmp	QWORD PTR finalize_syms[rip], 0
	je	.L28
	mov	rsi, r12
	mov	rdi, rbp
	call	S_SET_VALUE@PLT
.L28:
	mov	rsi, r13
	mov	rdi, rbp
	call	S_SET_SEGMENT@PLT
	cmp	QWORD PTR finalize_syms[rip], 0
	je	.L1
	test	r14d, r14d
	jne	.L139
	mov	rdi, rbp
	call	S_GET_SEGMENT@PLT
	cmp	rax, QWORD PTR expr_section[rip]
	je	.L1
	mov	rdi, rbp
	call	S_GET_NAME@PLT
	lea	rdi, .LC3[rip]
	mov	r13d, eax
	call	_@PLT
	mov	esi, r13d
	mov	edi, eax
	call	as_bad@PLT
	jmp	.L139
.L16:
	mov	rdi, r15
	call	resolve_symbol_value
	mov	rdi, r15
	mov	DWORD PTR 16[rsp], eax
	call	S_GET_SEGMENT@PLT
	cmp	QWORD PTR finalize_syms[rip], 0
	mov	QWORD PTR [rsp], rax
	je	.L17
	mov	QWORD PTR 32[rbp], 0
.L17:
	mov	rdi, rbp
	call	S_IS_WEAKREFR@PLT
	test	eax, eax
	jne	.L149
.L18:
	mov	eax, DWORD PTR 48[rbp]
	test	eax, eax
	jne	.L150
	cmp	QWORD PTR finalize_syms[rip], 0
	je	.L21
	test	rbx, rbx
	je	.L151
.L21:
	mov	rdi, r15
	call	S_IS_DEFINED@PLT
	test	eax, eax
	je	.L26
	mov	rdi, r15
	call	S_IS_COMMON@PLT
	test	eax, eax
	jne	.L26
	cmp	QWORD PTR finalize_syms[rip], 0
	mov	rax, QWORD PTR expr_section[rip]
	je	.L29
	cmp	QWORD PTR [rsp], rax
	je	.L86
	cmp	r13, rax
	je	.L30
.L86:
	mov	rdi, rbp
	call	symbol_shadow_p@PLT
	test	eax, eax
	jne	.L30
	mov	rax, QWORD PTR expr_section[rip]
.L29:
	mov	rdx, QWORD PTR 8[rbp]
	movsx	r12, DWORD PTR 16[rsp]
	add	r12, QWORD PTR [rdx]
	add	r12, rbx
	cmp	r13, rax
	je	.L80
	cmp	QWORD PTR undefined_section[rip], r13
	cmove	r13, QWORD PTR [rsp]
.L32:
	mov	rdi, r15
	call	symbol_resolved_p@PLT
	mov	rdi, rbp
	mov	r14d, eax
	call	S_IS_WEAKREFR@PLT
	test	eax, eax
	je	.L12
	jmp	.L28
.L78:
	mov	r12, rbx
	jmp	.L12
.L9:
	xor	ebx, ebx
.L14:
	mov	rax, QWORD PTR 8[rbp]
	mov	r14d, 1
	mov	rax, QWORD PTR [rax]
	cqo
	idiv	QWORD PTR OCTETS_PER_BYTE[rip]
	cmp	QWORD PTR expr_section[rip], r13
	lea	r12, [rax+rbx]
	jne	.L12
	mov	r13, QWORD PTR absolute_section[rip]
	jmp	.L12
.L15:
	mov	r12, rbx
	mov	r14d, 1
	jmp	.L12
.L51:
	xor	eax, eax
	mov	QWORD PTR 24[rsp], r9
	mov	QWORD PTR 16[rsp], r10
	call	abort@PLT
	mov	r10, QWORD PTR 16[rsp]
	mov	r9, QWORD PTR 24[rsp]
	mov	rax, QWORD PTR undefined_section[rip]
	mov	r14d, r10d
	.p2align 4,,10
	.p2align 3
.L71:
	mov	rdx, QWORD PTR 8[rbp]
	movsx	r12, r14d
	add	r12, QWORD PTR [rdx]
	add	r12, rbx
	cmp	QWORD PTR expr_section[rip], r13
	je	.L73
	cmp	r13, rax
	je	.L73
.L74:
	mov	rdi, r15
	call	symbol_resolved_p@PLT
	mov	r14d, eax
	test	eax, eax
	je	.L12
	mov	rdi, QWORD PTR 8[rsp]
	xor	r14d, r14d
	call	symbol_resolved_p@PLT
	test	eax, eax
	setne	r14b
	jmp	.L12
.L59:
	mov	rax, QWORD PTR undefined_section[rip]
	cmp	r8d, r10d
	jne	.L72
	mov	rsi, QWORD PTR [rsp]
	cmp	rsi, r9
	jne	.L72
	cmp	r15, QWORD PTR 8[rsp]
	sete	r8b
	cmp	rsi, rax
	setne	cl
	or	r8d, ecx
	movzx	r8d, r8b
	neg	r8d
	mov	r14d, r8d
.L72:
	cmp	rdx, 134
	jne	.L71
	not	r14d
	jmp	.L71
.L57:
	not	r8d
.L138:
	or	r8d, r10d
	mov	rax, QWORD PTR undefined_section[rip]
	mov	r14d, r8d
	jmp	.L71
.L58:
	mov	eax, DWORD PTR 16[rsp]
	cdq
	idiv	r8d
	mov	r14d, eax
	mov	rax, QWORD PTR undefined_section[rip]
	jmp	.L71
.L60:
	cmp	r8d, r10d
	mov	rax, QWORD PTR undefined_section[rip]
	setle	r8b
	movzx	r8d, r8b
	neg	r8d
	mov	r14d, r8d
	jmp	.L71
.L52:
	mov	rax, QWORD PTR undefined_section[rip]
	lea	r14d, [r8+r10]
	jmp	.L71
.L54:
	and	r8d, r10d
	mov	rax, QWORD PTR undefined_section[rip]
	mov	r14d, r8d
	jmp	.L71
.L55:
	xor	r8d, r10d
	mov	rax, QWORD PTR undefined_section[rip]
	mov	r14d, r8d
	jmp	.L71
.L61:
	cmp	r8d, r10d
	mov	rax, QWORD PTR undefined_section[rip]
	setl	r8b
	movzx	r8d, r8b
	neg	r8d
	mov	r14d, r8d
	jmp	.L71
.L62:
	cmp	r8d, r10d
	mov	rax, QWORD PTR undefined_section[rip]
	setge	r8b
	movzx	r8d, r8b
	neg	r8d
	mov	r14d, r8d
	jmp	.L71
.L63:
	mov	r14d, r10d
	mov	ecx, r8d
	mov	rax, QWORD PTR undefined_section[rip]
	sal	r14d, cl
	jmp	.L71
.L64:
	test	r10d, r10d
	setne	al
	test	r8d, r8d
	setne	r8b
	movzx	r8d, r8b
	and	r8d, eax
	mov	rax, QWORD PTR undefined_section[rip]
	mov	r14d, r8d
	jmp	.L71
.L65:
	xor	r14d, r14d
	or	r8d, r10d
	mov	rax, QWORD PTR undefined_section[rip]
	setne	r14b
	jmp	.L71
.L66:
	cmp	r8d, r10d
	mov	rax, QWORD PTR undefined_section[rip]
	setg	r8b
	movzx	r8d, r8b
	neg	r8d
	mov	r14d, r8d
	jmp	.L71
.L67:
	mov	eax, DWORD PTR 16[rsp]
	cdq
	idiv	r8d
	mov	rax, QWORD PTR undefined_section[rip]
	mov	r14d, edx
	jmp	.L71
.L68:
	imul	r8d, r10d
	mov	rax, QWORD PTR undefined_section[rip]
	mov	r14d, r8d
	jmp	.L71
.L70:
	mov	r14d, r10d
	mov	rax, QWORD PTR undefined_section[rip]
	sub	r14d, r8d
	jmp	.L71
.L69:
	mov	r14d, r10d
	mov	ecx, r8d
	mov	rax, QWORD PTR undefined_section[rip]
	sar	r14d, cl
	jmp	.L71
	.p2align 4,,10
	.p2align 3
.L143:
	mov	rdi, rbp
	call	S_GET_NAME@PLT
	lea	rdi, .LC0[rip]
	mov	r14d, eax
	call	_@PLT
	mov	esi, r14d
	mov	r14d, 1
	mov	edi, eax
	call	as_bad@PLT
	jmp	.L7
.L8:
	mov	edi, ecx
	mov	r12, rbx
	call	BAD_CASE@PLT
	jmp	.L12
.L34:
	mov	r13, QWORD PTR absolute_section[rip]
	jmp	.L35
.L26:
	cmp	QWORD PTR finalize_syms[rip], 0
	je	.L25
	mov	QWORD PTR 16[rbp], 130
	mov	r13, QWORD PTR [rsp]
	mov	QWORD PTR 40[rbp], r15
	mov	QWORD PTR 24[rbp], rbx
	mov	QWORD PTR 32[rbp], r15
.L25:
	mov	rdi, r15
	call	symbol_resolved_p@PLT
	mov	DWORD PTR 4[rbp], 0
	mov	r14d, eax
	jmp	.L28
.L73:
	mov	rbx, QWORD PTR [rsp]
	cmp	rax, rbx
	je	.L83
	cmp	rax, r9
	je	.L83
	cmp	QWORD PTR absolute_section[rip], rbx
	cmove	rbx, r9
	mov	r13, rbx
	jmp	.L74
.L149:
	xor	edi, edi
	test	rbx, rbx
	sete	dil
	call	assert@PLT
	mov	rdi, r15
	call	S_IS_WEAKREFR@PLT
	test	eax, eax
	je	.L18
	cmp	QWORD PTR 16[r15], 130
	jne	.L19
	xor	r14d, r14d
	cmp	QWORD PTR 24[r15], 0
	sete	r14b
.L19:
	mov	edi, r14d
	call	assert@PLT
	mov	r15, QWORD PTR 40[r15]
	mov	rdi, r15
	call	S_IS_WEAKREFR@PLT
	xor	edi, edi
	test	eax, eax
	sete	dil
	call	assert@PLT
	mov	QWORD PTR 40[rbp], r15
	jmp	.L18
.L150:
	mov	rdi, r15
	mov	r12, rbx
	call	symbol_resolved_p@PLT
	mov	r14d, eax
	jmp	.L12
.L41:
	lea	eax, -131[rcx]
	cmp	eax, 14
	ja	.L45
	mov	edx, 26689
	bt	rdx, rax
	jnc	.L45
	cmp	QWORD PTR [rsp], r9
	je	.L152
.L45:
	cmp	QWORD PTR finalize_syms[rip], 0
	je	.L46
	mov	rdx, QWORD PTR 8[rsp]
	mov	rsi, r15
	mov	rdi, rbp
	mov	QWORD PTR 56[rsp], r9
	mov	DWORD PTR 48[rsp], r8d
	mov	QWORD PTR 40[rsp], r11
	mov	QWORD PTR 32[rsp], r10
	mov	QWORD PTR 24[rsp], rcx
	call	report_op_error@PLT
	mov	r9, QWORD PTR 56[rsp]
	mov	r8d, DWORD PTR 48[rsp]
	mov	r11, QWORD PTR 40[rsp]
	mov	r10, QWORD PTR 32[rsp]
	mov	rcx, QWORD PTR 24[rsp]
	jmp	.L43
.L47:
	mov	r13, QWORD PTR absolute_section[rip]
	jmp	.L46
.L148:
	neg	eax
	jmp	.L37
.L144:
	cmp	rax, r9
	je	.L153
	cmp	rax, QWORD PTR [rsp]
	jne	.L41
	movsx	r10, r10d
	mov	QWORD PTR [rsp], r9
	mov	r15, QWORD PTR 8[rsp]
	mov	DWORD PTR 16[rsp], r11d
	add	rbx, r10
	jmp	.L17
.L83:
	mov	r13, rax
	jmp	.L74
.L145:
	cmp	r9, rax
	jne	.L41
	movsx	r11, r11d
	sub	rbx, r11
	jmp	.L17
.L146:
	cmp	QWORD PTR absolute_section[rip], r9
	mov	r8d, 1
	jne	.L48
	cmp	QWORD PTR finalize_syms[rip], 0
	je	.L48
	lea	rdx, 76[rsp]
	lea	rsi, 80[rsp]
	mov	rdi, rbp
	mov	QWORD PTR 32[rsp], r9
	mov	QWORD PTR 24[rsp], r10
	call	expr_symbol_where@PLT
	mov	r10, QWORD PTR 24[rsp]
	mov	r9, QWORD PTR 32[rsp]
	test	eax, eax
	je	.L49
	lea	rdi, .LC1[rip]
	call	_@PLT
	mov	esi, DWORD PTR 76[rsp]
	mov	rdi, QWORD PTR 80[rsp]
	mov	edx, eax
	call	as_bad_where@PLT
	mov	r10, QWORD PTR 24[rsp]
	mov	r9, QWORD PTR 32[rsp]
.L50:
	mov	r8d, 1
	jmp	.L48
.L147:
	xor	edx, edx
	mov	rsi, r15
	mov	rdi, rbp
	call	report_op_error@PLT
	mov	rcx, QWORD PTR [rsp]
	jmp	.L33
.L151:
	mov	rdi, r15
	call	LOCAL_SYMBOL_CHECK@PLT
	test	rax, rax
	jne	.L154
.L22:
	mov	rsi, r15
	mov	rdi, rbp
	call	copy_symbol_attributes@PLT
	jmp	.L21
.L152:
	mov	rax, QWORD PTR [rsp]
	cmp	QWORD PTR undefined_section[rip], rax
	jne	.L43
	cmp	r15, QWORD PTR 8[rsp]
	je	.L43
	jmp	.L45
.L153:
	movsx	r11, r11d
	add	rbx, r11
	jmp	.L17
.L80:
	mov	r13, QWORD PTR [rsp]
	jmp	.L32
.L30:
	mov	QWORD PTR 16[rbp], 130
	mov	rax, QWORD PTR 8[rbp]
	mov	rdi, r15
	mov	QWORD PTR 40[rbp], r15
	movsx	r12, DWORD PTR 16[rsp]
	mov	QWORD PTR 24[rbp], rbx
	add	r12, QWORD PTR [rax]
	mov	QWORD PTR 32[rbp], r15
	add	r12, rbx
	call	symbol_resolved_p@PLT
	mov	DWORD PTR 4[rbp], 0
	mov	r13, QWORD PTR [rsp]
	mov	r14d, eax
	jmp	.L28
.L154:
	mov	rdi, r15
	call	local_symbol_convert@PLT
	mov	r15, rax
	jmp	.L22
.L142:
	call	__stack_chk_fail@PLT
.L49:
	mov	rdi, rbp
	mov	QWORD PTR 32[rsp], r9
	mov	QWORD PTR 24[rsp], r10
	call	S_GET_NAME@PLT
	lea	rdi, .LC2[rip]
	mov	r12d, eax
	call	_@PLT
	mov	esi, r12d
	mov	edi, eax
	call	as_bad@PLT
	mov	r9, QWORD PTR 32[rsp]
	mov	r10, QWORD PTR 24[rsp]
	jmp	.L50
	.cfi_endproc
.LFE0:
	.size	resolve_symbol_value, .-resolve_symbol_value
	.comm	zero_address_frag,4,4
	.comm	undefined_section,8,8
	.comm	stderr,4,4
	.comm	finalize_syms,8,8
	.comm	expr_section,8,8
	.comm	absolute_section,8,8
	.comm	OCTETS_PER_BYTE,8,8
	.comm	BSF_SRELC,4,4
	.comm	BSF_RELC,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_symbols.c_resolve_symbol_value.c"
	.text
	.global	__aeabi_idiv
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"symbol definition loop encountered at `%s'\000"
	.align	2
.LC1:
	.ascii	"division by zero\000"
	.align	2
.LC2:
	.ascii	"division by zero when setting `%s'\000"
	.global	__aeabi_idivmod
	.align	2
.LC3:
	.ascii	"can't resolve value for symbol `%s'\000"
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC4:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	resolve_symbol_value
	.syntax unified
	.arm
	.fpu softvfp
	.type	resolve_symbol_value, %function
resolve_symbol_value:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	ldr	r3, .L165
	sub	sp, sp, #52
	ldr	r3, [r3]
	str	r3, [sp, #44]
	mov	r3,#0
	mov	r4, r0
	bl	LOCAL_SYMBOL_CHECK
	subs	r5, r0, #0
	bne	.L152
	ldr	r3, [r4]
	cmp	r3, #0
	beq	.L4
	ldr	r3, [r4, #12]
	cmp	r3, #148
	ldreq	r5, [r4, #16]
.L1:
	ldr	r3, .L165
	ldr	r2, [r3]
	ldr	r3, [sp, #44]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L153
	mov	r0, r5
	add	sp, sp, #52
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L4:
	mov	r0, r4
	bl	S_GET_SEGMENT
	ldr	r7, [r4, #4]
	mov	r6, r0
	cmp	r7, #0
	beq	.L5
	ldr	r8, .L165+4
	ldr	r7, [r8]
	cmp	r7, #0
	bne	.L154
	mov	r1, r0
	mov	r0, r4
	bl	S_SET_SEGMENT
	ldr	r5, [r8]
	cmp	r5, #0
	movne	r5, r7
	beq	.L1
.L150:
	mov	r3, #1
	str	r3, [r4]
	b	.L1
.L152:
	mov	r0, r4
	ldr	r5, [r4]
	bl	local_symbol_resolved_p
	cmp	r0, #0
	bne	.L1
	mov	r0, r4
	bl	local_symbol_get_frag
	ldr	r3, .L165+8
	ldr	r0, [r0]
	ldr	r1, [r3]
	bl	__aeabi_idiv
	ldr	r3, .L165+4
	add	r5, r5, r0
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1
	mov	r0, r4
	str	r5, [r4]
	bl	local_symbol_mark_resolved
	b	.L1
.L5:
	mov	r3, #1
	ldr	r9, [r4, #12]
	str	r3, [r4, #4]
	sub	r3, r9, #128
	ldr	r10, [r4, #24]
	ldr	r5, [r4, #16]
	cmp	r3, #28
	ldrls	pc, [pc, r3, asl #2]
	b	.L8
.L10:
	.word	.L13
	.word	.L16
	.word	.L16
	.word	.L11
	.word	.L11
	.word	.L77
	.word	.L11
	.word	.L11
	.word	.L11
	.word	.L11
	.word	.L11
	.word	.L13
	.word	.L11
	.word	.L11
	.word	.L11
	.word	.L149
	.word	.L11
	.word	.L11
	.word	.L11
	.word	.L11
	.word	.L14
	.word	.L11
	.word	.L13
	.word	.L11
	.word	.L11
	.word	.L11
	.word	.L149
	.word	.L11
	.word	.L9
.L11:
	mov	r0, r10
	ldr	fp, [r4, #20]
	bl	resolve_symbol_value
	mov	r3, r0
	mov	r0, fp
	str	r3, [sp, #8]
	bl	resolve_symbol_value
	mov	r3, r0
	mov	r0, r10
	str	r3, [sp, #16]
	bl	S_GET_SEGMENT
	mov	r2, r0
	mov	r0, fp
	str	r2, [sp, #4]
	bl	S_GET_SEGMENT
	ldr	r2, .L165+12
	cmp	r9, #155
	ldr	r3, [sp, #16]
	str	r0, [sp, #12]
	str	r2, [sp, #24]
	beq	.L155
	cmp	r9, #131
	ldr	r2, [r2]
	beq	.L156
	ldr	r1, [sp, #4]
	ldr	r0, [sp, #12]
	cmp	r0, r2
	cmpeq	r1, r2
	beq	.L147
	cmp	r9, #146
	cmpne	r9, #134
	bne	.L40
.L147:
	ldr	r2, .L165+16
	ldr	r8, .L165+4
	str	r2, [sp, #16]
.L42:
	ldr	r2, .L165+20
	str	r2, [sp, #20]
	ldr	r2, [r2]
	cmp	r2, r6
	beq	.L46
	ldr	r2, [sp, #16]
	ldr	r2, [r2]
	cmp	r2, r6
	beq	.L46
.L45:
	cmp	r9, #136
	cmpne	r9, #147
	moveq	r9, #1
	movne	r9, #0
	cmp	r3, #0
	moveq	r2, r9
	movne	r2, #0
	cmp	r2, #0
	bne	.L157
.L47:
	ldr	r1, [r4, #12]
	sub	r2, r1, #131
	cmp	r2, #24
	ldrls	pc, [pc, r2, asl #2]
	b	.L50
.L52:
	.word	.L69
	.word	.L68
	.word	.L50
	.word	.L58
	.word	.L67
	.word	.L66
	.word	.L65
	.word	.L64
	.word	.L50
	.word	.L63
	.word	.L62
	.word	.L61
	.word	.L50
	.word	.L60
	.word	.L59
	.word	.L58
	.word	.L57
	.word	.L50
	.word	.L56
	.word	.L50
	.word	.L148
	.word	.L54
	.word	.L53
	.word	.L50
	.word	.L51
.L13:
	mov	r0, r10
	bl	resolve_symbol_value
	mov	r7, r0
	mov	r0, r10
	bl	S_GET_SEGMENT
	cmp	r9, #139
	ldreq	r8, .L165+4
	beq	.L32
	ldr	r3, .L165+12
	ldr	r8, .L165+4
	ldr	r3, [r3]
	cmp	r3, r0
	beq	.L32
	ldr	r3, [r8]
	cmp	r3, #0
	bne	.L158
.L32:
	ldr	r3, .L165+20
	ldr	r3, [r3]
	cmp	r3, r6
	beq	.L33
	ldr	r3, .L165+16
	ldr	r3, [r3]
	cmp	r3, r6
	beq	.L33
.L34:
	cmp	r9, #128
	rsbeq	r3, r7, #0
	beq	.L36
	cmp	r9, #139
	clzeq	r3, r7
	mvnne	r3, r7
	lsreq	r3, r3, #5
.L36:
	ldr	r2, [r4, #8]
	mov	r0, r10
	ldr	r2, [r2]
	add	r3, r3, r2
	add	r5, r5, r3
	bl	symbol_resolved_p
	mov	r7, r0
.L12:
	mov	r3, #0
	str	r3, [r4, #4]
.L7:
	ldr	r3, [r8]
	cmp	r3, #0
	beq	.L28
	mov	r1, r5
	mov	r0, r4
	bl	S_SET_VALUE
.L28:
	mov	r1, r6
	mov	r0, r4
	bl	S_SET_SEGMENT
	ldr	r3, [r8]
	cmp	r3, #0
	beq	.L1
	cmp	r7, #0
	bne	.L150
	mov	r0, r4
	bl	S_GET_SEGMENT
	ldr	r3, .L165+20
	ldr	r3, [r3]
	cmp	r0, r3
	beq	.L1
	ldr	r0, .L165+24
	bl	_
	mov	r6, r0
	mov	r0, r4
	bl	S_GET_NAME
	mov	r1, r0
	mov	r0, r6
	bl	as_bad
	b	.L150
.L9:
	mov	r5, #0
.L14:
	ldr	r3, .L165+8
	ldr	r2, [r4, #8]
	ldr	r1, [r3]
	ldr	r0, [r2]
	bl	__aeabi_idiv
	ldr	r3, .L165+20
	add	r5, r5, r0
	ldr	r3, [r3]
	cmp	r3, r6
	beq	.L159
.L77:
	mov	r7, #1
.L149:
	ldr	r8, .L165+4
	b	.L12
.L16:
	mov	r0, r10
	bl	resolve_symbol_value
	mov	r3, r0
	ldr	r8, .L165+4
	mov	r0, r10
	str	r3, [sp, #8]
	bl	S_GET_SEGMENT
	ldr	r3, [r8]
	str	r0, [sp, #4]
	cmp	r3, #0
	movne	r3, #0
	strne	r3, [r4, #20]
.L17:
	mov	r0, r4
	bl	S_IS_WEAKREFR
	cmp	r0, #0
	bne	.L160
.L18:
	ldr	r3, [r4, #28]
	cmp	r3, #0
	bne	.L161
	clz	r3, r5
	ldr	r2, [r8]
	lsr	r3, r3, #5
	cmp	r2, #0
	moveq	r3, #0
	cmp	r3, #0
	bne	.L162
.L21:
	mov	r0, r10
	bl	S_IS_DEFINED
	cmp	r0, #0
	beq	.L26
	mov	r0, r10
	bl	S_IS_COMMON
	cmp	r0, #0
	bne	.L26
	ldr	r3, [r8]
	ldr	r7, .L165+20
	cmp	r3, #0
	ldr	r3, [r7]
	beq	.L29
	ldr	r2, [sp, #4]
	subs	r2, r2, r3
	movne	r2, #1
	cmp	r6, r3
	movne	r2, #0
	cmp	r2, #0
	bne	.L30
	mov	r0, r4
	bl	symbol_shadow_p
	cmp	r0, #0
	ldreq	r3, [r7]
	bne	.L30
.L29:
	ldr	r2, [r4, #8]
	cmp	r6, r3
	ldr	r3, [r2]
	ldr	r2, [sp, #8]
	ldreq	r6, [sp, #4]
	add	r3, r2, r3
	add	r5, r5, r3
	beq	.L31
	ldr	r3, .L165+16
	ldr	r2, [sp, #4]
	ldr	r3, [r3]
	cmp	r3, r6
	moveq	r6, r2
.L31:
	mov	r0, r10
	bl	symbol_resolved_p
	mov	r7, r0
	mov	r0, r4
	bl	S_IS_WEAKREFR
	cmp	r0, #0
	beq	.L12
	b	.L28
.L50:
	bl	abort
	ldr	r7, [sp, #8]
.L70:
	ldr	r3, [r4, #8]
	ldr	r2, [sp, #20]
	ldr	r3, [r3]
	ldr	r2, [r2]
	add	r7, r7, r3
	ldr	r3, [sp, #16]
	cmp	r2, r6
	ldr	r3, [r3]
	add	r5, r5, r7
	beq	.L72
	cmp	r6, r3
	beq	.L72
.L73:
	mov	r0, r10
	bl	symbol_resolved_p
	subs	r7, r0, #0
	beq	.L12
	mov	r0, fp
	bl	symbol_resolved_p
	subs	r7, r0, #0
	movne	r7, #1
	b	.L12
.L58:
	ldr	r0, [sp, #8]
	ldr	r2, [sp, #4]
	ldr	ip, [sp, #12]
	cmp	r3, r0
	cmpeq	r2, ip
	ldr	r3, [sp, #16]
	ldr	r3, [r3]
	bne	.L71
	subs	r7, r2, r3
	movne	r7, #1
	cmp	r10, fp
	orreq	r7, r7, #1
	rsb	r7, r7, #0
.L71:
	cmp	r1, #134
	mvneq	r7, r7
	b	.L70
.L56:
	mvn	r3, r3
.L148:
	ldr	r2, [sp, #8]
	orr	r7, r3, r2
	b	.L70
.L53:
	ldr	r7, [sp, #8]
	and	r7, r7, r3
	b	.L70
.L54:
	ldr	r7, [sp, #8]
	eor	r7, r7, r3
	b	.L70
.L51:
	ldr	r2, [sp, #8]
	add	r7, r3, r2
	b	.L70
.L57:
	mov	r1, r3
	ldr	r0, [sp, #8]
	bl	__aeabi_idiv
	mov	r7, r0
	b	.L70
.L59:
	ldr	r2, [sp, #8]
	cmp	r3, r2
	movgt	r7, #0
	mvnle	r7, #0
	b	.L70
.L60:
	ldr	r2, [sp, #8]
	cmp	r3, r2
	movge	r7, #0
	mvnlt	r7, #0
	b	.L70
.L61:
	ldr	r2, [sp, #8]
	cmp	r3, r2
	movlt	r7, #0
	mvnge	r7, #0
	b	.L70
.L62:
	ldr	r2, [sp, #8]
	lsl	r7, r2, r3
	b	.L70
.L63:
	subs	r3, r3, #0
	movne	r3, #1
	ldr	r2, [sp, #8]
	cmp	r2, #0
	movne	r7, r3
	moveq	r7, #0
	b	.L70
.L64:
	ldr	r2, [sp, #8]
	orrs	r3, r3, r2
	movne	r7, #1
	moveq	r7, #0
	b	.L70
.L65:
	ldr	r2, [sp, #8]
	cmp	r3, r2
	movle	r7, #0
	mvngt	r7, #0
	b	.L70
.L69:
	ldr	r2, [sp, #8]
	sub	r7, r2, r3
	b	.L70
.L66:
	mov	r1, r3
	ldr	r0, [sp, #8]
	bl	__aeabi_idivmod
	mov	r7, r1
	b	.L70
.L67:
	ldr	r7, [sp, #8]
	mul	r7, r3, r7
	b	.L70
.L68:
	ldr	r2, [sp, #8]
	asr	r7, r2, r3
	b	.L70
.L154:
	ldr	r0, .L165+28
	bl	_
	mov	r7, r0
	mov	r0, r4
	bl	S_GET_NAME
	mov	r1, r0
	mov	r0, r7
	bl	as_bad
	mov	r7, #1
	b	.L7
.L159:
	ldr	r3, .L165+12
	mov	r7, #1
	ldr	r6, [r3]
	ldr	r8, .L165+4
	b	.L12
.L33:
	ldr	r3, .L165+12
	ldr	r6, [r3]
	b	.L34
.L26:
	ldr	r3, [r8]
	cmp	r3, #0
	beq	.L25
	mov	r3, #130
	ldr	r6, [sp, #4]
	str	r10, [r4, #24]
	str	r5, [r4, #16]
	str	r10, [r4, #20]
	str	r3, [r4, #12]
.L25:
	mov	r0, r10
	bl	symbol_resolved_p
	mov	r5, #0
	mov	r7, r0
	str	r5, [r4, #4]
	b	.L28
.L72:
	ldr	r1, [sp, #4]
	ldr	r2, [sp, #12]
	cmp	r2, r3
	cmpne	r1, r3
	moveq	r6, r3
	beq	.L73
	ldr	r3, [sp, #24]
	ldr	r6, [r3]
	cmp	r6, r1
	movne	r2, r1
	mov	r6, r2
	b	.L73
.L161:
	mov	r0, r10
	bl	symbol_resolved_p
	mov	r7, r0
	b	.L12
.L160:
	clz	r0, r5
	lsr	r0, r0, #5
	bl	assert
	mov	r0, r10
	bl	S_IS_WEAKREFR
	cmp	r0, #0
	beq	.L18
	ldr	r3, [r10, #12]
	cmp	r3, #130
	ldreq	r7, [r10, #16]
	clzeq	r7, r7
	lsreq	r7, r7, #5
	mov	r0, r7
	bl	assert
	ldr	r10, [r10, #24]
	mov	r0, r10
	bl	S_IS_WEAKREFR
	clz	r0, r0
	lsr	r0, r0, #5
	bl	assert
	str	r10, [r4, #24]
	b	.L18
.L156:
	ldr	r1, [sp, #12]
	cmp	r1, r2
	ldreq	r8, .L165+4
	subeq	r5, r5, r3
	beq	.L17
.L40:
	cmp	r9, #131
	cmpne	r9, #137
	beq	.L43
	sub	r2, r9, #144
	cmp	r9, #142
	cmpne	r2, #1
	ldrhi	r2, .L165+16
	strhi	r2, [sp, #16]
	bhi	.L44
.L43:
	ldr	r2, [sp, #4]
	ldr	r1, [sp, #12]
	cmp	r2, r1
	ldr	r2, .L165+16
	str	r2, [sp, #16]
	beq	.L144
.L44:
	ldr	r8, .L165+4
	ldr	r2, [r8]
	cmp	r2, #0
	bne	.L145
	ldr	r2, .L165+20
	str	r2, [sp, #20]
	b	.L45
.L46:
	ldr	r2, [sp, #24]
	ldr	r6, [r2]
	b	.L45
.L155:
	ldr	r2, [r2]
	cmp	r2, r0
	ldreq	r8, .L165+4
	addeq	r5, r5, r3
	beq	.L17
	ldr	r1, [sp, #4]
	cmp	r2, r1
	bne	.L40
	ldr	r2, [sp, #8]
	mov	r10, fp
	add	r5, r5, r2
	ldr	r2, [sp, #12]
	ldr	r8, .L165+4
	stmib	sp, {r2, r3}
	b	.L17
.L157:
	ldr	r3, [sp, #24]
	ldr	r2, [sp, #12]
	ldr	r3, [r3]
	cmp	r3, r2
	beq	.L163
.L80:
	mov	r3, #1
	b	.L47
.L158:
	mov	r2, #0
	mov	r1, r10
	mov	r0, r4
	bl	report_op_error
	b	.L32
.L162:
	mov	r0, r10
	bl	LOCAL_SYMBOL_CHECK
	cmp	r0, #0
	bne	.L164
.L22:
	mov	r1, r10
	mov	r0, r4
	bl	copy_symbol_attributes
	b	.L21
.L144:
	ldr	r2, [r2]
	ldr	r1, [sp, #4]
	cmp	r10, fp
	sub	r1, r2, r1
	clz	r1, r1
	lsr	r1, r1, #5
	moveq	r1, #0
	cmp	r1, #0
	bne	.L44
	ldr	r8, .L165+4
	b	.L42
.L145:
	mov	r2, fp
	mov	r1, r10
	mov	r0, r4
	str	r3, [sp, #20]
	bl	report_op_error
	ldr	r3, [sp, #20]
	b	.L42
.L163:
	ldr	r3, [r8]
	cmp	r3, #0
	beq	.L80
	mov	r0, r4
	add	r2, sp, #40
	add	r1, sp, #36
	bl	expr_symbol_where
	cmp	r0, #0
	beq	.L48
	ldr	r1, [sp, #40]
	ldr	r0, .L165+32
	ldr	r9, [sp, #36]
	str	r1, [sp, #28]
	bl	_
	ldr	r1, [sp, #28]
	mov	r2, r0
	mov	r0, r9
	bl	as_bad_where
	b	.L80
.L30:
	mov	r2, #130
	ldr	r3, [r4, #8]
	ldr	r1, [sp, #8]
	ldr	r3, [r3]
	str	r5, [r4, #16]
	add	r3, r1, r3
	mov	r0, r10
	str	r10, [r4, #24]
	str	r10, [r4, #20]
	str	r2, [r4, #12]
	add	r5, r5, r3
	bl	symbol_resolved_p
	mov	r3, #0
	mov	r7, r0
	ldr	r6, [sp, #4]
	str	r3, [r4, #4]
	b	.L28
.L164:
	mov	r0, r10
	bl	local_symbol_convert
	mov	r10, r0
	b	.L22
.L153:
	bl	__stack_chk_fail
.L48:
	ldr	r0, .L165+36
	bl	_
	mov	r9, r0
	mov	r0, r4
	bl	S_GET_NAME
	mov	r1, r0
	mov	r0, r9
	bl	as_bad
	b	.L80
.L8:
	mov	r0, r9
	bl	BAD_CASE
	ldr	r8, .L165+4
	b	.L12
.L166:
	.align	2
.L165:
	.word	.LC4
	.word	finalize_syms
	.word	OCTETS_PER_BYTE
	.word	absolute_section
	.word	undefined_section
	.word	expr_section
	.word	.LC3
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.size	resolve_symbol_value, .-resolve_symbol_value
	.comm	zero_address_frag,4,4
	.comm	undefined_section,4,4
	.comm	stderr,4,4
	.comm	finalize_syms,4,4
	.comm	expr_section,4,4
	.comm	absolute_section,4,4
	.comm	OCTETS_PER_BYTE,4,4
	.comm	BSF_SRELC,4,4
	.comm	BSF_RELC,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
