Dwarf2 relocations

Michal Ludvig mludvig@suse.cz
Wed May 15 03:31:00 GMT 2002


Hi all,
I have a problem with relocating FDE entries from shared libraries. I 
have for example a function cypptrs(), that is stored in libml.so.1. 
Objdump gives this output:
0000000000000b40 <cpyptrs>:
  b40:   48 8b 07                mov    (%rdi),%rax
  b43:   48 89 04 25 00 00 00    mov    %rax,0x0
  b4a:   00
  b4b:   c3                      retq

When the program is running, this library is stored on a real address:
(gdb) disassemble cpyptrs
Dump of assembler code for function cpyptrs:
0x2a95669b40 <cpyptrs>: mov    (%rdi),%rax
0x2a95669b43 <cpyptrs+3>:       mov    %rax,0x0
0x2a95669b4b <cpyptrs+11>:      retq
End of assembler dump.

However .debug_frame FDE entries point to original (short) addresses. 
How do I find out the offset that I must add to all symbols from 
debug_frame to let them point to real addresses? Perhaps it is already 
computed and stored somewhere. But where? Thanks for any hints.

Michal Ludvig
-- 
* SuSE CR, s.r.o     * mludvig@suse.cz
* +420 2 9654 5373   * http://www.suse.cz



More information about the Gdb mailing list