On Sun, Aug 14, 2016 at 01:13:54AM -0700, Andy Lutomirski wrote: > On Fri, Aug 12, 2016 at 7:28 AM, Josh Poimboeuf <jpoim...@redhat.com> wrote: > > Convert show_trace_log_lvl() to use the new unwinder. dump_trace() has > > been deprecated. > > > > > Another change here is that callers of show_trace_log_lvl() don't need > > to provide the 'bp' argument. The unwinder already finds the relevant > > frame pointer by unwinding until it reaches the first frame after the > > provided stack pointer. > > I still think that the best long-term solution is to change the sp and > bp arguments to an optional state argument and to add a helper to > capture the current state for future unwinding, but this is okay too. > (If nothing else, this may improve DWARF's ability to recover function > arguments and such that are available when the trace is requested but > that are gone by the time the unwinder runs. But mainly because it > seems simpler and more direct to me and therefore seems like it will > be less likely to get confused and skip too many frames.) > > But I'm okay with this for now.
Long term, maybe something like an unwind_capture_state() helper might be best (though I'm not yet convinced either way). However it wouldn't quite work with today's code because show_stack(), which is implemented for all architectures, takes 'sp' as an argument. -- Josh