Blob Blame History Raw
2004-11-18  Andrew Cagney  <cagney@gnu.org>

        * dwarf2read.c: Include "top.c".
        (dwarf2_has_info): Check for readnever_symbol_files.
        * symfile.c (readnever_symbol_files): Define.
        * top.h (readnever_symbol_files): Declare.
        * main.c (captured_main): Add --readnever option.
        (print_gdb_help): Ditto.

2004-11-18  Andrew Cagney  <cagney@gnu.org>

        * gdb.texinfo (File Options): Document --readnever.

Index: gdb-7.12.50.20170226/gdb/doc/gdb.texinfo
===================================================================
--- gdb-7.12.50.20170226.orig/gdb/doc/gdb.texinfo	2017-02-26 21:26:43.609788662 +0100
+++ gdb-7.12.50.20170226/gdb/doc/gdb.texinfo	2017-02-26 21:26:46.582809721 +0100
@@ -1037,6 +1037,12 @@
 the default, which is to read it incrementally as it is needed.
 This makes startup slower, but makes future operations faster.
 
+@item --readnever
+@cindex @code{--readnever}
+Do not read each symbol file's symbolic debug information.  This makes
+startup faster but at the expense of not being able to perform
+symbolic debugging.
+
 @end table
 
 @node Mode Options
Index: gdb-7.12.50.20170226/gdb/main.c
===================================================================
--- gdb-7.12.50.20170226.orig/gdb/main.c	2017-02-26 21:26:43.612788684 +0100
+++ gdb-7.12.50.20170226/gdb/main.c	2017-02-26 21:26:46.582809721 +0100
@@ -615,6 +615,7 @@
       {"tui", no_argument, 0, OPT_TUI},
       {"dbx", no_argument, &dbx_commands, 1},
       {"readnow", no_argument, &readnow_symbol_files, 1},
+      {"readnever", no_argument, &readnever_symbol_files, 1},
       {"r", no_argument, &readnow_symbol_files, 1},
       {"quiet", no_argument, &quiet, 1},
       {"q", no_argument, &quiet, 1},
@@ -1253,6 +1254,7 @@
   --se=FILE          Use FILE as symbol file and executable file.\n\
   --symbols=SYMFILE  Read symbols from SYMFILE.\n\
   --readnow          Fully read symbol files on first access.\n\
+  --readnever        Do not read symbol files.\n\
   --write            Set writing into executable and core files.\n\n\
 "), stream);
   fputs_unfiltered (_("\
Index: gdb-7.12.50.20170226/gdb/symfile.c
===================================================================
--- gdb-7.12.50.20170226.orig/gdb/symfile.c	2017-02-26 21:26:43.613788691 +0100
+++ gdb-7.12.50.20170226/gdb/symfile.c	2017-02-26 21:26:46.583809728 +0100
@@ -79,6 +79,7 @@
 
 /* Global variables owned by this file.  */
 int readnow_symbol_files;	/* Read full symbols immediately.  */
+int readnever_symbol_files;	/* Never read full symbols.  */
 
 /* Functions this file defines.  */
 
Index: gdb-7.12.50.20170226/gdb/dwarf2read.c
===================================================================
--- gdb-7.12.50.20170226.orig/gdb/dwarf2read.c	2017-02-26 21:26:43.620788740 +0100
+++ gdb-7.12.50.20170226/gdb/dwarf2read.c	2017-02-26 21:26:59.078898234 +0100
@@ -71,6 +71,7 @@
 #include "namespace.h"
 #include "common/gdb_unlinker.h"
 #include "common/function-view.h"
+#include "top.h"
 
 #include <fcntl.h>
 #include <sys/types.h>
@@ -2113,7 +2114,8 @@
                              (void *) names);
       dwarf2_per_objfile->objfile = objfile;
     }
-  return (!dwarf2_per_objfile->info.is_virtual
+  return !readnever_symbol_files &&
+	 (!dwarf2_per_objfile->info.is_virtual
 	  && dwarf2_per_objfile->info.s.section != NULL
 	  && !dwarf2_per_objfile->abbrev.is_virtual
 	  && dwarf2_per_objfile->abbrev.s.section != NULL);
Index: gdb-7.12.50.20170226/gdb/top.h
===================================================================
--- gdb-7.12.50.20170226.orig/gdb/top.h	2017-02-26 21:26:43.622788754 +0100
+++ gdb-7.12.50.20170226/gdb/top.h	2017-02-26 21:26:46.589809771 +0100
@@ -269,6 +269,7 @@
 
 /* From random places.  */
 extern int readnow_symbol_files;
+extern int readnever_symbol_files;
 
 /* Perform _initialize initialization.  */
 extern void gdb_init (char *);