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 
9 Disassembly of section .plt:
10 
11 0+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 <foo2@plt-0x50>
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 <foo2@plt-0x50>
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 <foo2@plt-0x50>
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 <foo2@plt-0x50>
26 [ 	]*[a-f0-9]+:	0f 1f 44 00 00       	nopl   0x0\(%rax,%rax,1\)
27 
28 Disassembly of section .plt.bnd:
29 
30 0+2e0 <foo2@plt>:
31 [ 	]*[a-f0-9]+:	f2 ff 25 41 01 20 00 	bnd jmpq \*0x200141\(%rip\)        # 200428 <_GLOBAL_OFFSET_TABLE_\+0x18>
32 [ 	]*[a-f0-9]+:	90                   	nop
33 
34 0+2e8 <foo3@plt>:
35 [ 	]*[a-f0-9]+:	f2 ff 25 41 01 20 00 	bnd jmpq \*0x200141\(%rip\)        # 200430 <_GLOBAL_OFFSET_TABLE_\+0x20>
36 [ 	]*[a-f0-9]+:	90                   	nop
37 
38 0+2f0 <foo1@plt>:
39 [ 	]*[a-f0-9]+:	f2 ff 25 41 01 20 00 	bnd jmpq \*0x200141\(%rip\)        # 200438 <_GLOBAL_OFFSET_TABLE_\+0x28>
40 [ 	]*[a-f0-9]+:	90                   	nop
41 
42 0+2f8 <foo4@plt>:
43 [ 	]*[a-f0-9]+:	f2 ff 25 41 01 20 00 	bnd jmpq \*0x200141\(%rip\)        # 200440 <_GLOBAL_OFFSET_TABLE_\+0x30>
44 [ 	]*[a-f0-9]+:	90                   	nop
45 
46 Disassembly of section .text:
47 
48 0+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