gdb/gdb-6.3-readnever-20050907.patch
2017-12-04 14:24:00 -05:00

114 lines
4.6 KiB
Diff

From: Andrew Cagney <cagney@gnu.org>
Date: Fri, 27 Oct 2017 21:07:50 +0200
Subject: gdb-6.3-readnever-20050907.patch
FileName: gdb-6.3-readnever-20050907.patch
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.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 <fcntl.h>
#include <sys/types.h>
@@ -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
# `</dev/null' to avoid touching interactive terminal if it is
# available but not accessible as GDB would get stopped on SIGTTIN.
- $binary_path/@GDB_TRANSFORM_NAME@ </dev/null --nx --batch \
+ $binary_path/@GDB_TRANSFORM_NAME@ </dev/null --nx --batch --readnever \
-ex "set pagination off" -ex "set height 0" -ex "set width 0" \
-ex "attach $pid" -ex "gcore $name.$pid" -ex detach -ex quit