mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-23 13:21:43 +08:00
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
@ -605,6 +605,9 @@ struct objfile
|
||||
void map_symbol_filenames (gdb::function_view<symbol_filename_ftype> fun,
|
||||
bool need_fullname);
|
||||
|
||||
/* See quick_symbol_functions. */
|
||||
void compute_main_name ();
|
||||
|
||||
/* See quick_symbol_functions. */
|
||||
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,
|
||||
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
|
||||
only return true if there are in fact symbols to be read, because
|
||||
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);
|
||||
}
|
||||
|
||||
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 *
|
||||
objfile::find_compunit_symtab_by_address (CORE_ADDR address)
|
||||
{
|
||||
|
@ -6334,6 +6334,8 @@ find_main_name (void)
|
||||
accurate. */
|
||||
for (objfile *objfile : current_program_space->objfiles ())
|
||||
{
|
||||
objfile->compute_main_name ();
|
||||
|
||||
if (objfile->per_bfd->name_of_main != NULL)
|
||||
{
|
||||
set_main_name (pspace,
|
||||
|
Loading…
Reference in New Issue
Block a user