aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-01-19 21:33:50 -0700
committerTom Tromey <tom@tromey.com>2019-12-12 15:50:53 -0700
commitdeeafabb678e59d8585be6d765c7fbd0e7060b6c (patch)
tree8fd33588e29dd7740f741b547e674656f1a0d784 /gdb
parent234529260a90b6ac6ed38ddac45d6ed15149e8f8 (diff)
downloadfsf-binutils-gdb-deeafabb678e59d8585be6d765c7fbd0e7060b6c.zip
fsf-binutils-gdb-deeafabb678e59d8585be6d765c7fbd0e7060b6c.tar.gz
fsf-binutils-gdb-deeafabb678e59d8585be6d765c7fbd0e7060b6c.tar.bz2
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
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/maint.c2
-rw-r--r--gdb/objfiles.h4
-rw-r--r--gdb/printcmd.c2
-rw-r--r--gdb/progspace.c8
-rw-r--r--gdb/progspace.h5
6 files changed, 24 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c6345c0..26f764e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,14 @@
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.
* progspace.c (program_space::remove_objfile): New method.
* objfiles.c (unlink_objfile): Remove.
diff --git a/gdb/maint.c b/gdb/maint.c
index dbc949a..f71cb80 100644
--- a/gdb/maint.c
+++ b/gdb/maint.c
@@ -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);
diff --git a/gdb/objfiles.h b/gdb/objfiles.h
index 49b4627..0656cfe 100644
--- a/gdb/objfiles.h
+++ b/gdb/objfiles.h
@@ -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);
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
index 480e7f2..77cdd77 100644
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -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 "
diff --git a/gdb/progspace.c b/gdb/progspace.c
index e6c4f55..a39b34c 100644
--- a/gdb/progspace.c
+++ b/gdb/progspace.c
@@ -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. */
diff --git a/gdb/progspace.h b/gdb/progspace.h
index e1fcc3c..86bc22a 100644
--- a/gdb/progspace.h
+++ b/gdb/progspace.h
@@ -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;