Add quick_symbol_functions::compute_main_name
This adds a new compute_main_name method to quick_symbol_functions. Currently there are no implementations of this, but a subsequent patch will add one.
This commit is contained in:
parent
8e279fda0f
commit
4ea870efec
4 changed files with 26 additions and 0 deletions
|
@ -605,6 +605,9 @@ public:
|
||||||
void map_symbol_filenames (gdb::function_view<symbol_filename_ftype> fun,
|
void map_symbol_filenames (gdb::function_view<symbol_filename_ftype> fun,
|
||||||
bool need_fullname);
|
bool need_fullname);
|
||||||
|
|
||||||
|
/* See quick_symbol_functions. */
|
||||||
|
void compute_main_name ();
|
||||||
|
|
||||||
/* See quick_symbol_functions. */
|
/* See quick_symbol_functions. */
|
||||||
struct compunit_symtab *find_compunit_symtab_by_address (CORE_ADDR address);
|
struct compunit_symtab *find_compunit_symtab_by_address (CORE_ADDR address);
|
||||||
|
|
||||||
|
|
|
@ -185,6 +185,15 @@ struct quick_symbol_functions
|
||||||
gdb::function_view<symbol_filename_ftype> fun,
|
gdb::function_view<symbol_filename_ftype> fun,
|
||||||
bool need_fullname) = 0;
|
bool need_fullname) = 0;
|
||||||
|
|
||||||
|
/* Compute the name and language of the main function for the given
|
||||||
|
objfile. Normally this is done during symbol reading, but this
|
||||||
|
method exists in case this work is done in a worker thread and
|
||||||
|
must be waited for. The implementation can call
|
||||||
|
set_objfile_main_name if results are found. */
|
||||||
|
virtual void compute_main_name (struct objfile *objfile)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/* Return true if this class can lazily read the symbols. This may
|
/* Return true if this class can lazily read the symbols. This may
|
||||||
only return true if there are in fact symbols to be read, because
|
only return true if there are in fact symbols to be read, because
|
||||||
this is used in the implementation of 'has_partial_symbols'. */
|
this is used in the implementation of 'has_partial_symbols'. */
|
||||||
|
|
|
@ -467,6 +467,18 @@ objfile::map_symbol_filenames (gdb::function_view<symbol_filename_ftype> fun,
|
||||||
iter->map_symbol_filenames (this, fun, need_fullname);
|
iter->map_symbol_filenames (this, fun, need_fullname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
objfile::compute_main_name ()
|
||||||
|
{
|
||||||
|
if (debug_symfile)
|
||||||
|
gdb_printf (gdb_stdlog,
|
||||||
|
"qf->compute_main_name (%s)\n",
|
||||||
|
objfile_debug_name (this));
|
||||||
|
|
||||||
|
for (const auto &iter : qf_require_partial_symbols ())
|
||||||
|
iter->compute_main_name (this);
|
||||||
|
}
|
||||||
|
|
||||||
struct compunit_symtab *
|
struct compunit_symtab *
|
||||||
objfile::find_compunit_symtab_by_address (CORE_ADDR address)
|
objfile::find_compunit_symtab_by_address (CORE_ADDR address)
|
||||||
{
|
{
|
||||||
|
|
|
@ -6334,6 +6334,8 @@ find_main_name (void)
|
||||||
accurate. */
|
accurate. */
|
||||||
for (objfile *objfile : current_program_space->objfiles ())
|
for (objfile *objfile : current_program_space->objfiles ())
|
||||||
{
|
{
|
||||||
|
objfile->compute_main_name ();
|
||||||
|
|
||||||
if (objfile->per_bfd->name_of_main != NULL)
|
if (objfile->per_bfd->name_of_main != NULL)
|
||||||
{
|
{
|
||||||
set_main_name (pspace,
|
set_main_name (pspace,
|
||||||
|
|
Loading…
Add table
Reference in a new issue