1#source: bnd-branch-1.s
2#as: --64
3#ld: -shared -melf_x86_64 -z bndplt
4#objdump: -dw
5
6.*: +file format .*
7
8
9Disassembly of section .plt:
10
110+290 <.plt>:
12[ 	]*[a-f0-9]+:	ff 35 82 01 20 00    	pushq  0x200182\(%rip\)        # 200418 <_GLOBAL_OFFSET_TABLE_\+0x8>
13[ 	]*[a-f0-9]+:	f2 ff 25 83 01 20 00 	bnd jmpq \*0x200183\(%rip\)        # 200420 <_GLOBAL_OFFSET_TABLE_\+0x10>
14[ 	]*[a-f0-9]+:	0f 1f 00             	nopl   \(%rax\)
15[ 	]*[a-f0-9]+:	68 00 00 00 00       	pushq  \$0x0
16[ 	]*[a-f0-9]+:	f2 e9 e5 ff ff ff    	bnd jmpq 290 <.*>
17[ 	]*[a-f0-9]+:	0f 1f 44 00 00       	nopl   0x0\(%rax,%rax,1\)
18[ 	]*[a-f0-9]+:	68 01 00 00 00       	pushq  \$0x1
19[ 	]*[a-f0-9]+:	f2 e9 d5 ff ff ff    	bnd jmpq 290 <.*>
20[ 	]*[a-f0-9]+:	0f 1f 44 00 00       	nopl   0x0\(%rax,%rax,1\)
21[ 	]*[a-f0-9]+:	68 02 00 00 00       	pushq  \$0x2
22[ 	]*[a-f0-9]+:	f2 e9 c5 ff ff ff    	bnd jmpq 290 <.*>
23[ 	]*[a-f0-9]+:	0f 1f 44 00 00       	nopl   0x0\(%rax,%rax,1\)
24[ 	]*[a-f0-9]+:	68 03 00 00 00       	pushq  \$0x3
25[ 	]*[a-f0-9]+:	f2 e9 b5 ff ff ff    	bnd jmpq 290 <.*>
26[ 	]*[a-f0-9]+:	0f 1f 44 00 00       	nopl   0x0\(%rax,%rax,1\)
27
28Disassembly of section .plt.bnd:
29
300+2e0 <foo2@plt>:
31[ 	]*[a-f0-9]+:	f2 ff 25 41 01 20 00 	bnd jmpq \*0x200141\(%rip\)        # 200428 <foo2>
32[ 	]*[a-f0-9]+:	90                   	nop
33
340+2e8 <foo3@plt>:
35[ 	]*[a-f0-9]+:	f2 ff 25 41 01 20 00 	bnd jmpq \*0x200141\(%rip\)        # 200430 <foo3>
36[ 	]*[a-f0-9]+:	90                   	nop
37
380+2f0 <foo1@plt>:
39[ 	]*[a-f0-9]+:	f2 ff 25 41 01 20 00 	bnd jmpq \*0x200141\(%rip\)        # 200438 <foo1>
40[ 	]*[a-f0-9]+:	90                   	nop
41
420+2f8 <foo4@plt>:
43[ 	]*[a-f0-9]+:	f2 ff 25 41 01 20 00 	bnd jmpq \*0x200141\(%rip\)        # 200440 <foo4>
44[ 	]*[a-f0-9]+:	90                   	nop
45
46Disassembly of section .text:
47
480+300 <_start>:
49[ 	]*[a-f0-9]+:	f2 e9 ea ff ff ff    	bnd jmpq 2f0 <foo1@plt>
50[ 	]*[a-f0-9]+:	e8 d5 ff ff ff       	callq  2e0 <foo2@plt>
51[ 	]*[a-f0-9]+:	e9 d8 ff ff ff       	jmpq   2e8 <foo3@plt>
52[ 	]*[a-f0-9]+:	e8 e3 ff ff ff       	callq  2f8 <foo4@plt>
53[ 	]*[a-f0-9]+:	f2 e8 cd ff ff ff    	bnd callq 2e8 <foo3@plt>
54[ 	]*[a-f0-9]+:	e9 d8 ff ff ff       	jmpq   2f8 <foo4@plt>
55#pass
56