libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libunwind-devel] [PATCH 1/2] Restore the interpretation of the NULL


From: Lassi Tuura
Subject: Re: [Libunwind-devel] [PATCH 1/2] Restore the interpretation of the NULL %rbp location as end of frame chain.
Date: Tue, 18 Sep 2012 07:23:37 +0200

Hey Konstantin,

Could you expand on the circumstances which require this? The
frame-based unwinder code just above checks for null RBP and the
dwarf-based one should not require the check -- see around
src/dwarf/Gparser.c comment "DWARF spec says undefined return address
location means end of stack."

Regards,
Lassi

On Mon, Sep 17, 2012 at 4:39 PM, Konstantin Belousov <address@hidden> wrote:
> From: Konstantin Belousov <address@hidden>
>
> ---
>  src/x86_64/Gstep.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/src/x86_64/Gstep.c b/src/x86_64/Gstep.c
> index e05fcae..9d8c2cf 100644
> --- a/src/x86_64/Gstep.c
> +++ b/src/x86_64/Gstep.c
> @@ -196,6 +196,12 @@ unw_step (unw_cursor_t *cursor)
>            c->dwarf.loc[RIP] = rip_loc;
>         }
>
> +      if (DWARF_IS_NULL_LOC (c->dwarf.loc[RBP]))
> +        {
> +        ret = 0;
> +        Debug (2, "NULL %rbp loc, returning %d\n", ret);
> +        return ret;
> +        }
>        c->dwarf.ret_addr_column = RIP;
>
>        if (!DWARF_IS_NULL_LOC (c->dwarf.loc[RIP]))
> --
> 1.7.11.5
>
>
> _______________________________________________
> Libunwind-devel mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/libunwind-devel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]