1	.text
2	.p2align 4,,15
3	.type	implementation1, @function
4implementation1:
5	movl	$1, %eax
6	ret
7	.size	implementation1, .-implementation1
8	.p2align 4,,15
9	.type	implementation2, @function
10implementation2:
11	movl	$2, %eax
12	ret
13	.size	implementation2, .-implementation2
14	.p2align 4,,15
15	.type	resolver2, @function
16resolver2:
17	call	__x86.get_pc_thunk.ax
18	addl	$_GLOBAL_OFFSET_TABLE_, %eax
19	leal	implementation2@GOTOFF(%eax), %eax
20	ret
21	.size	resolver2, .-resolver2
22	.type	func2, @gnu_indirect_function
23	.set	func2,resolver2
24	.p2align 4,,15
25	.type	resolver1, @function
26resolver1:
27	call	__x86.get_pc_thunk.ax
28	addl	$_GLOBAL_OFFSET_TABLE_, %eax
29	leal	implementation1@GOTOFF(%eax), %eax
30	ret
31	.size	resolver1, .-resolver1
32	.globl	func1
33	.type	func1, @gnu_indirect_function
34	.set	func1,resolver1
35	.p2align 4,,15
36	.globl	get_func2
37	.type	get_func2, @function
38get_func2:
39	call	__x86.get_pc_thunk.ax
40	addl	$_GLOBAL_OFFSET_TABLE_, %eax
41	movl	func2@GOT(%eax), %eax
42	ret
43	.size	get_func2, .-get_func2
44	.p2align 4,,15
45	.globl	call_func2
46	.type	call_func2, @function
47call_func2:
48	pushl	%ebx
49	call	__x86.get_pc_thunk.bx
50	addl	$_GLOBAL_OFFSET_TABLE_, %ebx
51	subl	$8, %esp
52	call	*get_func2@GOT(%ebx)
53	cmpl	func2@GOT(%ebx), %eax
54	jne	.L10
55	addl	$8, %esp
56	movl	%ebx, %eax
57	popl	%ebx
58	jmp	*func2@GOT(%eax)
59.L10:
60	call	*abort@GOT(%ebx)
61	.size	call_func2, .-call_func2
62	.section	.text.__x86.get_pc_thunk.ax,"axG",@progbits,__x86.get_pc_thunk.ax,comdat
63	.globl	__x86.get_pc_thunk.ax
64	.hidden	__x86.get_pc_thunk.ax
65	.type	__x86.get_pc_thunk.ax, @function
66__x86.get_pc_thunk.ax:
67	movl	(%esp), %eax
68	ret
69	.section	.text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat
70	.globl	__x86.get_pc_thunk.bx
71	.hidden	__x86.get_pc_thunk.bx
72	.type	__x86.get_pc_thunk.bx, @function
73__x86.get_pc_thunk.bx:
74	movl	(%esp), %ebx
75	ret
76	.section	.note.GNU-stack,"",@progbits
77