This is the mail archive of the
mailing list for the frysk project.
- From: Roland McGrath <roland at redhat dot com>
- To: Adam Jocksch <ajocksch at redhat dot com>
- Cc: frysk <frysk at sources dot redhat dot com>
- Date: Tue, 11 Jul 2006 14:23:27 -0700 (PDT)
- Subject: Re: libunwind
It needs two kinds of things. One is access to the active thread/process
state, which is to say registers and memory. That goes to the frysk core
that is what's calling into libunwind.
The other is access to the unwind info from the ELF files. This is data in
whole ELF sections (.debug_frame, .eh_frame) that nothing but the unwinder
needs to think about. The raw section contents are easily gotten from
libdwfl+libelf calls starting from the Dwfl object for an address space.
The libunwind callbacks are especially poorly structured so that you need
to wade into a bunch of weirdness to have your callbacks use some libunwind
code that does part of the DWARF parsing, instead of simply supplying
libunwind with the raw sections it needs.