Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#objdump: -dwrj.text
#target: x86_64-*-*

.*: +file format elf.*-x86-64.*

Disassembly of section .text:

#...
[0-9a-f]+ <check>:
 +[a-f0-9]+:	48 83 ec 08          	sub    \$0x8,%rsp
 +[a-f0-9]+:	67 e8 ([0-9a-f]{2} ){4}[ 	]+addr32 call [0-9a-f]+ <get_func>
 +[a-f0-9]+:	48 81 f8 ([0-9a-f]{2} ){4}[ 	]+cmp    \$0x[0-9a-f]+,%rax
 +[a-f0-9]+:	75 34                	jne    [0-9a-f]+ <check\+0x[0-9a-f]+>
 +[a-f0-9]+:	4(0|8) 39 05 ([0-9a-f]{2} ){4}[ 	]+(rex |)cmp +%(e|r)ax,0x[0-9a-f]+\(%rip\) +# [a-f0-9]+ <func_p>
 +[a-f0-9]+:	75 2b                	jne    [0-9a-f]+ <check\+0x[0-9a-f]+>
 +[a-f0-9]+:	67 e8 ([0-9a-f]{2} ){4}[ 	]+addr32 call [0-9a-f]+ <func>
 +[a-f0-9]+:	3d 78 56 34 12       	cmp    \$0x12345678,%eax
 +[a-f0-9]+:	75 1e                	jne    [0-9a-f]+ <check\+0x[0-9a-f]+>
 +[a-f0-9]+:	67 e8 ([0-9a-f]{2} ){4}[ 	]+addr32 call [0-9a-f]+ <call_func>
 +[a-f0-9]+:	3d 78 56 34 12       	cmp    \$0x12345678,%eax
 +[a-f0-9]+:	75 11                	jne    [0-9a-f]+ <check\+0x[0-9a-f]+>
 +[a-f0-9]+:	48 8d 3d ([0-9a-f]{2} ){4}[ 	]+lea    0x[a-f0-9]+\(%rip\),%rdi +# [a-f0-9]+.*
 +[a-f0-9]+:	48 83 c4 08          	add    \$0x8,%rsp
 +[a-f0-9]+:	e9 ([0-9a-f]{2} ){4}[ 	]+jmp    [a-f0-9]+ <.*puts.*>
 +[a-f0-9]+:	90                   	nop
 +[a-f0-9]+:	67 e8 ([0-9a-f]{2} ){4}[ 	]+addr32 call [0-9a-f]+ <abort>
#...
[0-9a-f]+ <get_func>:
 +[a-f0-9]+:	4(0|8) c7 c0 ([0-9a-f]{2} ){4}[ 	]+(rex |)mov +\$0x[0-9a-f]+,%(e|r)ax
 +[a-f0-9]+:	c3                   	ret *
#...
[0-9a-f]+ <call_func>:
 +[a-f0-9]+:	e9 ([0-9a-f]{2} ){4}[ 	]+jmp    [a-f0-9]+ <func>
 +[a-f0-9]+:	90                   	nop
#pass