I'm trying to understand the dynamic linking of shared libraries on Linux. Given the following dump of Relocation section '.rela.plt':
Offset Info Type Sym. Value Sym. Name + Addend
000000373f68 0f8300000007 R_X86_64_JUMP_SLO 0000000000000000 _ZN8CashFlowmIERK7Paym + 0
000000373f70 0f9800000007 R_X86_64_JUMP_SLO 0000000000000000 _Z8printCapPK3CapP8_IO + 0
000000373f78 0f9900000007 R_X86_64_JUMP_SLO 0000000000000000 _ZN13SharedBaggage16ge + 0
000000373f80 0f9c00000007 R_X86_64_JUMP_SLO 0000000000000000 _Z11usdCurrencyv + 0
I have the following questions:
As far as I know, the lowest 3 bytes of r_info are used as an unsigned index into to the .dynsym section to point to the symbol. So, how to explain the following Relocation section entries which all have 0000007 as index into .dynsym section?
Would anyone tell me what "Sym. Value" is? is it the real value (which means address) of the symbol? If so, how come they are all zeros?