1	.text
2	.globl	foo
3	.section	.rodata
4foo_addr:
5	.string	"string"
6	.section	.data.rel.local,"aw",@progbits
7	.align 4
8	.type	foo, @object
9	.size	foo, 4
10foo:
11	.long	foo_addr
12	.text
13	.globl	main
14	.type	main, @function
15main:
16	leal	4(%esp), %ecx
17	andl	$-16, %esp
18	pushl	-4(%ecx)
19	pushl	%ebp
20	movl	%esp, %ebp
21	pushl	%ebx
22	pushl	%ecx
23	call	.LPR0
24	addl	$_GLOBAL_OFFSET_TABLE_, %eax
25	movl	foo@GOT(%eax), %edx
26	movl	(%edx), %edx
27	subl	$12, %esp
28	pushl	%edx
29	movl	%eax, %ebx
30	call	puts@PLT
31	addl	$16, %esp
32	movl	$0, %eax
33	leal	-8(%ebp), %esp
34	popl	%ecx
35	popl	%ebx
36	popl	%ebp
37	leal	-4(%ecx), %esp
38	ret
39	.size	main, .-main
40.LPR0:
41	movl	(%esp), %eax
42	ret
43