[PATCH] Find tailcall frames before inline frames
Luis Machado
luis.machado@linaro.org
Thu Mar 5 10:21:00 GMT 2020
Hi Tom,
On 3/3/20 6:45 PM, Tom Tromey wrote:
> Tom> gdb/ChangeLog
> Tom> 2020-02-20 Tom Tromey <tromey@adacore.com>
>
> Tom> * dwarf2/frame.c (struct dwarf2_frame_cache)
> Tom> <checked_tailcall_bottom, entry_cfa_sp_offset,
> Tom> entry_cfa_sp_offset_p> : Remove members.
> Tom> (dwarf2_frame_cache): Call dwarf2_tailcall_sniffer_first.
> Tom> (dwarf2_frame_prev_register): Don't call
> Tom> dwarf2_tailcall_sniffer_first.
> Tom> (dwarf2_append_unwinders): Don't append tailcall unwinder.
> Tom> * frame-unwind.c (add_unwinder): New fuction.
> Tom> (frame_unwind_init): Use it. Add tailcall unwinder.
>
> I'm going to check this in now.
>
> Tom
>
This has caused quite a few failures in the following tests for
aarch64-linux:
gdb.opt/inline-break.exp
gdb.opt/inline-cmds.exp
gdb.python/py-frame-inline.exp
gdb.reverse/insn-reverse.exp
I see the following:
info frame^M
../../../repos/binutils-gdb/gdb/frame.c:579: internal-error: frame_id
get_frame_id(frame_info*): Assertion `fi->level == 0' failed.^M
A problem internal to GDB has been detected,^M
further debugging may prove unreliable.^M
Quit this debugging session? (y or n) FAIL:
gdb.python/py-frame-inline.exp: info frame (GDB internal error)
Resyncing due to internal error.
n^M
^M
This is a bug, please report it. For instructions, see:^M
<http://www.gnu.org/software/gdb/bugs/>.^M
(gdb) up^M
../../../repos/binutils-gdb/gdb/inline-frame.c:172: internal-error: void
inline_frame_this_id(frame_info*, void**, frame_id*): Assertion
`frame_id_p (*this_id)' failed.^M
A problem internal to GDB has been detected,^M
further debugging may prove unreliable.^M
Quit this debugging session? (y or n) FAIL:
gdb.python/py-frame-inline.exp: up (GDB internal error)
Resyncing due to internal error.
n^M
^M
This is a bug, please report it. For instructions, see:^M
<http://www.gnu.org/software/gdb/bugs/>.^M
I can help get more information on it if you need.
More information about the Gdb-patches
mailing list