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>
|
2019-12-12 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
* progspace.h (struct program_space) <remove_objfile>: Declare.
|
* 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));
|
gdb_assert (sect->objfile && objfile_name (sect->objfile));
|
||||||
obj_name = 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"),
|
printf_filtered (_("%s + %s in section %s of %s\n"),
|
||||||
symbol_name, symbol_offset,
|
symbol_name, symbol_offset,
|
||||||
section_name, obj_name);
|
section_name, obj_name);
|
||||||
|
|
|
@ -773,10 +773,6 @@ extern void default_iterate_over_objfiles_in_search_order
|
||||||
uninitialized section index. */
|
uninitialized section index. */
|
||||||
#define SECT_OFF_BSS(objfile) (objfile)->sect_index_bss
|
#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. */
|
/* Reset the per-BFD storage area on OBJ. */
|
||||||
|
|
||||||
void set_objfile_per_bfd (struct objfile *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));
|
gdb_assert (osect->objfile && objfile_name (osect->objfile));
|
||||||
obj_name = 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 (pc_in_unmapped_range (addr, osect))
|
||||||
if (section_is_overlay (osect))
|
if (section_is_overlay (osect))
|
||||||
printf_filtered (_("%s in load address range of "
|
printf_filtered (_("%s in load address range of "
|
||||||
|
|
|
@ -200,6 +200,14 @@ program_space::remove_objfile (struct objfile *objfile)
|
||||||
_("remove_objfile: objfile already unlinked"));
|
_("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,
|
/* Copies program space SRC to DEST. Copies the main executable file,
|
||||||
and the main symbol file. Returns DEST. */
|
and the main symbol file. Returns DEST. */
|
||||||
|
|
||||||
|
|
|
@ -173,6 +173,11 @@ struct program_space
|
||||||
/* Remove OBJFILE from the list of objfiles. */
|
/* Remove OBJFILE from the list of objfiles. */
|
||||||
void remove_objfile (struct objfile *objfile);
|
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. */
|
/* Pointer to next in linked list. */
|
||||||
struct program_space *next = NULL;
|
struct program_space *next = NULL;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue