[PATCH 4/4] eu-stacktrace: add unwind origin diagnostics to eu-stack
Aaron Merey
amerey@redhat.com
Thu Oct 17 03:39:45 GMT 2024
Hi Serhei,
On Tue, Oct 15, 2024 at 11:29 AM Serhei Makarov <serhei@serhei.io> wrote:
>
> Since we obtain diagnostics about unwind method, another logical place
> to show them is in eu-stack.
>
> This requires an additional pseudo-unwind type DWFL_UNWOUND_INLINE to
> clarify what happens with entries for inlined functions (which
> eu-stacktrace does not display) based on the same Dwfl_Frame.
>
> * libdwfl/libdwfl.h (Dwfl_Unwound_Source): Add DWFL_UNWOUND_INLINE.
> * libdwfl/dwfl_frame.c (dwfl_unwound_source_str):
> Handle DWFL_UNWOUND_INLINE.
> * src/stack.c (show_unwound_source): New global variable.
> (struct frame): Add unwound_source field.
> (frame_callback): Copy over unwound_source from Dwfl_Frame.
> (print_frame): Take unwound_source argument and print it.
> (print_inline_frames): Take unwound_source argument and pass it on,
> except for subsequent frames where DWFL_UNWOUND_INLINE is assumed.
> (print_frames): Take unwound_source field from struct frame and pass
> it on.
> (parse_opt): Add --cfi-type,-c option to set show_unwound_source.
> (main): Ditto.
> * tests/run-stack-i-test.sh: Add testcase for --cfi-type.
>
> Signed-off-by: Serhei Makarov <serhei@serhei.io>
This patch LGTM.
Aaron
More information about the Elfutils-devel
mailing list