2004-11-18 Andrew Cagney * 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 * gdb.texinfo (File Options): Document --readnever. Index: gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo =================================================================== --- gdb-7.6.50.20130731-cvs.orig/gdb/doc/gdb.texinfo 2013-08-02 16:12:54.970085942 +0200 +++ gdb-7.6.50.20130731-cvs/gdb/doc/gdb.texinfo 2013-08-02 16:20:21.164687886 +0200 @@ -1030,6 +1030,12 @@ Read each symbol file's entire symbol ta 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.6.50.20130731-cvs/gdb/main.c =================================================================== --- gdb-7.6.50.20130731-cvs.orig/gdb/main.c 2013-08-02 16:12:54.974085948 +0200 +++ gdb-7.6.50.20130731-cvs/gdb/main.c 2013-08-02 16:20:53.704731449 +0200 @@ -459,6 +459,7 @@ captured_main (void *data) {"xdb", no_argument, &xdb_commands, 1}, {"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}, @@ -1154,6 +1155,7 @@ Selection of debuggee and its files:\n\n --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.6.50.20130731-cvs/gdb/symfile.c =================================================================== --- gdb-7.6.50.20130731-cvs.orig/gdb/symfile.c 2013-08-02 16:12:54.975085949 +0200 +++ gdb-7.6.50.20130731-cvs/gdb/symfile.c 2013-08-02 16:20:21.165687888 +0200 @@ -82,6 +82,7 @@ static void clear_symtab_users_cleanup ( /* 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.6.50.20130731-cvs/gdb/dwarf2read.c =================================================================== --- gdb-7.6.50.20130731-cvs.orig/gdb/dwarf2read.c 2013-08-02 16:12:54.979085954 +0200 +++ gdb-7.6.50.20130731-cvs/gdb/dwarf2read.c 2013-08-02 16:20:37.190709689 +0200 @@ -69,6 +69,7 @@ #include "f-lang.h" #include "source.h" #include "filestuff.h" +#include "top.h" #include #include "gdb_string.h" @@ -1834,8 +1835,9 @@ dwarf2_has_info (struct objfile *objfile (void *) names); dwarf2_per_objfile->objfile = objfile; } - return (dwarf2_per_objfile->info.asection != NULL - && dwarf2_per_objfile->abbrev.asection != NULL); + return (! readnever_symbol_files + && (dwarf2_per_objfile->info.asection != NULL + && dwarf2_per_objfile->abbrev.asection != NULL)); } /* When loading sections, we look either for uncompressed section or for Index: gdb-7.6.50.20130731-cvs/gdb/top.h =================================================================== --- gdb-7.6.50.20130731-cvs.orig/gdb/top.h 2013-08-02 16:12:54.980085956 +0200 +++ gdb-7.6.50.20130731-cvs/gdb/top.h 2013-08-02 16:20:21.169687893 +0200 @@ -59,6 +59,7 @@ extern void set_prompt (const char *s); /* From random places. */ extern int readnow_symbol_files; +extern int readnever_symbol_files; /* Perform _initialize initialization. */ extern void gdb_init (char *);