summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2022-10-21 11:49:44 -0400
committerSimon Marchi <simon.marchi@polymtl.ca>2022-11-10 11:33:16 -0500
commitaeba2026b58a8abfc35c390f07bcdaf42728e7b5 (patch)
tree4215042f0f96138f4c4b7dc63803194d08ec0171
parent45eca9d9f36985672cb2303b4ea0b3c855961c1d (diff)
downloadbinutils-gdb-aeba2026b58a8abfc35c390f07bcdaf42728e7b5.tar.gz
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.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gdb/stack.c b/gdb/stack.c
index 5f29566fcfe..4ad51c2eb50 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)
{