[gdb/symtab] Fixup psymbol_functions::find_pc_sect_psymtab

When calling psymbol_functions::find_pc_sect_psymtab, we do not end up with an
actual symbol that we can declare interesting, so go find it.
This commit is contained in:
Tom de Vries
2021-06-21 15:34:07 +02:00
parent e52b6e27f0
commit 7cfa3f39ad

View File

@@ -198,12 +198,13 @@ psymbol_functions::find_pc_sect_psymtab (struct objfile *objfile,
pc - baseaddr));
if (pst != NULL)
{
struct partial_symbol *p = nullptr;
/* FIXME: addrmaps currently do not handle overlayed sections,
so fall back to the non-addrmap case if we're debugging
overlays and the addrmap returned the wrong section. */
if (overlay_debugging && msymbol.minsym != NULL && section != NULL)
{
struct partial_symbol *p;
/* NOTE: This assumes that every psymbol has a
corresponding msymbol, which is not necessarily
@@ -224,6 +225,8 @@ psymbol_functions::find_pc_sect_psymtab (struct objfile *objfile,
granularity and FIND_PC_SECT_PSYMTAB_CLOSER may mislead us into
a worse chosen section due to the TEXTLOW/TEXTHIGH ranges
overlap. */
if (lazy_expand_symtab_p && p == nullptr)
p = find_pc_sect_psymbol (objfile, pst, pc, section);
return pst;
}