
# TEST-OPTIONS:  unwind_test_main.c unwind_test_x86_64.s -arch x86_64 
# TEST-OPTIONS:  unwind_test_main.c unwind_test_x86_64.s -arch x86_64 -Wl,-no_compact_unwind


	.data
.globl _unwind_tester_list
_unwind_tester_list:	
	.quad	_test_no_reg
	.quad	Ltest_rbx
	.quad	_test_rbx_pad_r12
	.quad	_test_rbx_same_value
	.quad	_test_rbx_same_register
	.quad	0


	.text


.globl _test_big_frameless_stack_odd_dwarf
_test_big_frameless_stack_odd_dwarf:
L100:
	subq	$160016, %rsp
L102:
	movq	$0, %rbx
	call	_uwind_to_main
	addq	$160016, %rsp
	ret
L103:


LFE14:
.globl _test_no_reg
_test_no_reg:
LFB13:
	pushq	%rbp
LCFI2:
	movq	%rsp, %rbp
LCFI3:
	call	_uwind_to_main
	leave
	ret
LFE13:


.globl Ltest_rbx
Ltest_rbx:
LFB10:
	pushq	%rbp
LCFI8:
	movq	%rsp, %rbp
LCFI9:
	pushq	%rbx
LCFI10:
	subq	$8, %rsp
LCFI11:
	movq	$0, %rbx
	call	_uwind_to_main
	addq	$8, %rsp
	popq	%rbx
	leave
	ret
LFE10:


.globl _test_rbx_pad_r12
_test_rbx_pad_r12:
LFB8:
	pushq	%rbp
LCFI16:
	movq	%rsp, %rbp
LCFI17:
	movq	%rbx, -56(%rbp)
LCFI18:
	movq	%r12, -8(%rbp)
LCFI19:
	subq	$64, %rsp
LCFI20:
	movq	$0, %rbx
	movq	$0, %r12
	call	_uwind_to_main
	movq	(%rsp), %rbx
	movq	8(%rsp), %r12
	leave
	ret
LFE8:


.globl _test_rbx_same_value
_test_rbx_same_value:
LFB10b:
	jmp		L33
	pushq	%rbx
LCFI3b:
	movq	$0, %rbx
	call	_uwind_to_main
	popq	%rbx
	ret
L33:
	pushq	$0
	call	_uwind_to_main
	popq	%rax
	ret
LFE10b:


.globl _test_rbx_same_register
_test_rbx_same_register:
LFB10c:
	jmp		L34
	pushq	%rbx
LCFI3c:
	movq	$0, %rbx
	call	_uwind_to_main
	popq	%rbx
	ret
L34:
	pushq	$0
	call	_uwind_to_main
	popq	%rax
	ret
LFE10c:




	.section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
EH_frame1:
	.set L$set$0,LECIE1-LSCIE1
	.long L$set$0
LSCIE1:
	.long	0x0
	.byte	0x1
	.ascii "zR\0"
	.byte	0x1
	.byte	0x78
	.byte	0x10
	.byte	0x1
	.byte	0x10
	.byte	0xc
	.byte	0x7
	.byte	0x8
	.byte	0x90
	.byte	0x1
	.align 3
LECIE1:

.globl _test_no_reg.eh
_test_no_reg.eh:
LSFDE3:
	.set L$set$5,LEFDE3-LASFDE3
	.long L$set$5
LASFDE3:
	.long	LASFDE3-EH_frame1
	.quad	LFB13-.
	.set L$set$6,LFE13-LFB13
	.quad L$set$6
	.byte	0x0
	.byte	0x4
	.set L$set$7,LCFI2-LFB13
	.long L$set$7
	.byte	0xe
	.byte	0x10
	.byte	0x86
	.byte	0x2
	.byte	0x4
	.set L$set$8,LCFI3-LCFI2
	.long L$set$8
	.byte	0xd
	.byte	0x6
	.align 3
LEFDE3:

.globl Ltest_rbx.eh
Ltest_rbx.eh:
LSFDE9:
	.set L$set$17,LEFDE9-LASFDE9
	.long L$set$17
LASFDE9:
	.long	LASFDE9-EH_frame1
	.quad	LFB10-.
	.set L$set$18,LFE10-LFB10
	.quad L$set$18
	.byte	0x0
	.byte	0x4
	.set L$set$19,LCFI8-LFB10
	.long L$set$19
	.byte	0xe
	.byte	0x10
	.byte	0x86
	.byte	0x2
	.byte	0x4
	.set L$set$20,LCFI9-LCFI8
	.long L$set$20
	.byte	0xd
	.byte	0x6
	.byte	0x4
	.set L$set$21,LCFI11-LCFI9
	.long L$set$21
	.byte	0x83
	.byte	0x3
	.align 3
LEFDE9:

.globl _test_rbx_pad_r12.eh
_test_rbx_pad_r12.eh:
LSFDE13:
	.set L$set$27,LEFDE13-LASFDE13
	.long L$set$27
LASFDE13:
	.long	LASFDE13-EH_frame1
	.quad	LFB8-.
	.set L$set$28,LFE8-LFB8
	.quad L$set$28
	.byte	0x0
	.byte	0x4
	.set L$set$29,LCFI16-LFB8
	.long L$set$29
	.byte	0xe
	.byte	0x10
	.byte	0x86
	.byte	0x2
	.byte	0x4
	.set L$set$30,LCFI17-LCFI16
	.long L$set$30
	.byte	0xd
	.byte	0x6
	.byte	0x4
	.set L$set$31,LCFI20-LCFI17
	.long L$set$31
	.byte	0x8c
	.byte	0x3
	.byte	0x83
	.byte	0x9
	.align 3
LEFDE13:



.globl _test_big_frameless_stack_odd_dwarf.eh
_test_big_frameless_stack_odd_dwarf.eh:
	.set L$set$12a,LEFDE9a-LASFDE9a
	.long L$set$12a	# FDE Length
LASFDE9a:
	.long	LASFDE9a-EH_frame1	# FDE CIE offset
	.quad	L100-.	# FDE initial location
	.set L$set$13a,L103-L100
	.quad L$set$13a	# FDE address range
	.byte	0x0	# uleb128 0x0; Augmentation size
	.byte	0x4	# DW_CFA_advance_loc4
	.long	7
	.byte	0xc	# DW_CFA_def_cfa
	.byte	0x07	# uleb128 7
	.byte	0x90,0xe2,0x9	# uleb128 0x27110
	.align 3
LEFDE9a:


.globl _test_rbx_same_value.eh
_test_rbx_same_value.eh:
LSFDE9b:
	.set L$set$12,LEFDE9b-LASFDE9b
	.long L$set$12	# FDE Length
LASFDE9b:
	.long	LASFDE9b-EH_frame1	# FDE CIE offset
	.quad	LFB10b-.	# FDE initial location
	.set L$set$13,LFE10b-LFB10b
	.quad L$set$13	# FDE address range
	.byte	0x0	# uleb128 0x0; Augmentation size
	.byte	0x4	# DW_CFA_advance_loc4
	.set L$set$14,LCFI3b-LFB10b
	.long L$set$14
	.byte	0xe	# DW_CFA_def_cfa_offset
	.byte	0x10	# uleb128 0x10
	.byte	0x83	# DW_CFA_offset, column 0x3
	.byte	0x2	# uleb128 0x2
	.byte	0x4	# DW_CFA_advance_loc4
	.set L$set$15,L33-LCFI3b
	.long L$set$15
	.byte	0x08	# DW_CFA_same_value
	.byte	0x3	# uleb128 0x3
	.align 3
LEFDE9b:


.globl _test_rbx_same_register.eh
_test_rbx_same_register.eh:
LSFDE9c:
	.set L$set$12,LEFDE9c-LASFDE9c
	.long L$set$12	# FDE Length
LASFDE9c:
	.long	LASFDE9c-EH_frame1	# FDE CIE offset
	.quad	LFB10c-.	# FDE initial location
	.set L$set$16c,LFE10c-LFB10c
	.quad L$set$16c	# FDE address range
	.byte	0x0	# uleb128 0x0; Augmentation size
	.byte	0x4	# DW_CFA_advance_loc4
	.set L$set$17c,LCFI3c-LFB10c
	.long L$set$17c
	.byte	0xe	# DW_CFA_def_cfa_offset
	.byte	0x10	# uleb128 0x10
	.byte	0x83	# DW_CFA_offset, column 0x3
	.byte	0x2	# uleb128 0x2
	.byte	0x4	# DW_CFA_advance_loc4
	.set L$set$18c,L34-LCFI3c
	.long L$set$18c
	.byte	0x09	# DW_CFA_register
	.byte	0x3	# uleb128 0x3
	.byte	0x3	# uleb128 0x3
	.align 3
LEFDE9c:


