This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Dwarf2 relocations


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]