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) if (bp_objfile_data->overlay_msym.minsym == NULL)
{ {
bound_minimal_symbol m 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) if (m.minsym == NULL)
{ {
/* Avoid future lookups in this objfile. */ /* 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) if (bp_objfile_data->longjmp_msym[i].minsym == NULL)
{ {
bound_minimal_symbol m bound_minimal_symbol m
= lookup_minimal_symbol_text (func_name, objfile); = lookup_minimal_symbol_text (objfile->pspace (), func_name,
objfile);
if (m.minsym == NULL) if (m.minsym == NULL)
{ {
/* Prevent future lookups in this objfile. */ /* 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) if (bp_objfile_data->exception_msym.minsym == NULL)
{ {
bound_minimal_symbol debug_hook 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) if (debug_hook.minsym == NULL)
{ {
bp_objfile_data->exception_msym.minsym = &msym_not_found; 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 /* Lookup the registration symbol. If it is missing, then we
assume we are not attached to a JIT. */ assume we are not attached to a JIT. */
bound_minimal_symbol reg_symbol 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 if (reg_symbol.minsym == NULL
|| reg_symbol.value_address () == 0) || reg_symbol.value_address () == 0)
{ {

View File

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

View File

@ -211,7 +211,7 @@ bound_minimal_symbol lookup_minimal_symbol (program_space *pspace,
objfile *obj = nullptr, objfile *obj = nullptr,
const char *sfile = 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 first minimal symbol that matches NAME and has text type. If OBJF
is non-NULL, limit the search to that objfile. Returns a bound is non-NULL, limit the search to that objfile. Returns a bound
minimal symbol that matches, or an "empty" bound minimal symbol 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. */ This function only searches the mangled (linkage) names. */
bound_minimal_symbol lookup_minimal_symbol_text (const char *, bound_minimal_symbol lookup_minimal_symbol_text (program_space *pspace,
struct objfile *); const char *name,
objfile *objf);
/* Look through the minimal symbols in OBJF (and its separate debug /* Look through the minimal symbols in OBJF (and its separate debug
objfiles) for a global (not file-local) minsym whose linkage name 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) if (msymbol.minsym->type () == mst_solib_trampoline)
{ {
bound_minimal_symbol mfunsym 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) if (mfunsym.minsym == NULL)
/* I eliminated this warning since it is coming out /* I eliminated this warning since it is coming out