	.file	"extr_test-policy.c_test2.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"TEST2"
.LC1:
	.string	"root privilege required."
.LC2:
	.string	"out ipsec"
.LC3:
	.string	"out ipsec ah/transport//use"
.LC4:
	.string	"ERROR: %s"
.LC5:
	.string	"spdflush()"
.LC6:
	.string	"spdsetidx()"
.LC7:
	.string	"spdupdate()"
.LC8:
	.string	"sleep(4)"
.LC9:
	.string	"spddelete()"
.LC10:
	.string	"spdadd()"
.LC11:
	.string	"spdget(%u)\n"
.LC12:
	.string	"spddelete2()"
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC13:
	.string	"spdadd() with lifetime's 10(s)"
	.section	.rodata.str1.1
.LC14:
	.string	"ERROR: expecting failure."
	.text
	.p2align 4
	.globl	test2
	.type	test2, @function
test2:
.LFB0:
	.cfi_startproc
	endbr64
	push	r14
	.cfi_def_cfa_offset 16
	.cfi_offset 14, -16
	lea	rdi, .LC0[rip]
	push	r13
	.cfi_def_cfa_offset 24
	.cfi_offset 13, -24
	push	r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	push	rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	push	rbx
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	call	puts@PLT
	xor	eax, eax
	call	getuid@PLT
	test	rax, rax
	jne	.L18
.L2:
	lea	rdi, .LC2[rip]
	call	strlen@PLT
	lea	rdi, .LC2[rip]
	mov	esi, eax
	call	ipsec_set_policy@PLT
	mov	rdi, rax
	mov	r13, rax
	call	ipsec_get_policylen@PLT
	lea	rdi, .LC3[rip]
	mov	r14d, eax
	call	strlen@PLT
	lea	rdi, .LC3[rip]
	mov	esi, eax
	call	ipsec_set_policy@PLT
	mov	rdi, rax
	mov	rbx, rax
	call	ipsec_get_policylen@PLT
	mov	r12d, eax
	xor	eax, eax
	call	pfkey_open@PLT
	mov	ebp, eax
	test	eax, eax
	js	.L19
.L3:
	lea	rdi, .LC5[rip]
	call	puts@PLT
	mov	edi, ebp
	call	pfkey_send_spdflush@PLT
	test	rax, rax
	js	.L20
.L4:
	mov	edi, ebp
	call	pfkey_recv@PLT
	mov	rdi, rax
	call	free@PLT
	lea	rdi, .LC6[rip]
	call	puts@PLT
	sub	rsp, 8
	.cfi_def_cfa_offset 56
	mov	edx, 128
	mov	edi, ebp
	push	0
	.cfi_def_cfa_offset 64
	mov	rsi, QWORD PTR addr[rip]
	mov	r9d, 255
	mov	r8d, 128
	push	r14
	.cfi_def_cfa_offset 72
	push	r13
	.cfi_def_cfa_offset 80
	mov	rcx, rsi
	call	pfkey_send_spdsetidx@PLT
	add	rsp, 32
	.cfi_def_cfa_offset 48
	test	rax, rax
	js	.L21
.L5:
	mov	edi, ebp
	call	pfkey_recv@PLT
	mov	rdi, rax
	call	free@PLT
	lea	rdi, .LC7[rip]
	call	puts@PLT
	sub	rsp, 8
	.cfi_def_cfa_offset 56
	mov	edx, 128
	mov	edi, ebp
	push	0
	.cfi_def_cfa_offset 64
	mov	rsi, QWORD PTR addr[rip]
	mov	r9d, 255
	mov	r8d, 128
	push	r12
	.cfi_def_cfa_offset 72
	push	rbx
	.cfi_def_cfa_offset 80
	mov	rcx, rsi
	call	pfkey_send_spdupdate@PLT
	add	rsp, 32
	.cfi_def_cfa_offset 48
	test	rax, rax
	js	.L22
.L6:
	mov	edi, ebp
	call	pfkey_recv@PLT
	mov	rdi, rax
	call	free@PLT
	lea	rdi, .LC8[rip]
	call	puts@PLT
	mov	edi, 4
	call	sleep@PLT
	lea	rdi, .LC9[rip]
	call	puts@PLT
	sub	rsp, 8
	.cfi_def_cfa_offset 56
	mov	edx, 128
	mov	edi, ebp
	push	0
	.cfi_def_cfa_offset 64
	mov	rsi, QWORD PTR addr[rip]
	mov	r9d, 255
	mov	r8d, 128
	push	r14
	.cfi_def_cfa_offset 72
	push	r13
	.cfi_def_cfa_offset 80
	mov	rcx, rsi
	call	pfkey_send_spddelete@PLT
	add	rsp, 32
	.cfi_def_cfa_offset 48
	test	rax, rax
	js	.L23
.L7:
	mov	edi, ebp
	call	pfkey_recv@PLT
	mov	rdi, rax
	call	free@PLT
	lea	rdi, .LC10[rip]
	call	puts@PLT
	sub	rsp, 8
	.cfi_def_cfa_offset 56
	mov	edx, 128
	mov	edi, ebp
	push	0
	.cfi_def_cfa_offset 64
	mov	rsi, QWORD PTR addr[rip]
	mov	r9d, 255
	mov	r8d, 128
	push	r12
	.cfi_def_cfa_offset 72
	push	rbx
	.cfi_def_cfa_offset 80
	mov	rcx, rsi
	call	pfkey_send_spdadd@PLT
	add	rsp, 32
	.cfi_def_cfa_offset 48
	test	rax, rax
	js	.L24
.L8:
	mov	edi, ebp
	call	test2sub@PLT
	lea	rdi, .LC11[rip]
	mov	esi, eax
	mov	r13d, eax
	xor	eax, eax
	call	printf@PLT
	mov	esi, r13d
	mov	edi, ebp
	call	pfkey_send_spdget@PLT
	test	rax, rax
	js	.L25
.L9:
	mov	edi, ebp
	call	pfkey_recv@PLT
	mov	rdi, rax
	call	free@PLT
	lea	rdi, .LC8[rip]
	call	puts@PLT
	mov	edi, 4
	call	sleep@PLT
	lea	rdi, .LC12[rip]
	call	puts@PLT
	mov	esi, r13d
	mov	edi, ebp
	call	pfkey_send_spddelete2@PLT
	test	rax, rax
	js	.L26
.L10:
	mov	edi, ebp
	call	pfkey_recv@PLT
	mov	rdi, rax
	call	free@PLT
	lea	rdi, .LC13[rip]
	call	puts@PLT
	sub	rsp, 8
	.cfi_def_cfa_offset 56
	mov	edx, 128
	mov	edi, ebp
	push	0
	.cfi_def_cfa_offset 64
	mov	rsi, QWORD PTR addr[rip]
	mov	r9d, 255
	mov	r8d, 128
	push	r12
	.cfi_def_cfa_offset 72
	push	rbx
	.cfi_def_cfa_offset 80
	mov	rcx, rsi
	push	10
	.cfi_def_cfa_offset 88
	push	0
	.cfi_def_cfa_offset 96
	call	pfkey_send_spdadd2@PLT
	add	rsp, 48
	.cfi_def_cfa_offset 48
	test	rax, rax
	js	.L27
.L11:
	mov	edi, ebp
	call	test2sub@PLT
	lea	rdi, .LC7[rip]
	call	puts@PLT
	sub	rsp, 8
	.cfi_def_cfa_offset 56
	mov	edx, 128
	mov	edi, ebp
	push	0
	.cfi_def_cfa_offset 64
	mov	rsi, QWORD PTR addr[rip]
	mov	r9d, 255
	mov	r8d, 128
	push	r12
	.cfi_def_cfa_offset 72
	push	rbx
	.cfi_def_cfa_offset 80
	mov	rcx, rsi
	call	pfkey_send_spdupdate@PLT
	add	rsp, 32
	.cfi_def_cfa_offset 48
	test	rax, rax
	je	.L28
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	xor	eax, eax
	pop	rbp
	.cfi_def_cfa_offset 32
	pop	r12
	.cfi_def_cfa_offset 24
	pop	r13
	.cfi_def_cfa_offset 16
	pop	r14
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L18:
	.cfi_restore_state
	lea	rsi, .LC1[rip]
	mov	edi, 1
	xor	eax, eax
	call	errx@PLT
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L28:
	lea	rdi, .LC14[rip]
	call	warnx@PLT
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	xor	eax, eax
	pop	rbp
	.cfi_def_cfa_offset 32
	pop	r12
	.cfi_def_cfa_offset 24
	pop	r13
	.cfi_def_cfa_offset 16
	pop	r14
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L27:
	.cfi_restore_state
	xor	eax, eax
	call	ipsec_strerror@PLT
	lea	rsi, .LC4[rip]
	mov	edi, 1
	mov	edx, eax
	xor	eax, eax
	call	errx@PLT
	jmp	.L11
	.p2align 4,,10
	.p2align 3
.L26:
	xor	eax, eax
	call	ipsec_strerror@PLT
	lea	rsi, .LC4[rip]
	mov	edi, 1
	mov	edx, eax
	xor	eax, eax
	call	errx@PLT
	jmp	.L10
	.p2align 4,,10
	.p2align 3
.L25:
	xor	eax, eax
	call	ipsec_strerror@PLT
	lea	rsi, .LC4[rip]
	mov	edi, 1
	mov	edx, eax
	xor	eax, eax
	call	errx@PLT
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L24:
	xor	eax, eax
	call	ipsec_strerror@PLT
	lea	rsi, .LC4[rip]
	mov	edi, 1
	mov	edx, eax
	xor	eax, eax
	call	errx@PLT
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L23:
	xor	eax, eax
	call	ipsec_strerror@PLT
	lea	rsi, .LC4[rip]
	mov	edi, 1
	mov	edx, eax
	xor	eax, eax
	call	errx@PLT
	jmp	.L7
	.p2align 4,,10
	.p2align 3
.L22:
	xor	eax, eax
	call	ipsec_strerror@PLT
	lea	rsi, .LC4[rip]
	mov	edi, 1
	mov	edx, eax
	xor	eax, eax
	call	errx@PLT
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L21:
	xor	eax, eax
	call	ipsec_strerror@PLT
	lea	rsi, .LC4[rip]
	mov	edi, 1
	mov	edx, eax
	xor	eax, eax
	call	errx@PLT
	jmp	.L5
	.p2align 4,,10
	.p2align 3
.L20:
	xor	eax, eax
	call	ipsec_strerror@PLT
	lea	rsi, .LC4[rip]
	mov	edi, 1
	mov	edx, eax
	xor	eax, eax
	call	errx@PLT
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L19:
	xor	eax, eax
	call	ipsec_strerror@PLT
	lea	rsi, .LC4[rip]
	mov	edi, 1
	mov	edx, eax
	xor	eax, eax
	call	errx@PLT
	jmp	.L3
	.cfi_endproc
.LFE0:
	.size	test2, .-test2
	.comm	addr,8,8
	.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_test-policy.c_test2.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"TEST2\000"
	.align	2
.LC1:
	.ascii	"root privilege required.\000"
	.align	2
.LC2:
	.ascii	"out ipsec\000"
	.align	2
.LC3:
	.ascii	"out ipsec ah/transport//use\000"
	.align	2
.LC4:
	.ascii	"ERROR: %s\000"
	.align	2
.LC5:
	.ascii	"spdflush()\000"
	.align	2
.LC6:
	.ascii	"spdsetidx()\000"
	.align	2
.LC7:
	.ascii	"spdupdate()\000"
	.align	2
.LC8:
	.ascii	"sleep(4)\000"
	.align	2
.LC9:
	.ascii	"spddelete()\000"
	.align	2
.LC10:
	.ascii	"spdadd()\000"
	.align	2
.LC11:
	.ascii	"spdget(%u)\012\000"
	.align	2
.LC12:
	.ascii	"spddelete2()\000"
	.align	2
.LC13:
	.ascii	"spdadd() with lifetime's 10(s)\000"
	.align	2
.LC14:
	.ascii	"ERROR: expecting failure.\000"
	.text
	.align	2
	.global	test2
	.syntax unified
	.arm
	.fpu softvfp
	.type	test2, %function
test2:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, lr}
	ldr	r0, .L29
	sub	sp, sp, #36
	bl	puts
	bl	getuid
	cmp	r0, #0
	bne	.L18
.L2:
	mov	r1, #9
	ldr	r0, .L29+4
	bl	ipsec_set_policy
	mov	r8, r0
	bl	ipsec_get_policylen
	mov	r1, #27
	mov	r9, r0
	ldr	r0, .L29+8
	bl	ipsec_set_policy
	mov	r5, r0
	bl	ipsec_get_policylen
	mov	r6, r0
	bl	pfkey_open
	subs	r4, r0, #0
	blt	.L19
.L3:
	ldr	r0, .L29+12
	bl	puts
	mov	r0, r4
	bl	pfkey_send_spdflush
	cmp	r0, #0
	blt	.L20
.L4:
	mov	r0, r4
	bl	pfkey_recv
	bl	free
	ldr	r0, .L29+16
	bl	puts
	mov	ip, #0
	mov	r0, #255
	mov	r2, #128
	ldr	r7, .L29+20
	str	r0, [sp, #4]
	ldr	r3, [r7]
	mov	r0, r4
	mov	r1, r3
	str	r9, [sp, #12]
	str	r8, [sp, #8]
	str	ip, [sp, #16]
	str	r2, [sp]
	bl	pfkey_send_spdsetidx
	cmp	r0, #0
	blt	.L21
.L5:
	mov	r0, r4
	bl	pfkey_recv
	bl	free
	ldr	r0, .L29+24
	bl	puts
	mov	r0, #0
	mov	r1, #255
	mov	r2, #128
	ldr	r3, [r7]
	str	r0, [sp, #16]
	str	r1, [sp, #4]
	mov	r0, r4
	mov	r1, r3
	str	r6, [sp, #12]
	str	r5, [sp, #8]
	str	r2, [sp]
	bl	pfkey_send_spdupdate
	cmp	r0, #0
	blt	.L22
.L6:
	mov	r0, r4
	bl	pfkey_recv
	bl	free
	ldr	r0, .L29+28
	bl	puts
	mov	r0, #4
	bl	sleep
	ldr	r0, .L29+32
	bl	puts
	mov	r0, #0
	mov	r1, #255
	mov	r2, #128
	ldr	r3, [r7]
	str	r0, [sp, #16]
	str	r1, [sp, #4]
	mov	r0, r4
	mov	r1, r3
	str	r9, [sp, #12]
	str	r8, [sp, #8]
	str	r2, [sp]
	bl	pfkey_send_spddelete
	cmp	r0, #0
	blt	.L23
.L7:
	mov	r0, r4
	bl	pfkey_recv
	bl	free
	ldr	r0, .L29+36
	bl	puts
	mov	r0, #0
	mov	r1, #255
	mov	r2, #128
	ldr	r3, [r7]
	str	r0, [sp, #16]
	str	r1, [sp, #4]
	mov	r0, r4
	mov	r1, r3
	str	r6, [sp, #12]
	str	r5, [sp, #8]
	str	r2, [sp]
	bl	pfkey_send_spdadd
	cmp	r0, #0
	blt	.L24
.L8:
	mov	r0, r4
	bl	test2sub
	mov	r8, r0
	ldr	r0, .L29+40
	mov	r1, r8
	bl	printf
	mov	r1, r8
	mov	r0, r4
	bl	pfkey_send_spdget
	cmp	r0, #0
	blt	.L25
.L9:
	mov	r0, r4
	bl	pfkey_recv
	bl	free
	ldr	r0, .L29+28
	bl	puts
	mov	r0, #4
	bl	sleep
	ldr	r0, .L29+44
	bl	puts
	mov	r1, r8
	mov	r0, r4
	bl	pfkey_send_spddelete2
	cmp	r0, #0
	blt	.L26
.L10:
	mov	r0, r4
	bl	pfkey_recv
	bl	free
	ldr	r0, .L29+48
	bl	puts
	mov	r1, #0
	mov	ip, #10
	mov	r0, #255
	mov	r2, #128
	ldr	r3, [r7]
	stmib	sp, {r0, r1, ip}
	str	r1, [sp, #24]
	mov	r0, r4
	mov	r1, r3
	str	r6, [sp, #20]
	str	r5, [sp, #16]
	str	r2, [sp]
	bl	pfkey_send_spdadd2
	cmp	r0, #0
	blt	.L27
.L11:
	mov	r0, r4
	bl	test2sub
	ldr	r0, .L29+24
	bl	puts
	mov	lr, #0
	mov	ip, #255
	mov	r2, #128
	ldr	r3, [r7]
	mov	r0, r4
	mov	r1, r3
	stm	sp, {r2, ip}
	str	r6, [sp, #12]
	str	r5, [sp, #8]
	str	lr, [sp, #16]
	bl	pfkey_send_spdupdate
	cmp	r0, #0
	beq	.L28
	mov	r0, #0
	add	sp, sp, #36
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, pc}
.L18:
	ldr	r1, .L29+52
	mov	r0, #1
	bl	errx
	b	.L2
.L28:
	ldr	r0, .L29+56
	bl	warnx
	mov	r0, #0
	add	sp, sp, #36
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, pc}
.L27:
	bl	ipsec_strerror
	ldr	r1, .L29+60
	mov	r2, r0
	mov	r0, #1
	bl	errx
	b	.L11
.L26:
	bl	ipsec_strerror
	ldr	r1, .L29+60
	mov	r2, r0
	mov	r0, #1
	bl	errx
	b	.L10
.L25:
	bl	ipsec_strerror
	ldr	r1, .L29+60
	mov	r2, r0
	mov	r0, #1
	bl	errx
	b	.L9
.L24:
	bl	ipsec_strerror
	ldr	r1, .L29+60
	mov	r2, r0
	mov	r0, #1
	bl	errx
	b	.L8
.L23:
	bl	ipsec_strerror
	ldr	r1, .L29+60
	mov	r2, r0
	mov	r0, #1
	bl	errx
	b	.L7
.L22:
	bl	ipsec_strerror
	ldr	r1, .L29+60
	mov	r2, r0
	mov	r0, #1
	bl	errx
	b	.L6
.L21:
	bl	ipsec_strerror
	ldr	r1, .L29+60
	mov	r2, r0
	mov	r0, #1
	bl	errx
	b	.L5
.L20:
	bl	ipsec_strerror
	ldr	r1, .L29+60
	mov	r2, r0
	mov	r0, #1
	bl	errx
	b	.L4
.L19:
	bl	ipsec_strerror
	ldr	r1, .L29+60
	mov	r2, r0
	mov	r0, #1
	bl	errx
	b	.L3
.L30:
	.align	2
.L29:
	.word	.LC0
	.word	.LC2
	.word	.LC3
	.word	.LC5
	.word	.LC6
	.word	addr
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC1
	.word	.LC14
	.word	.LC4
	.size	test2, .-test2
	.comm	addr,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
