From: Andrew Burgess Date: Tue, 13 Aug 2024 12:07:19 +0000 (+0100) Subject: gdb: make symbols const in struct inline_state X-Git-Tag: gdb-16-branchpoint~1059 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3e9907d8496edb66086dcdebd3a9cb2b3c918e77;p=thirdparty%2Fbinutils-gdb.git gdb: make symbols const in struct inline_state Make the inline_state::skipped_symbols a vector of 'const symbol *', adding the const qualifier. There's only a couple of places this leaks into the rest of GDB and in both places its fine for the symbol to become const. There should be no functional change after this commit. Approved-By: Simon Marchi --- diff --git a/gdb/frame.c b/gdb/frame.c index 4d092d0e8c8..a6900b28072 100644 --- a/gdb/frame.c +++ b/gdb/frame.c @@ -2859,7 +2859,7 @@ find_frame_sal (const frame_info_ptr &frame) if (frame_inlined_callees (frame) > 0) { - struct symbol *sym; + const symbol *sym; /* If the current frame has some inlined callees, and we have a next frame, then that frame must be an inlined frame. In this case diff --git a/gdb/infcmd.c b/gdb/infcmd.c index 347684a0be1..90fa4f6c969 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -992,7 +992,7 @@ prepare_one_step (thread_info *tp, struct step_command_fsm *sm) Use inlined_subroutine info to make the range more narrow. */ if (inline_skipped_frames (tp) > 0) { - symbol *sym = inline_skipped_symbol (tp); + const symbol *sym = inline_skipped_symbol (tp); if (sym->aclass () == LOC_BLOCK) { const block *block = sym->value_block (); diff --git a/gdb/inline-frame.c b/gdb/inline-frame.c index f65f39be40d..56b295520f9 100644 --- a/gdb/inline-frame.c +++ b/gdb/inline-frame.c @@ -36,7 +36,7 @@ struct inline_state { inline_state (thread_info *thread_, int skipped_frames_, CORE_ADDR saved_pc_, - std::vector &&skipped_symbols_) + std::vector &&skipped_symbols_) : thread (thread_), skipped_frames (skipped_frames_), saved_pc (saved_pc_), skipped_symbols (std::move (skipped_symbols_)) {} @@ -58,7 +58,7 @@ struct inline_state /* Only valid if SKIPPED_FRAMES is non-zero. This is the list of all function symbols that have been skipped, from inner most to outer most. It is used to find the call site of the current frame. */ - std::vector skipped_symbols; + std::vector skipped_symbols; }; static std::vector inline_states; @@ -342,7 +342,7 @@ void skip_inline_frames (thread_info *thread, bpstat *stop_chain) { const struct block *frame_block, *cur_block; - std::vector skipped_syms; + std::vector skipped_syms; int skip_count = 0; /* This function is called right after reinitializing the frame @@ -419,7 +419,7 @@ inline_skipped_frames (thread_info *thread) /* If one or more inlined functions are hidden, return the symbol for the function inlined into the current frame. */ -struct symbol * +const symbol * inline_skipped_symbol (thread_info *thread) { inline_state *state = find_inline_frame_state (thread); diff --git a/gdb/inline-frame.h b/gdb/inline-frame.h index bbe617c7c5b..3ddc9cf2335 100644 --- a/gdb/inline-frame.h +++ b/gdb/inline-frame.h @@ -62,7 +62,7 @@ int inline_skipped_frames (thread_info *thread); /* If one or more inlined functions are hidden, return the symbol for the function inlined into the current frame. */ -struct symbol *inline_skipped_symbol (thread_info *thread); +const symbol *inline_skipped_symbol (thread_info *thread); /* Return the number of functions inlined into THIS_FRAME. Some of the callees may not have associated frames (see