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


Dynamic section .*
#...
 0x00000003 \(PLTGOT\)                     0x10201000
#...
 0x70000013 \(MIPS_GOTSYM\)                0x1f
 0x00000014 \(PLTREL\)                     REL
 0x00000017 \(JMPREL\)                     0x10004000
 0x00000002 \(PLTRELSZ\)                   224 \(bytes\)
 0x70000032 \(MIPS_PLTGOT\)                0x10200000
#...
Relocation section '\.rel\.plt' .*
 Offset     Info    Type            Sym\.Value  Sym\. Name
10200008  [^ ]+ R_MIPS_JUMP_SLOT  10100121   f_lo_iu
1020000c  [^ ]+ R_MIPS_JUMP_SLOT  10100020   f_lo_iu_du_dc
10200010  [^ ]+ R_MIPS_JUMP_SLOT  10100030   f_lo_du_ic_dc
10200014  [^ ]+ R_MIPS_JUMP_SLOT  00000000   f_du_dc
10200018  [^ ]+ R_MIPS_JUMP_SLOT  10100151   f_lo_iu_dc
1020001c  [^ ]+ R_MIPS_JUMP_SLOT  00000000   f_iu_du_ic
10200020  [^ ]+ R_MIPS_JUMP_SLOT  10100060   f_lo_du_ic
10200024  [^ ]+ R_MIPS_JUMP_SLOT  00000000   f_iu_dc
10200028  [^ ]+ R_MIPS_JUMP_SLOT  10100169   f_lo_iu_ic
1020002c  [^ ]+ R_MIPS_JUMP_SLOT  10100175   f_lo_ic
10200030  [^ ]+ R_MIPS_JUMP_SLOT  10100070   f_lo_du_dc
10200034  [^ ]+ R_MIPS_JUMP_SLOT  00000000   f_du
10200038  [^ ]+ R_MIPS_JUMP_SLOT  00000000   f_du_ic_dc
1020003c  [^ ]+ R_MIPS_JUMP_SLOT  00000000   f_du_ic
10200040  [^ ]+ R_MIPS_JUMP_SLOT  00000000   f_iu_du_dc
10200044  [^ ]+ R_MIPS_JUMP_SLOT  101001a5   f_lo_dc
10200048  [^ ]+ R_MIPS_JUMP_SLOT  00000000   f_iu_du
1020004c  [^ ]+ R_MIPS_JUMP_SLOT  101000d0   f_lo_iu_du
10200050  [^ ]+ R_MIPS_JUMP_SLOT  00000000   f_dc
10200054  [^ ]+ R_MIPS_JUMP_SLOT  00000000   f_ic_dc
10200058  [^ ]+ R_MIPS_JUMP_SLOT  101000e0   f_lo_du
1020005c  [^ ]+ R_MIPS_JUMP_SLOT  00000000   f_iu_ic_dc
10200060  [^ ]+ R_MIPS_JUMP_SLOT  00000000   f_iu_du_ic_dc
10200064  [^ ]+ R_MIPS_JUMP_SLOT  101001e1   f_lo_iu_ic_dc
10200068  [^ ]+ R_MIPS_JUMP_SLOT  10100100   f_lo_iu_du_ic
1020006c  [^ ]+ R_MIPS_JUMP_SLOT  10100110   f_lo_iu_du_ic_dc
10200070  [^ ]+ R_MIPS_JUMP_SLOT  101001f9   f_lo_ic_dc
10200074  [^ ]+ R_MIPS_JUMP_SLOT  10100205   f_lo

Symbol table '\.dynsym' .*
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
# _lo symbols have their address taken, so their PLT symbols need to have
# a nonzero value.  They must also have STO_MIPS_PLT in order to distinguish
# them from old-style lazy-binding stubs.  Non-_lo symbols are only called,
# so their PLT symbols should have a zero value and no STO_MIPS_PLT annotation.
#
# A MIPS (as opposed to microMIPS) PLT should be used as the symbol value
# if and only if the function has a direct MIPS caller (du).
    .*: 10100121     0 FUNC    GLOBAL DEFAULT \[MIPS PLT\]   UND f_lo_iu
    .*: 10100020     0 FUNC    GLOBAL DEFAULT \[MIPS PLT\]   UND f_lo_iu_du_dc
#...
    .*: 10100030     0 FUNC    GLOBAL DEFAULT \[MIPS PLT\]   UND f_lo_du_ic_dc
    .*: 00000000     0 FUNC    GLOBAL DEFAULT  UND f_du_dc
    .*: 10100151     0 FUNC    GLOBAL DEFAULT \[MIPS PLT\]   UND f_lo_iu_dc
    .*: 00000000     0 FUNC    GLOBAL DEFAULT  UND f_iu_du_ic
    .*: 10100060     0 FUNC    GLOBAL DEFAULT \[MIPS PLT\]   UND f_lo_du_ic
    .*: 00000000     0 FUNC    GLOBAL DEFAULT  UND f_iu_dc
    .*: 10100169     0 FUNC    GLOBAL DEFAULT \[MIPS PLT\]   UND f_lo_iu_ic
    .*: 10100175     0 FUNC    GLOBAL DEFAULT \[MIPS PLT\]   UND f_lo_ic
    .*: 10100070     0 FUNC    GLOBAL DEFAULT \[MIPS PLT\]   UND f_lo_du_dc
    .*: 00000000     0 FUNC    GLOBAL DEFAULT  UND f_du
    .*: 00000000     0 FUNC    GLOBAL DEFAULT  UND f_du_ic_dc
    .*: 00000000     0 FUNC    GLOBAL DEFAULT  UND f_du_ic
    .*: 00000000     0 FUNC    GLOBAL DEFAULT  UND f_iu_du_dc
    .*: 101001a5     0 FUNC    GLOBAL DEFAULT \[MIPS PLT\]   UND f_lo_dc
    .*: 00000000     0 FUNC    GLOBAL DEFAULT  UND f_iu_du
    .*: 101000d0     0 FUNC    GLOBAL DEFAULT \[MIPS PLT\]   UND f_lo_iu_du
    .*: 00000000     0 FUNC    GLOBAL DEFAULT  UND f_dc
    .*: 00000000     0 FUNC    GLOBAL DEFAULT  UND f_ic_dc
    .*: 101000e0     0 FUNC    GLOBAL DEFAULT \[MIPS PLT\]   UND f_lo_du
    .*: 00000000     0 FUNC    GLOBAL DEFAULT  UND f_iu_ic_dc
    .*: 00000000     0 FUNC    GLOBAL DEFAULT  UND f_iu_du_ic_dc
#...
    .*: 101001e1     0 FUNC    GLOBAL DEFAULT \[MIPS PLT\]   UND f_lo_iu_ic_dc
    .*: 10100100     0 FUNC    GLOBAL DEFAULT \[MIPS PLT\]   UND f_lo_iu_du_ic
    .*: 10100110     0 FUNC    GLOBAL DEFAULT \[MIPS PLT\]   UND f_lo_iu_du_ic_dc
    .*: 101001f9     0 FUNC    GLOBAL DEFAULT \[MIPS PLT\]   UND f_lo_ic_dc
    .*: 10100205     0 FUNC    GLOBAL DEFAULT \[MIPS PLT\]   UND f_lo
# The start of the GOT-mapped area.  This should only contain functions that
# are accessed purely via the traditional psABI scheme.  The symbol value
# is the address of the lazy-binding stub.
    31: 10101019     0 FUNC    GLOBAL DEFAULT  UND f_iu_ic
    32: 1010100d     0 FUNC    GLOBAL DEFAULT  UND f_ic
    33: 10101001     0 FUNC    GLOBAL DEFAULT  UND f_iu

Symbol table '\.symtab' .*
#...
Primary GOT:
 Canonical gp value: 10208ff0

 Reserved entries:
   Address     Access  Initial Purpose
  10201000 -32752\(gp\) 00000000 Lazy resolver
  10201004 -32748\(gp\) 80000000 Module pointer \(GNU extension\)

# See the disassembly output for the meaning of each entry.
 Local entries:
   Address     Access  Initial
  10201008 -32744\(gp\) 101001bd
  1020100c -32740\(gp\) 101000a0
  10201010 -32736\(gp\) 10100090
  10201014 -32732\(gp\) 101001c9
  10201018 -32728\(gp\) 10100050
  1020101c -32724\(gp\) 101000f0
  10201020 -32720\(gp\) 10100175
  10201024 -32716\(gp\) 101001f9
  10201028 -32712\(gp\) 10100060
  1020102c -32708\(gp\) 10100030
  10201030 -32704\(gp\) 10100169
  10201034 -32700\(gp\) 101001e1
  10201038 -32696\(gp\) 10100100
  1020103c -32692\(gp\) 10100110
  10201040 -32688\(gp\) 1010015d
  10201044 -32684\(gp\) 101000c0
  10201048 -32680\(gp\) 101000b0
  1020104c -32676\(gp\) 10100121
  10201050 -32672\(gp\) 10100151
  10201054 -32668\(gp\) 101000d0
  10201058 -32664\(gp\) 10100020

 Global entries:
   Address     Access  Initial Sym\.Val\. Type    Ndx Name
  1020105c -32660\(gp\) 10101019 10101019 FUNC    UND f_iu_ic
  10201060 -32656\(gp\) 1010100d 1010100d FUNC    UND f_ic
  10201064 -32652\(gp\) 10101001 10101001 FUNC    UND f_iu


PLT GOT:

 Reserved entries:
   Address  Initial Purpose
  10200000 00000000 PLT lazy resolver
  10200004 00000000 Module pointer

 Entries:
   Address  Initial Sym\.Val\. Type    Ndx Name
  10200008 10100000 10100121 FUNC    UND f_lo_iu
  1020000c 10100000 10100020 FUNC    UND f_lo_iu_du_dc
  10200010 10100000 10100030 FUNC    UND f_lo_du_ic_dc
  10200014 10100000 00000000 FUNC    UND f_du_dc
  10200018 10100000 10100151 FUNC    UND f_lo_iu_dc
  1020001c 10100000 00000000 FUNC    UND f_iu_du_ic
  10200020 10100000 10100060 FUNC    UND f_lo_du_ic
  10200024 10100000 00000000 FUNC    UND f_iu_dc
  10200028 10100000 10100169 FUNC    UND f_lo_iu_ic
  1020002c 10100000 10100175 FUNC    UND f_lo_ic
  10200030 10100000 10100070 FUNC    UND f_lo_du_dc
  10200034 10100000 00000000 FUNC    UND f_du
  10200038 10100000 00000000 FUNC    UND f_du_ic_dc
  1020003c 10100000 00000000 FUNC    UND f_du_ic
  10200040 10100000 00000000 FUNC    UND f_iu_du_dc
  10200044 10100000 101001a5 FUNC    UND f_lo_dc
  10200048 10100000 00000000 FUNC    UND f_iu_du
  1020004c 10100000 101000d0 FUNC    UND f_lo_iu_du
  10200050 10100000 00000000 FUNC    UND f_dc
  10200054 10100000 00000000 FUNC    UND f_ic_dc
  10200058 10100000 101000e0 FUNC    UND f_lo_du
  1020005c 10100000 00000000 FUNC    UND f_iu_ic_dc
  10200060 10100000 00000000 FUNC    UND f_iu_du_ic_dc
  10200064 10100000 101001e1 FUNC    UND f_lo_iu_ic_dc
  10200068 10100000 10100100 FUNC    UND f_lo_iu_du_ic
  1020006c 10100000 10100110 FUNC    UND f_lo_iu_du_ic_dc
  10200070 10100000 101001f9 FUNC    UND f_lo_ic_dc
  10200074 10100000 10100205 FUNC    UND f_lo