1 #source: tlspie3.s
2 #as: --32 -mrelax-relocations=yes
3 #ld: -melf_i386 -pie -z call-nop=suffix-nop
4 #objdump: -dwr
5 
6 .*: +file format .*
7 
8 
9 Disassembly of section .text:
10 
11 [0-9a-f]+ <___tls_get_addr>:
12 [ 	]*[a-f0-9]+:	c3                   	ret
13 
14 [0-9a-f]+ <_start>:
15 [ 	]*[a-f0-9]+:	55                   	push   %ebp
16 [ 	]*[a-f0-9]+:	89 e5                	mov    %esp,%ebp
17 [ 	]*[a-f0-9]+:	56                   	push   %esi
18 [ 	]*[a-f0-9]+:	53                   	push   %ebx
19 [ 	]*[a-f0-9]+:	e8 00 00 00 00       	call   [0-9a-f]+ .*
20 [ 	]*[a-f0-9]+:	5b                   	pop    %ebx
21 [ 	]*[a-f0-9]+:	81 c3 ([0-9a-f]{2} ){4}[ 	]+add    \$0x[0-9a-f]+,%ebx
22 [ 	]*[a-f0-9]+:	65 8b 35 f0 ff ff ff 	mov    %gs:0xfffffff0,%esi
23 [ 	]*[a-f0-9]+:	65 03 35 ec ff ff ff 	add    %gs:0xffffffec,%esi
24 [ 	]*[a-f0-9]+:	c7 c0 f4 ff ff ff    	mov    \$0xfffffff4,%eax
25 [ 	]*[a-f0-9]+:	65 03 30             	add    %gs:\(%eax\),%esi
26 [ 	]*[a-f0-9]+:	65 a1 00 00 00 00    	mov    %gs:0x0,%eax
27 [ 	]*[a-f0-9]+:	8d b6 00 00 00 00    	lea    0x0\(%esi\),%esi
28 [ 	]*[a-f0-9]+:	03 30                	add    \(%eax\),%esi
29 [ 	]*[a-f0-9]+:	65 a1 00 00 00 00    	mov    %gs:0x0,%eax
30 [ 	]*[a-f0-9]+:	81 e8 04 00 00 00    	sub    \$0x4,%eax
31 [ 	]*[a-f0-9]+:	03 30                	add    \(%eax\),%esi
32 [ 	]*[a-f0-9]+:	89 f0                	mov    %esi,%eax
33 [ 	]*[a-f0-9]+:	5b                   	pop    %ebx
34 [ 	]*[a-f0-9]+:	5e                   	pop    %esi
35 [ 	]*[a-f0-9]+:	c9                   	leave
36 [ 	]*[a-f0-9]+:	c3                   	ret
37 #pass
38