[review] Remove MULTI_OBJFILE_P
Commit Message
Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/497
......................................................................
Remove MULTI_OBJFILE_P
This removes the MULTI_OBJFILE_P macro in favor of a method on the
program space.
gdb/ChangeLog
2019-11-03 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
---
M gdb/ChangeLog
M gdb/maint.c
M gdb/objfiles.h
M gdb/printcmd.c
M gdb/progspace.c
M gdb/progspace.h
6 files changed, 24 insertions(+), 6 deletions(-)
@@ -1,5 +1,14 @@
2019-11-03 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-11-03 Tom Tromey <tom@tromey.com>
+
* progspace.h (struct program_space) <remove_objfile>: Declare.
* progspace.c (program_space::remove_objfile): New method.
* objfiles.c (unlink_objfile): Remove.
@@ -585,7 +585,7 @@
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 @@
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);
@@ -1365,7 +1365,7 @@
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 @@
_("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 @@
/* 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;