aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2024-07-16 23:52:05 -0400
committerSimon Marchi <simon.marchi@efficios.com>2024-08-12 10:38:29 -0400
commitcb9f919f0f4b7f30023f353a8fd16979f8ace99a (patch)
tree8b426f7371e41be10c8388a42c442d5a637c7363 /gdb
parent2e7c4d0fe5b7d28af9c6ba94e76c42fe8ca08eb7 (diff)
downloadgdb-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.c8
-rw-r--r--gdb/jit.c2
-rw-r--r--gdb/minsyms.c5
-rw-r--r--gdb/minsyms.h7
-rw-r--r--gdb/symtab.c4
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;
diff --git a/gdb/jit.c b/gdb/jit.c
index 2744d03..d451332 100644
--- a/gdb/jit.c
+++ b/gdb/jit.c
@@ -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