public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] Remove MULTI_OBJFILE_P
@ 2019-12-12 23:50 Tom Tromey
  0 siblings, 0 replies; only message in thread
From: Tom Tromey @ 2019-12-12 23:50 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=deeafabb678e59d8585be6d765c7fbd0e7060b6c

commit deeafabb678e59d8585be6d765c7fbd0e7060b6c
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Jan 19 21:33:50 2019 -0700

    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

Diff:
---
 gdb/ChangeLog   | 9 +++++++++
 gdb/maint.c     | 2 +-
 gdb/objfiles.h  | 4 ----
 gdb/printcmd.c  | 2 +-
 gdb/progspace.c | 8 ++++++++
 gdb/progspace.h | 5 +++++
 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;


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-12-12 23:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-12 23:50 [binutils-gdb] Remove MULTI_OBJFILE_P Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).