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.99.90.20170420/gdb/doc/gdb.texinfo =================================================================== --- gdb-7.99.90.20170420.orig/gdb/doc/gdb.texinfo 2017-04-20 22:29:39.179740076 +0200 +++ gdb-7.99.90.20170420/gdb/doc/gdb.texinfo 2017-04-20 22:29:40.924751096 +0200 @@ -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.99.90.20170420/gdb/main.c =================================================================== --- gdb-7.99.90.20170420.orig/gdb/main.c 2017-04-20 22:29:39.182740095 +0200 +++ gdb-7.99.90.20170420/gdb/main.c 2017-04-20 22:29:40.925751103 +0200 @@ -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}, @@ -1254,6 +1255,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.99.90.20170420/gdb/symfile.c =================================================================== --- gdb-7.99.90.20170420.orig/gdb/symfile.c 2017-04-20 22:29:39.183740101 +0200 +++ gdb-7.99.90.20170420/gdb/symfile.c 2017-04-20 22:29:40.926751109 +0200 @@ -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.99.90.20170420/gdb/dwarf2read.c =================================================================== --- gdb-7.99.90.20170420.orig/gdb/dwarf2read.c 2017-04-20 22:29:39.190740145 +0200 +++ gdb-7.99.90.20170420/gdb/dwarf2read.c 2017-04-20 22:29:57.973858766 +0200 @@ -73,6 +73,7 @@ #include "common/function-view.h" #include "common/gdb_optional.h" #include "common/underlying.h" +#include "top.h" #include #include @@ -2208,7 +2209,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.99.90.20170420/gdb/top.h =================================================================== --- gdb-7.99.90.20170420.orig/gdb/top.h 2017-04-20 22:29:39.191740152 +0200 +++ gdb-7.99.90.20170420/gdb/top.h 2017-04-20 22:29:40.932751147 +0200 @@ -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 *); --- gdb-8.0.1/gdb/gcore.in-orig 2017-06-04 17:51:26.000000000 +0200 +++ gdb-8.0.1/gdb/gcore.in 2017-09-28 19:46:49.335407827 +0200 @@ -85,7 +85,7 @@ for pid in $* do # `