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

#source: dsov32-1.s
#source: dsov32-2.s
#source: dsofn4g.s
#as: --pic --no-underscore --march=v32 --em=criself
#ld: --shared -m crislinux --hash-style=sysv
#objdump: -d -R

# Check dissassembly of the .plt section, specifically the synthetic
# symbols, in a DSO in which a .got.plt entry has been merged into a
# regular .got entry.  There was a bug in which some (i.e. subsequent
# with regards to reloc order) synthetic X@plt entries were wrong if
# there were merged .got entries present; dsofn4@plt below.  The
# alternatives in the matching regexps are placeholders for a future
# improvement: synthetic symbols for .plt entries with merged .got
# entries (lost as a consequence of the relocs no longer accounted for
# in .rela.plt and the default synthetic-symbol implementation just
# iterating over .rela.plt).

.*:     file format elf32-cris

Disassembly of section \.plt:

0+160 <.*>:
 160:	84e2                	subq 4,\$sp
 162:	0401                	addoq 4,\$r0,\$acr
 164:	7e7a                	move \$mof,\[\$sp\]
 166:	3f7a                	move \[\$acr\],\$mof
 168:	04f2                	addq 4,\$acr
 16a:	6ffa                	move\.d \[\$acr\],\$acr
 16c:	bf09                	jump \$acr
 16e:	b005                	nop 
	\.\.\.
#...
 17a:	6f0d ..00 0000      	addo\.d .*
 180:	6ffa                	move\.d \[\$acr\],\$acr
 182:	bf09                	jump \$acr
 184:	b005                	nop 
 186:	3f7e .... ....      	move .*,\$mof
 18c:	bf0e .... ....      	ba .*
 192:	b005                	nop 

0+194 <dsofn@plt>:
 194:	6f0d ..00 0000      	addo\.d .*
 19a:	6ffa                	move\.d \[\$acr\],\$acr
 19c:	bf09                	jump \$acr
 19e:	b005                	nop 
 1a0:	3f7e .... ....      	move .*,\$mof
 1a6:	bf0e baff ffff      	ba 160 <.*>
 1ac:	b005                	nop 

Disassembly of section \.text:
#...
0+1ae <dsofn3>:
 1ae:	bfbe e6ff ffff      	bsr 194 <dsofn@plt>
 1b4:	b005                	nop 

0+1b6 <dsofn4>:
 1b6:	7f0d ae20 0000      	lapc 2264 <_GLOBAL_OFFSET_TABLE_>,\$r0
 1bc:	5f0d 1400           	addo\.w 0x14,\$r0,\$acr
 1c0:	bfbe baff ffff      	bsr 17a <.*>
#pass