1 #source: ibt-plt-2.s
2 #as: --64 -defsym __64_bit__=1
3 #ld: -shared -m elf_x86_64 -z ibtplt --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code
4 #objdump: -dw
5 
6 .*: +file format .*
7 
8 
9 Disassembly of section .plt:
10 
11 0+1f0 <.plt>:
12  +[a-f0-9]+:	ff 35 ca 01 20 00    	push   0x2001ca\(%rip\)        # 2003c0 <_GLOBAL_OFFSET_TABLE_\+0x8>
13  +[a-f0-9]+:	f2 ff 25 cb 01 20 00 	bnd jmp \*0x2001cb\(%rip\)        # 2003c8 <_GLOBAL_OFFSET_TABLE_\+0x10>
14  +[a-f0-9]+:	0f 1f 00             	nopl   \(%rax\)
15  +[a-f0-9]+:	f3 0f 1e fa          	endbr64
16  +[a-f0-9]+:	68 00 00 00 00       	push   \$0x0
17  +[a-f0-9]+:	f2 e9 e1 ff ff ff    	bnd jmp 1f0 <.*>
18  +[a-f0-9]+:	90                   	nop
19  +[a-f0-9]+:	f3 0f 1e fa          	endbr64
20  +[a-f0-9]+:	68 01 00 00 00       	push   \$0x1
21  +[a-f0-9]+:	f2 e9 d1 ff ff ff    	bnd jmp 1f0 <.*>
22  +[a-f0-9]+:	90                   	nop
23 
24 Disassembly of section .plt.sec:
25 
26 0+220 <bar1@plt>:
27  +[a-f0-9]+:	f3 0f 1e fa          	endbr64
28  +[a-f0-9]+:	f2 ff 25 a5 01 20 00 	bnd jmp \*0x2001a5\(%rip\)        # 2003d0 <bar1>
29  +[a-f0-9]+:	0f 1f 44 00 00       	nopl   0x0\(%rax,%rax,1\)
30 
31 0+230 <bar2@plt>:
32  +[a-f0-9]+:	f3 0f 1e fa          	endbr64
33  +[a-f0-9]+:	f2 ff 25 9d 01 20 00 	bnd jmp \*0x20019d\(%rip\)        # 2003d8 <bar2>
34  +[a-f0-9]+:	0f 1f 44 00 00       	nopl   0x0\(%rax,%rax,1\)
35 
36 Disassembly of section .text:
37 
38 0+240 <foo>:
39  +[a-f0-9]+:	48 83 ec 08          	sub    \$0x8,%rsp
40  +[a-f0-9]+:	e8 e7 ff ff ff       	call   230 <bar2@plt>
41  +[a-f0-9]+:	48 83 c4 08          	add    \$0x8,%rsp
42  +[a-f0-9]+:	e9 ce ff ff ff       	jmp    220 <bar1@plt>
43 #pass
44