This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v3 2/3] stack: check frame_unwind_caller_id


Hi Markus,

On Thu, Feb 11, 2016 at 4:14 PM, Markus Metzger
<markus.t.metzger@intel.com> wrote:
> diff --git a/gdb/stack.c b/gdb/stack.c
> index 89879f3..6e3acc7 100644
> --- a/gdb/stack.c
> +++ b/gdb/stack.c
> @@ -1509,27 +1509,32 @@ frame_info (char *addr_exp, int from_tty)
>    wrap_here ("    ");
>    printf_filtered ("saved %s = ", pc_regname);
>
> -  TRY
> -    {
> -      caller_pc = frame_unwind_caller_pc (fi);
> -      caller_pc_p = 1;
> -    }
> -  CATCH (ex, RETURN_MASK_ERROR)
> +  if (!frame_id_p (frame_unwind_caller_id (fi)))
> +    val_print_unavailable (gdb_stdout);
> +  else

This patch causes a fail

FAIL: gdb.dwarf2/dw2-undefined-ret-addr.exp: info frame

because part of the output "info frame" is changed from "saved rip =
<not saved>"
to "saved rip = <unavailable>".  The regression is caught by buildbot too
https://sourceware.org/ml/gdb-testers/2016-q1/msg05292.html
Could you take a look?

Note that Jan posted a patch
https://sourceware.org/ml/gdb-patches/2016-04/msg00181.html
fixing test case, but I think the test case itself is valid.  Also in the commit
log of adding gdb.dwarf2/dw2-undefined-ret-addr.exp, it is intended to match
"<not saved>" in the test.

-- 
Yao (齐尧)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]