This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
RFA: minor objfile cleanup
- From: Tom Tromey <tromey at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Fri, 19 Sep 2008 15:00:33 -0600
- Subject: RFA: minor objfile cleanup
- Reply-to: Tom Tromey <tromey at redhat dot com>
While working on objfiles I noticed two oddities.
First, OBJF_SYMS is not actually used -- it is set but never read.
Second, the OBJF_ flags start with 1<<1 -- but it seems more C-like to
start with 1<<0.
This patch removes OBJF_SYMS and renumbers the remaining constants.
Built & regtested on x86-64 (compile farm).
Please review.
Tom
2008-09-18 Tom Tromey <tromey@redhat.com>
* symfile.c (syms_from_objfile): Update.
(reread_symbols): Update.
* objfiles.h (OBJF_SYMS): Remove.
(OBJF_REORDERED): Renumber.
(OBJF_SHARED): Likewise.
(OBJF_READNOW): Likewise.
(OBJF_USERLOADED): Likewise.
diff --git a/gdb/objfiles.h b/gdb/objfiles.h
index bd686fa..c8b5af3 100644
--- a/gdb/objfiles.h
+++ b/gdb/objfiles.h
@@ -383,22 +383,13 @@ struct objfile
/* Defines for the objfile flag word. */
-/* When using mapped/remapped predigested gdb symbol information, we need
- a flag that indicates that we have previously done an initial symbol
- table read from this particular objfile. We can't just look for the
- absence of any of the three symbol tables (msymbols, psymtab, symtab)
- because if the file has no symbols for example, none of these will
- exist. */
-
-#define OBJF_SYMS (1 << 1) /* Have tried to read symbols */
-
/* When an object file has its functions reordered (currently Irix-5.2
shared libraries exhibit this behaviour), we will need an expensive
algorithm to locate a partial symtab or symtab via an address.
To avoid this penalty for normal object files, we use this flag,
whose setting is determined upon symbol table read in. */
-#define OBJF_REORDERED (1 << 2) /* Functions are reordered */
+#define OBJF_REORDERED (1 << 0) /* Functions are reordered */
/* Distinguish between an objfile for a shared library and a "vanilla"
objfile. (If not set, the objfile may still actually be a solib.
@@ -408,11 +399,11 @@ struct objfile
implementation of the solib interface is responsible for setting
this flag when noticing solibs used by an inferior.) */
-#define OBJF_SHARED (1 << 3) /* From a shared library */
+#define OBJF_SHARED (1 << 1) /* From a shared library */
/* User requested that this objfile be read in it's entirety. */
-#define OBJF_READNOW (1 << 4) /* Immediate full read */
+#define OBJF_READNOW (1 << 2) /* Immediate full read */
/* This objfile was created because the user explicitly caused it
(e.g., used the add-symbol-file command). This bit offers a way
@@ -421,7 +412,7 @@ struct objfile
ones that the user explicitly loaded via the add-symbol-file
command. */
-#define OBJF_USERLOADED (1 << 5) /* User loaded */
+#define OBJF_USERLOADED (1 << 3) /* User loaded */
/* The object file that the main symbol table was loaded from (e.g. the
argument to the "symbol-file" or "file" command). */
diff --git a/gdb/symfile.c b/gdb/symfile.c
index d067d2b..4eebd8b 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -904,11 +904,6 @@ syms_from_objfile (struct objfile *objfile,
TYPE_NAME (lookup_pointer_type (builtin_type_char)) = 0;
TYPE_NAME (lookup_pointer_type (builtin_type_void)) = 0;
- /* Mark the objfile has having had initial symbol read attempted. Note
- that this does not mean we found any symbols... */
-
- objfile->flags |= OBJF_SYMS;
-
/* Discard cleanups as symbol reading was successful. */
discard_cleanups (old_chain);
@@ -2445,7 +2440,6 @@ reread_symbols (void)
printf_unfiltered (_("(no debugging symbols found)\n"));
wrap_here ("");
}
- objfile->flags |= OBJF_SYMS;
/* We're done reading the symbol file; finish off complaints. */
clear_complaints (&symfile_complaints, 0, 1);