gdb: add program_space parameter to lookup_minimal_symbol_text

Make the current program space reference bubble up one level.  Use a
program space from the context whenever that makes sense.

Change-Id: Id3b0bf4490178d71a9aecdbf404b9287c22b30f5
Reviewed-by: Keith Seitz <keiths@redhat.com>
Approved-By: Andrew Burgess <aburgess@redhat.com>
This commit is contained in:
Simon Marchi 2024-07-16 23:52:05 -04:00 committed by Simon Marchi
parent 2e7c4d0fe5
commit cb9f919f0f
5 changed files with 16 additions and 10 deletions

View File

@ -3571,7 +3571,8 @@ create_overlay_event_breakpoint (void)
if (bp_objfile_data->overlay_msym.minsym == NULL)
{
bound_minimal_symbol m
= lookup_minimal_symbol_text (func_name, objfile);
= lookup_minimal_symbol_text (current_program_space, func_name,
objfile);
if (m.minsym == NULL)
{
/* Avoid future lookups in this objfile. */
@ -3675,7 +3676,8 @@ create_longjmp_master_breakpoint_names (objfile *objfile)
if (bp_objfile_data->longjmp_msym[i].minsym == NULL)
{
bound_minimal_symbol m
= lookup_minimal_symbol_text (func_name, objfile);
= lookup_minimal_symbol_text (objfile->pspace (), func_name,
objfile);
if (m.minsym == NULL)
{
/* Prevent future lookups in this objfile. */
@ -3845,7 +3847,7 @@ create_exception_master_breakpoint_hook (objfile *objfile)
if (bp_objfile_data->exception_msym.minsym == NULL)
{
bound_minimal_symbol debug_hook
= lookup_minimal_symbol_text (func_name, objfile);
= lookup_minimal_symbol_text (objfile->pspace (), func_name, objfile);
if (debug_hook.minsym == NULL)
{
bp_objfile_data->exception_msym.minsym = &msym_not_found;

View File

@ -880,7 +880,7 @@ jit_breakpoint_re_set_internal (struct gdbarch *gdbarch, program_space *pspace)
/* Lookup the registration symbol. If it is missing, then we
assume we are not attached to a JIT. */
bound_minimal_symbol reg_symbol
= lookup_minimal_symbol_text (jit_break_name, the_objfile);
= lookup_minimal_symbol_text (pspace, jit_break_name, the_objfile);
if (reg_symbol.minsym == NULL
|| reg_symbol.value_address () == 0)
{

View File

@ -607,7 +607,8 @@ lookup_minimal_symbol_linkage (program_space *pspace, const char *name,
/* See minsyms.h. */
bound_minimal_symbol
lookup_minimal_symbol_text (const char *name, struct objfile *objf)
lookup_minimal_symbol_text (program_space *pspace, const char *name,
objfile *objf)
{
struct minimal_symbol *msymbol;
bound_minimal_symbol found_symbol;
@ -643,7 +644,7 @@ lookup_minimal_symbol_text (const char *name, struct objfile *objf)
if (objf == nullptr)
{
for (objfile *objfile : current_program_space->objfiles ())
for (objfile *objfile : pspace->objfiles ())
{
if (found_symbol.minsym != NULL)
break;

View File

@ -211,7 +211,7 @@ bound_minimal_symbol lookup_minimal_symbol (program_space *pspace,
objfile *obj = nullptr,
const char *sfile = nullptr);
/* Look through all the current minimal symbol tables and find the
/* Look through all the minimal symbol tables in PSPACE and find the
first minimal symbol that matches NAME and has text type. If OBJF
is non-NULL, limit the search to that objfile. Returns a bound
minimal symbol that matches, or an "empty" bound minimal symbol
@ -219,8 +219,9 @@ bound_minimal_symbol lookup_minimal_symbol (program_space *pspace,
This function only searches the mangled (linkage) names. */
bound_minimal_symbol lookup_minimal_symbol_text (const char *,
struct objfile *);
bound_minimal_symbol lookup_minimal_symbol_text (program_space *pspace,
const char *name,
objfile *objf);
/* Look through the minimal symbols in OBJF (and its separate debug
objfiles) for a global (not file-local) minsym whose linkage name

View File

@ -3174,7 +3174,9 @@ find_pc_sect_line (CORE_ADDR pc, struct obj_section *section, int notcurrent)
if (msymbol.minsym->type () == mst_solib_trampoline)
{
bound_minimal_symbol mfunsym
= lookup_minimal_symbol_text (msymbol.minsym->linkage_name (), NULL);
= lookup_minimal_symbol_text (section->objfile->pspace (),
msymbol.minsym->linkage_name (),
nullptr);
if (mfunsym.minsym == NULL)
/* I eliminated this warning since it is coming out