diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2024-07-16 23:52:05 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@efficios.com> | 2024-08-12 10:38:29 -0400 |
commit | cb9f919f0f4b7f30023f353a8fd16979f8ace99a (patch) | |
tree | 8b426f7371e41be10c8388a42c442d5a637c7363 /gdb | |
parent | 2e7c4d0fe5b7d28af9c6ba94e76c42fe8ca08eb7 (diff) | |
download | gdb-cb9f919f0f4b7f30023f353a8fd16979f8ace99a.zip gdb-cb9f919f0f4b7f30023f353a8fd16979f8ace99a.tar.gz gdb-cb9f919f0f4b7f30023f353a8fd16979f8ace99a.tar.bz2 |
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>
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/breakpoint.c | 8 | ||||
-rw-r--r-- | gdb/jit.c | 2 | ||||
-rw-r--r-- | gdb/minsyms.c | 5 | ||||
-rw-r--r-- | gdb/minsyms.h | 7 | ||||
-rw-r--r-- | gdb/symtab.c | 4 |
5 files changed, 16 insertions, 10 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index dd015b8..9d9ce6e 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -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; @@ -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) { diff --git a/gdb/minsyms.c b/gdb/minsyms.c index 40d6340..b5c4b95 100644 --- a/gdb/minsyms.c +++ b/gdb/minsyms.c @@ -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; diff --git a/gdb/minsyms.h b/gdb/minsyms.h index f84d3e8..9659f30 100644 --- a/gdb/minsyms.h +++ b/gdb/minsyms.h @@ -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 diff --git a/gdb/symtab.c b/gdb/symtab.c index 9da148b..9b3562e 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -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 |