https://sourceware.org/bugzilla/show_bug.cgi?id=28579

--- Comment #2 from Mark Wielaard <mark at klomp dot org> ---
Thanks. This looks nice and simple. Few small comments:

- The dwfl_frame_reg should be in a new ELFUTILS_0.188 { global:
dwfl_frame_reg; } ELFUTILS_0.186; section (that is, this symbol is new in
ELFUTILS_0.188 which inherits from ELFUTILS_0.186).

- Technically __libdwfl_frame_reg_get failing can be either invalid register or
unknown value (if state->regs_set is false). It might make sense to set a
different error message if it isn't too much work.

- When using public functions internally we usually use INTUSE
(dwfl_frame_reg). Which is an tiny optimization to avoid a plt call. You'll
need an INTDECL in libdwflP.h.

- In the unwinder we are only really interested in addresses, which is why we
use Dwarf_Addr, but here I think we should use Dwarf_Word as the *val that
dwfl_frame_reg returns. Both are really uint64_t, so it doesn't really matter,
but it makes it more clear that the caller is responsible for interpreting the
register value.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to