Remove MULTI_OBJFILE_P
This removes the MULTI_OBJFILE_P macro in favor of a method on the program space. gdb/ChangeLog 2019-12-12 Tom Tromey <tom@tromey.com> * progspace.c (program_space::multi_objfile_p): New method. * printcmd.c (info_symbol_command): Update. * maint.c (maintenance_translate_address): Update. * objfiles.h (MULTI_OBJFILE_P): Remove. * progspace.h (struct program_space) <multi_objfile_p>: New method. Change-Id: I2779e26ea8909078d63fea8f13bce94cab73948c
This commit is contained in:
parent
234529260a
commit
deeafabb67
6 changed files with 24 additions and 6 deletions
|
@ -1,3 +1,12 @@
|
|||
2019-12-12 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* progspace.c (program_space::multi_objfile_p): New method.
|
||||
* printcmd.c (info_symbol_command): Update.
|
||||
* maint.c (maintenance_translate_address): Update.
|
||||
* objfiles.h (MULTI_OBJFILE_P): Remove.
|
||||
* progspace.h (struct program_space) <multi_objfile_p>: New
|
||||
method.
|
||||
|
||||
2019-12-12 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* progspace.h (struct program_space) <remove_objfile>: Declare.
|
||||
|
|
|
@ -589,7 +589,7 @@ maintenance_translate_address (const char *arg, int from_tty)
|
|||
gdb_assert (sect->objfile && objfile_name (sect->objfile));
|
||||
obj_name = objfile_name (sect->objfile);
|
||||
|
||||
if (MULTI_OBJFILE_P ())
|
||||
if (current_program_space->multi_objfile_p ())
|
||||
printf_filtered (_("%s + %s in section %s of %s\n"),
|
||||
symbol_name, symbol_offset,
|
||||
section_name, obj_name);
|
||||
|
|
|
@ -773,10 +773,6 @@ extern void default_iterate_over_objfiles_in_search_order
|
|||
uninitialized section index. */
|
||||
#define SECT_OFF_BSS(objfile) (objfile)->sect_index_bss
|
||||
|
||||
/* Answer whether there is more than one object file loaded. */
|
||||
|
||||
#define MULTI_OBJFILE_P() (object_files && object_files->next)
|
||||
|
||||
/* Reset the per-BFD storage area on OBJ. */
|
||||
|
||||
void set_objfile_per_bfd (struct objfile *obj);
|
||||
|
|
|
@ -1367,7 +1367,7 @@ info_symbol_command (const char *arg, int from_tty)
|
|||
gdb_assert (osect->objfile && objfile_name (osect->objfile));
|
||||
obj_name = objfile_name (osect->objfile);
|
||||
|
||||
if (MULTI_OBJFILE_P ())
|
||||
if (current_program_space->multi_objfile_p ())
|
||||
if (pc_in_unmapped_range (addr, osect))
|
||||
if (section_is_overlay (osect))
|
||||
printf_filtered (_("%s in load address range of "
|
||||
|
|
|
@ -200,6 +200,14 @@ program_space::remove_objfile (struct objfile *objfile)
|
|||
_("remove_objfile: objfile already unlinked"));
|
||||
}
|
||||
|
||||
/* See progspace.h. */
|
||||
|
||||
bool
|
||||
program_space::multi_objfile_p () const
|
||||
{
|
||||
return objfiles_head != nullptr && objfiles_head->next != nullptr;
|
||||
}
|
||||
|
||||
/* Copies program space SRC to DEST. Copies the main executable file,
|
||||
and the main symbol file. Returns DEST. */
|
||||
|
||||
|
|
|
@ -173,6 +173,11 @@ struct program_space
|
|||
/* Remove OBJFILE from the list of objfiles. */
|
||||
void remove_objfile (struct objfile *objfile);
|
||||
|
||||
/* Return true if there is more than one object file loaded; false
|
||||
otherwise. */
|
||||
bool multi_objfile_p () const;
|
||||
|
||||
|
||||
/* Pointer to next in linked list. */
|
||||
struct program_space *next = NULL;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue