diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2022-10-21 11:49:44 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2022-11-10 11:33:16 -0500 |
commit | aeba2026b58a8abfc35c390f07bcdaf42728e7b5 (patch) | |
tree | 4215042f0f96138f4c4b7dc63803194d08ec0171 | |
parent | 45eca9d9f36985672cb2303b4ea0b3c855961c1d (diff) | |
download | gdb-aeba2026b58a8abfc35c390f07bcdaf42728e7b5.zip gdb-aeba2026b58a8abfc35c390f07bcdaf42728e7b5.tar.gz gdb-aeba2026b58a8abfc35c390f07bcdaf42728e7b5.tar.bz2 |
gdb: add missing prepare_reinflate call in print_frame_info
print_frame_info calls frame_info_ptr::reinflate, but not
frame_info_ptr::prepare_reinflate, add the call to prepare_reinflate.
It works right now, because all callers of print_frame_info that could
possibly lead to the pretty printers being called, and the frame_info
objects being invalidated, do call prepare_reinflate themselves. And
since the cached frame id is copied when passing a frame_info_ptr by
value, print_frame_info does have a cached frame id on entry. So
technically, this change isn't needed. But I don't think it's good for
a function to rely on its callers to have called prepare_reinflate, if
it intends to call reinflate.
Change-Id: Ie332b2d5479aef46f83fdc1120c7c83f4e84d1b0
Reviewed-By: Bruno Larsen <blarsen@redhat.com>
-rw-r--r-- | gdb/stack.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gdb/stack.c b/gdb/stack.c index 5f29566..4ad51c2 100644 --- a/gdb/stack.c +++ b/gdb/stack.c @@ -1047,6 +1047,8 @@ print_frame_info (const frame_print_options &fp_opts, int location_print; struct ui_out *uiout = current_uiout; + frame.prepare_reinflate (); + if (!current_uiout->is_mi_like_p () && fp_opts.print_frame_info != print_frame_info_auto) { |