* Fri Aug 6 2010 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.1.90.20100806-7.fc14
- Fix gcore from very small terminal windows (BZ 555076). - Fix false `filesystem' debuginfo rpm request (BZ 599598).
This commit is contained in:
parent
5abe5add8a
commit
fc20e6331a
|
@ -1 +1 @@
|
|||
gdb-7.1.90.20100721.tar.bz2
|
||||
gdb-7.1.90.20100806.tar.bz2
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
|
||||
Index: gdb-7.1.90.20100721/gdb/doc/gdb.texinfo
|
||||
===================================================================
|
||||
--- gdb-7.1.90.20100721.orig/gdb/doc/gdb.texinfo 2010-07-22 11:57:09.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/doc/gdb.texinfo 2010-07-22 11:57:34.000000000 +0200
|
||||
--- gdb-7.1.90.20100721.orig/gdb/doc/gdb.texinfo 2010-07-23 20:58:52.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/doc/gdb.texinfo 2010-07-23 20:59:15.000000000 +0200
|
||||
@@ -998,6 +998,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.
|
||||
|
@ -30,8 +30,8 @@ Index: gdb-7.1.90.20100721/gdb/doc/gdb.texinfo
|
|||
@node Mode Options
|
||||
Index: gdb-7.1.90.20100721/gdb/main.c
|
||||
===================================================================
|
||||
--- gdb-7.1.90.20100721.orig/gdb/main.c 2010-07-22 11:57:10.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/main.c 2010-07-22 11:57:49.000000000 +0200
|
||||
--- gdb-7.1.90.20100721.orig/gdb/main.c 2010-07-23 20:58:55.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/main.c 2010-07-23 20:59:15.000000000 +0200
|
||||
@@ -391,6 +391,7 @@ captured_main (void *data)
|
||||
{"xdb", no_argument, &xdb_commands, 1},
|
||||
{"dbx", no_argument, &dbx_commands, 1},
|
||||
|
@ -50,8 +50,8 @@ Index: gdb-7.1.90.20100721/gdb/main.c
|
|||
--se=FILE Use FILE as symbol file and executable file.\n\
|
||||
Index: gdb-7.1.90.20100721/gdb/symfile.c
|
||||
===================================================================
|
||||
--- gdb-7.1.90.20100721.orig/gdb/symfile.c 2010-07-22 11:57:09.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/symfile.c 2010-07-22 11:57:34.000000000 +0200
|
||||
--- gdb-7.1.90.20100721.orig/gdb/symfile.c 2010-07-23 20:58:52.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/symfile.c 2010-07-23 20:59:15.000000000 +0200
|
||||
@@ -80,6 +80,7 @@ static void clear_symtab_users_cleanup (
|
||||
|
||||
/* Global variables owned by this file */
|
||||
|
@ -62,17 +62,17 @@ Index: gdb-7.1.90.20100721/gdb/symfile.c
|
|||
|
||||
Index: gdb-7.1.90.20100721/gdb/dwarf2read.c
|
||||
===================================================================
|
||||
--- gdb-7.1.90.20100721.orig/gdb/dwarf2read.c 2010-07-22 11:57:10.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/dwarf2read.c 2010-07-22 11:58:05.000000000 +0200
|
||||
@@ -53,6 +53,7 @@
|
||||
#include "psympriv.h"
|
||||
--- gdb-7.1.90.20100721.orig/gdb/dwarf2read.c 2010-07-23 20:58:53.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/dwarf2read.c 2010-07-23 20:59:26.000000000 +0200
|
||||
@@ -54,6 +54,7 @@
|
||||
#include "exceptions.h"
|
||||
#include "gdb_stat.h"
|
||||
#include "completer.h"
|
||||
+#include "top.h"
|
||||
|
||||
#include <fcntl.h>
|
||||
#include "gdb_string.h"
|
||||
@@ -1282,8 +1283,9 @@ dwarf2_has_info (struct objfile *objfile
|
||||
@@ -1283,8 +1284,9 @@ dwarf2_has_info (struct objfile *objfile
|
||||
bfd_map_over_sections (objfile->obfd, dwarf2_locate_sections, NULL);
|
||||
dwarf2_per_objfile->objfile = objfile;
|
||||
}
|
||||
|
@ -87,7 +87,7 @@ Index: gdb-7.1.90.20100721/gdb/dwarf2read.c
|
|||
Index: gdb-7.1.90.20100721/gdb/top.h
|
||||
===================================================================
|
||||
--- gdb-7.1.90.20100721.orig/gdb/top.h 2010-04-07 18:54:39.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/top.h 2010-07-22 11:57:34.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/top.h 2010-07-23 20:59:15.000000000 +0200
|
||||
@@ -61,6 +61,7 @@ extern void set_prompt (char *);
|
||||
|
||||
/* From random places. */
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Index: gdb-7.1.90.20100721/gdb/event-top.c
|
||||
Index: gdb-7.1.90.20100806/gdb/event-top.c
|
||||
===================================================================
|
||||
--- gdb-7.1.90.20100721.orig/gdb/event-top.c 2010-06-26 08:44:47.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/event-top.c 2010-07-22 11:58:24.000000000 +0200
|
||||
--- gdb-7.1.90.20100806.orig/gdb/event-top.c 2010-08-06 17:42:01.000000000 +0200
|
||||
+++ gdb-7.1.90.20100806/gdb/event-top.c 2010-08-06 17:42:05.000000000 +0200
|
||||
@@ -33,6 +33,7 @@
|
||||
#include "cli/cli-script.h" /* for reset_command_nest_depth */
|
||||
#include "main.h"
|
||||
|
@ -28,10 +28,10 @@ Index: gdb-7.1.90.20100721/gdb/event-top.c
|
|||
/* Each interpreter has its own rules on displaying the command
|
||||
prompt. */
|
||||
if (!current_interp_display_prompt_p ())
|
||||
Index: gdb-7.1.90.20100721/gdb/elfread.c
|
||||
Index: gdb-7.1.90.20100806/gdb/elfread.c
|
||||
===================================================================
|
||||
--- gdb-7.1.90.20100721.orig/gdb/elfread.c 2010-07-22 11:58:14.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/elfread.c 2010-07-22 11:58:24.000000000 +0200
|
||||
--- gdb-7.1.90.20100806.orig/gdb/elfread.c 2010-08-06 17:42:01.000000000 +0200
|
||||
+++ gdb-7.1.90.20100806/gdb/elfread.c 2010-08-06 18:11:49.000000000 +0200
|
||||
@@ -42,6 +42,7 @@
|
||||
#include "gdbcore.h"
|
||||
#include "gdbcmd.h"
|
||||
|
@ -40,7 +40,7 @@ Index: gdb-7.1.90.20100721/gdb/elfread.c
|
|||
|
||||
extern void _initialize_elfread (void);
|
||||
|
||||
@@ -1371,8 +1372,353 @@ build_id_to_filename (struct build_id *b
|
||||
@@ -1371,8 +1372,357 @@ build_id_to_filename (struct build_id *b
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
@ -113,8 +113,12 @@ Index: gdb-7.1.90.20100721/gdb/elfread.c
|
|||
+# define rpmtsInitIterator_p rpmtsInitIterator
|
||||
+#endif /* !DLOPEN_LIBRPM */
|
||||
+
|
||||
+ if (filename == NULL)
|
||||
+ return 0;
|
||||
+ gdb_assert (filename != NULL);
|
||||
+ if (filename[0] != '/')
|
||||
+ {
|
||||
+ warning (_("Ignoring non-absolute filename: <%s>"), filename);
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ if (!rpm_init_done)
|
||||
+ {
|
||||
|
@ -395,7 +399,7 @@ Index: gdb-7.1.90.20100721/gdb/elfread.c
|
|||
avoidance. */
|
||||
|
||||
struct missing_filepair
|
||||
@@ -1426,11 +1772,17 @@ missing_filepair_change (void)
|
||||
@@ -1426,11 +1776,17 @@ missing_filepair_change (void)
|
||||
/* All their memory came just from missing_filepair_OBSTACK. */
|
||||
missing_filepair_hash = NULL;
|
||||
}
|
||||
|
@ -413,7 +417,7 @@ Index: gdb-7.1.90.20100721/gdb/elfread.c
|
|||
missing_filepair_change ();
|
||||
}
|
||||
|
||||
@@ -1497,14 +1849,34 @@ debug_print_missing (const char *binary,
|
||||
@@ -1497,14 +1853,35 @@ debug_print_missing (const char *binary,
|
||||
|
||||
*slot = missing_filepair;
|
||||
|
||||
|
@ -439,7 +443,8 @@ Index: gdb-7.1.90.20100721/gdb/elfread.c
|
|||
+ }
|
||||
+ }
|
||||
+ if (missing_exec != MISSING_EXEC_ENLISTED)
|
||||
+ if (missing_rpm_enlist (binary) == 0 && missing_rpm_enlist (debug) == 0)
|
||||
+ if ((binary[0] == 0 || missing_rpm_enlist (binary) == 0)
|
||||
+ && (debug == NULL || missing_rpm_enlist (debug) == 0))
|
||||
+#endif /* HAVE_LIBRPM */
|
||||
+ {
|
||||
+ /* We do not collect and flush these messages as each such message
|
||||
|
@ -455,10 +460,10 @@ Index: gdb-7.1.90.20100721/gdb/elfread.c
|
|||
}
|
||||
|
||||
static char *
|
||||
Index: gdb-7.1.90.20100721/gdb/symfile.h
|
||||
Index: gdb-7.1.90.20100806/gdb/symfile.h
|
||||
===================================================================
|
||||
--- gdb-7.1.90.20100721.orig/gdb/symfile.h 2010-07-22 11:58:14.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/symfile.h 2010-07-22 11:58:24.000000000 +0200
|
||||
--- gdb-7.1.90.20100806.orig/gdb/symfile.h 2010-08-06 17:42:01.000000000 +0200
|
||||
+++ gdb-7.1.90.20100806/gdb/symfile.h 2010-08-06 17:42:05.000000000 +0200
|
||||
@@ -577,6 +577,7 @@ extern struct build_id *build_id_addr_ge
|
||||
extern char *build_id_to_filename (struct build_id *build_id,
|
||||
char **link_return, int add_debug_suffix);
|
||||
|
@ -467,10 +472,10 @@ Index: gdb-7.1.90.20100721/gdb/symfile.h
|
|||
|
||||
/* From dwarf2read.c */
|
||||
|
||||
Index: gdb-7.1.90.20100721/gdb/testsuite/lib/gdb.exp
|
||||
Index: gdb-7.1.90.20100806/gdb/testsuite/lib/gdb.exp
|
||||
===================================================================
|
||||
--- gdb-7.1.90.20100721.orig/gdb/testsuite/lib/gdb.exp 2010-07-22 11:58:14.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/testsuite/lib/gdb.exp 2010-07-22 11:58:24.000000000 +0200
|
||||
--- gdb-7.1.90.20100806.orig/gdb/testsuite/lib/gdb.exp 2010-08-06 17:42:01.000000000 +0200
|
||||
+++ gdb-7.1.90.20100806/gdb/testsuite/lib/gdb.exp 2010-08-06 17:42:05.000000000 +0200
|
||||
@@ -1359,7 +1359,7 @@ proc default_gdb_start { } {
|
||||
warning "Couldn't set the width to 0."
|
||||
}
|
||||
|
@ -480,10 +485,10 @@ Index: gdb-7.1.90.20100721/gdb/testsuite/lib/gdb.exp
|
|||
send_gdb "set build-id-verbose 0\n"
|
||||
gdb_expect 10 {
|
||||
-re "$gdb_prompt $" {
|
||||
Index: gdb-7.1.90.20100721/gdb/testsuite/lib/mi-support.exp
|
||||
Index: gdb-7.1.90.20100806/gdb/testsuite/lib/mi-support.exp
|
||||
===================================================================
|
||||
--- gdb-7.1.90.20100721.orig/gdb/testsuite/lib/mi-support.exp 2010-07-22 11:58:14.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/testsuite/lib/mi-support.exp 2010-07-22 11:58:24.000000000 +0200
|
||||
--- gdb-7.1.90.20100806.orig/gdb/testsuite/lib/mi-support.exp 2010-08-06 17:42:01.000000000 +0200
|
||||
+++ gdb-7.1.90.20100806/gdb/testsuite/lib/mi-support.exp 2010-08-06 17:42:05.000000000 +0200
|
||||
@@ -221,7 +221,7 @@ proc default_mi_gdb_start { args } {
|
||||
}
|
||||
}
|
||||
|
@ -493,10 +498,10 @@ Index: gdb-7.1.90.20100721/gdb/testsuite/lib/mi-support.exp
|
|||
send_gdb "190-gdb-set build-id-verbose 0\n"
|
||||
gdb_expect 10 {
|
||||
-re ".*190-gdb-set build-id-verbose 0\r\n190\\\^done\r\n$mi_gdb_prompt$" {
|
||||
Index: gdb-7.1.90.20100721/gdb/tui/tui-interp.c
|
||||
Index: gdb-7.1.90.20100806/gdb/tui/tui-interp.c
|
||||
===================================================================
|
||||
--- gdb-7.1.90.20100721.orig/gdb/tui/tui-interp.c 2010-05-18 00:21:43.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/tui/tui-interp.c 2010-07-22 11:58:24.000000000 +0200
|
||||
--- gdb-7.1.90.20100806.orig/gdb/tui/tui-interp.c 2010-08-06 17:42:01.000000000 +0200
|
||||
+++ gdb-7.1.90.20100806/gdb/tui/tui-interp.c 2010-08-06 17:42:05.000000000 +0200
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "tui/tui.h"
|
||||
#include "tui/tui-io.h"
|
||||
|
@ -514,10 +519,10 @@ Index: gdb-7.1.90.20100721/gdb/tui/tui-interp.c
|
|||
/* Tell readline what the prompt to display is and what function
|
||||
it will need to call after a whole line is read. This also
|
||||
displays the first prompt. */
|
||||
Index: gdb-7.1.90.20100721/gdb/aclocal.m4
|
||||
Index: gdb-7.1.90.20100806/gdb/aclocal.m4
|
||||
===================================================================
|
||||
--- gdb-7.1.90.20100721.orig/gdb/aclocal.m4 2010-05-23 02:56:59.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/aclocal.m4 2010-07-22 11:58:24.000000000 +0200
|
||||
--- gdb-7.1.90.20100806.orig/gdb/aclocal.m4 2010-08-06 17:42:01.000000000 +0200
|
||||
+++ gdb-7.1.90.20100806/gdb/aclocal.m4 2010-08-06 17:42:05.000000000 +0200
|
||||
@@ -19,6 +19,162 @@ You have another version of autoconf. I
|
||||
If you have problems, you may need to regenerate the build system entirely.
|
||||
To do so, use the procedure documented by the package, typically `autoreconf'.])])
|
||||
|
@ -681,10 +686,10 @@ Index: gdb-7.1.90.20100721/gdb/aclocal.m4
|
|||
# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
Index: gdb-7.1.90.20100721/gdb/config.in
|
||||
Index: gdb-7.1.90.20100806/gdb/config.in
|
||||
===================================================================
|
||||
--- gdb-7.1.90.20100721.orig/gdb/config.in 2010-07-22 11:57:09.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/config.in 2010-07-22 11:58:24.000000000 +0200
|
||||
--- gdb-7.1.90.20100806.orig/gdb/config.in 2010-08-06 17:42:01.000000000 +0200
|
||||
+++ gdb-7.1.90.20100806/gdb/config.in 2010-08-06 17:42:05.000000000 +0200
|
||||
@@ -46,6 +46,9 @@
|
||||
/* Define to BFD's default target vector. */
|
||||
#undef DEFAULT_BFD_VEC
|
||||
|
@ -705,10 +710,10 @@ Index: gdb-7.1.90.20100721/gdb/config.in
|
|||
/* Define if libunwind library is being used. */
|
||||
#undef HAVE_LIBUNWIND
|
||||
|
||||
Index: gdb-7.1.90.20100721/gdb/configure
|
||||
Index: gdb-7.1.90.20100806/gdb/configure
|
||||
===================================================================
|
||||
--- gdb-7.1.90.20100721.orig/gdb/configure 2010-07-22 11:57:09.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/configure 2010-07-22 11:59:13.000000000 +0200
|
||||
--- gdb-7.1.90.20100806.orig/gdb/configure 2010-08-06 17:42:01.000000000 +0200
|
||||
+++ gdb-7.1.90.20100806/gdb/configure 2010-08-06 17:42:05.000000000 +0200
|
||||
@@ -679,6 +679,9 @@ REPORT_BUGS_TO
|
||||
PKGVERSION
|
||||
TARGET_OBS
|
||||
|
@ -1242,10 +1247,10 @@ Index: gdb-7.1.90.20100721/gdb/configure
|
|||
|
||||
|
||||
|
||||
Index: gdb-7.1.90.20100721/gdb/configure.ac
|
||||
Index: gdb-7.1.90.20100806/gdb/configure.ac
|
||||
===================================================================
|
||||
--- gdb-7.1.90.20100721.orig/gdb/configure.ac 2010-07-22 11:57:09.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/configure.ac 2010-07-22 11:59:04.000000000 +0200
|
||||
--- gdb-7.1.90.20100806.orig/gdb/configure.ac 2010-08-06 17:42:01.000000000 +0200
|
||||
+++ gdb-7.1.90.20100806/gdb/configure.ac 2010-08-06 17:42:05.000000000 +0200
|
||||
@@ -152,6 +152,198 @@ else
|
||||
fi
|
||||
AC_SUBST(pythondir)
|
||||
|
@ -1445,10 +1450,10 @@ Index: gdb-7.1.90.20100721/gdb/configure.ac
|
|||
|
||||
AC_CONFIG_SUBDIRS(doc testsuite)
|
||||
|
||||
Index: gdb-7.1.90.20100721/gdb/acinclude.m4
|
||||
Index: gdb-7.1.90.20100806/gdb/acinclude.m4
|
||||
===================================================================
|
||||
--- gdb-7.1.90.20100721.orig/gdb/acinclude.m4 2010-05-27 05:40:45.000000000 +0200
|
||||
+++ gdb-7.1.90.20100721/gdb/acinclude.m4 2010-07-22 11:58:24.000000000 +0200
|
||||
--- gdb-7.1.90.20100806.orig/gdb/acinclude.m4 2010-08-06 17:42:01.000000000 +0200
|
||||
+++ gdb-7.1.90.20100806/gdb/acinclude.m4 2010-08-06 17:42:05.000000000 +0200
|
||||
@@ -1,3 +1,5 @@
|
||||
+# serial 1
|
||||
+
|
||||
|
|
156
gdb-archer.patch
156
gdb-archer.patch
|
@ -2,7 +2,7 @@ http://sourceware.org/gdb/wiki/ProjectArcher
|
|||
http://sourceware.org/gdb/wiki/ArcherBranchManagement
|
||||
|
||||
GIT snapshot:
|
||||
commit 202f4d0e3af8d8a8d7c0b408d9e0a8cb69f912b6
|
||||
commit af507f71e376b19f8ee9d54067924790566440e8
|
||||
|
||||
branch `archer' - the merge of branches:
|
||||
archer-jankratochvil-vla
|
||||
|
@ -1528,20 +1528,6 @@ index 9300544..380473a 100644
|
|||
ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_PYTHON_CFLAGS)"
|
||||
|
||||
# Flags needed to compile Python code (taken from python-config --cflags).
|
||||
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
|
||||
index 04f1683..a2a6e30 100644
|
||||
--- a/gdb/doc/ChangeLog
|
||||
+++ b/gdb/doc/ChangeLog
|
||||
@@ -1,5 +1,9 @@
|
||||
2010-07-13 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
+ * gdb.texinfo (Index Files): New node.
|
||||
+
|
||||
+2010-07-13 Tom Tromey <tromey@redhat.com>
|
||||
+
|
||||
* gdb.texinfo (GDB/MI Variable Objects): Remove extra 'for'.
|
||||
|
||||
2010-07-01 Pedro Alves <pedro@codesourcery.com>
|
||||
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
|
||||
index 1297175..c030b65 100644
|
||||
--- a/gdb/doc/gdb.texinfo
|
||||
|
@ -2246,19 +2232,20 @@ index 826bc45..1e7d8dc 100644
|
|||
|
||||
#endif /* dwarf2loc.h */
|
||||
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
||||
index 16381de..31a7d83 100644
|
||||
index 16381de..e286f4c 100644
|
||||
--- a/gdb/dwarf2read.c
|
||||
+++ b/gdb/dwarf2read.c
|
||||
@@ -51,6 +51,8 @@
|
||||
@@ -51,6 +51,9 @@
|
||||
#include "typeprint.h"
|
||||
#include "jv-lang.h"
|
||||
#include "psympriv.h"
|
||||
+#include "exceptions.h"
|
||||
+#include "gdb_stat.h"
|
||||
+#include "completer.h"
|
||||
|
||||
#include <fcntl.h>
|
||||
#include "gdb_string.h"
|
||||
@@ -129,6 +131,33 @@ struct dwarf2_section_info
|
||||
@@ -129,6 +132,33 @@ struct dwarf2_section_info
|
||||
int readin;
|
||||
};
|
||||
|
||||
|
@ -2292,7 +2279,7 @@ index 16381de..31a7d83 100644
|
|||
struct dwarf2_per_objfile
|
||||
{
|
||||
struct dwarf2_section_info info;
|
||||
@@ -141,6 +170,7 @@ struct dwarf2_per_objfile
|
||||
@@ -141,6 +171,7 @@ struct dwarf2_per_objfile
|
||||
struct dwarf2_section_info types;
|
||||
struct dwarf2_section_info frame;
|
||||
struct dwarf2_section_info eh_frame;
|
||||
|
@ -2300,7 +2287,7 @@ index 16381de..31a7d83 100644
|
|||
|
||||
/* Back link. */
|
||||
struct objfile *objfile;
|
||||
@@ -163,6 +193,12 @@ struct dwarf2_per_objfile
|
||||
@@ -163,6 +194,12 @@ struct dwarf2_per_objfile
|
||||
/* A flag indicating wether this objfile has a section loaded at a
|
||||
VMA of 0. */
|
||||
int has_section_at_zero;
|
||||
|
@ -2313,7 +2300,7 @@ index 16381de..31a7d83 100644
|
|||
};
|
||||
|
||||
static struct dwarf2_per_objfile *dwarf2_per_objfile;
|
||||
@@ -182,6 +218,7 @@ static struct dwarf2_per_objfile *dwarf2_per_objfile;
|
||||
@@ -182,6 +219,7 @@ static struct dwarf2_per_objfile *dwarf2_per_objfile;
|
||||
#define TYPES_SECTION "debug_types"
|
||||
#define FRAME_SECTION "debug_frame"
|
||||
#define EH_FRAME_SECTION "eh_frame"
|
||||
|
@ -2321,7 +2308,7 @@ index 16381de..31a7d83 100644
|
|||
|
||||
/* local data types */
|
||||
|
||||
@@ -307,6 +344,32 @@ struct dwarf2_cu
|
||||
@@ -307,6 +345,32 @@ struct dwarf2_cu
|
||||
unsigned int has_namespace_info : 1;
|
||||
};
|
||||
|
||||
|
@ -2354,7 +2341,7 @@ index 16381de..31a7d83 100644
|
|||
/* Persistent data held for a compilation unit, even when not
|
||||
processing it. We put a pointer to this structure in the
|
||||
read_symtab_private field of the psymtab. If we encounter
|
||||
@@ -347,10 +410,21 @@ struct dwarf2_per_cu_data
|
||||
@@ -347,10 +411,21 @@ struct dwarf2_per_cu_data
|
||||
it. */
|
||||
htab_t type_hash;
|
||||
|
||||
|
@ -2380,7 +2367,7 @@ index 16381de..31a7d83 100644
|
|||
};
|
||||
|
||||
/* Entry in the signatured_types hash table. */
|
||||
@@ -1083,6 +1157,9 @@ static int attr_form_is_section_offset (struct attribute *);
|
||||
@@ -1083,6 +1158,9 @@ static int attr_form_is_section_offset (struct attribute *);
|
||||
|
||||
static int attr_form_is_constant (struct attribute *);
|
||||
|
||||
|
@ -2390,7 +2377,7 @@ index 16381de..31a7d83 100644
|
|||
static void dwarf2_symbol_mark_computed (struct attribute *attr,
|
||||
struct symbol *sym,
|
||||
struct dwarf2_cu *cu);
|
||||
@@ -1113,6 +1190,9 @@ static void age_cached_comp_units (void);
|
||||
@@ -1113,6 +1191,9 @@ static void age_cached_comp_units (void);
|
||||
|
||||
static void free_one_cached_comp_unit (void *);
|
||||
|
||||
|
@ -2400,7 +2387,7 @@ index 16381de..31a7d83 100644
|
|||
static struct type *set_die_type (struct die_info *, struct type *,
|
||||
struct dwarf2_cu *);
|
||||
|
||||
@@ -1132,6 +1212,56 @@ static void dwarf2_clear_marks (struct dwarf2_per_cu_data *);
|
||||
@@ -1132,6 +1213,56 @@ static void dwarf2_clear_marks (struct dwarf2_per_cu_data *);
|
||||
|
||||
static struct type *get_die_type (struct die_info *die, struct dwarf2_cu *cu);
|
||||
|
||||
|
@ -2457,7 +2444,7 @@ index 16381de..31a7d83 100644
|
|||
/* Try to locate the sections we need for DWARF 2 debugging
|
||||
information and return true if we have enough to do something. */
|
||||
|
||||
@@ -1230,6 +1360,11 @@ dwarf2_locate_sections (bfd *abfd, asection *sectp, void *ignore_ptr)
|
||||
@@ -1230,6 +1361,11 @@ dwarf2_locate_sections (bfd *abfd, asection *sectp, void *ignore_ptr)
|
||||
dwarf2_per_objfile->types.asection = sectp;
|
||||
dwarf2_per_objfile->types.size = bfd_get_section_size (sectp);
|
||||
}
|
||||
|
@ -2469,17 +2456,13 @@ index 16381de..31a7d83 100644
|
|||
|
||||
if ((bfd_get_section_flags (abfd, sectp) & SEC_LOAD)
|
||||
&& bfd_section_vma (abfd, sectp) == 0)
|
||||
@@ -1349,91 +1484,944 @@ dwarf2_read_section (struct objfile *objfile, struct dwarf2_section_info *info)
|
||||
}
|
||||
}
|
||||
@@ -1353,87 +1489,940 @@ dwarf2_read_section (struct objfile *objfile, struct dwarf2_section_info *info)
|
||||
if (pagesize == 0)
|
||||
pagesize = getpagesize ();
|
||||
|
||||
-#ifdef HAVE_MMAP
|
||||
- if (pagesize == 0)
|
||||
- pagesize = getpagesize ();
|
||||
+#ifdef HAVE_MMAP
|
||||
+ if (pagesize == 0)
|
||||
+ pagesize = getpagesize ();
|
||||
+
|
||||
- /* Only try to mmap sections which are large enough: we don't want to
|
||||
- waste space due to fragmentation. Also, only try mmap for sections
|
||||
- without relocations. */
|
||||
+ /* Only try to mmap sections which are large enough: we don't want to
|
||||
+ waste space due to fragmentation. Also, only try mmap for sections
|
||||
+ without relocations. */
|
||||
|
@ -3296,13 +3279,10 @@ index 16381de..31a7d83 100644
|
|||
+ offset_type iter;
|
||||
+ dw2_setup (objfile);
|
||||
|
||||
- /* Only try to mmap sections which are large enough: we don't want to
|
||||
- waste space due to fragmentation. Also, only try mmap for sections
|
||||
- without relocations. */
|
||||
- if (info->size > 4 * pagesize && (sectp->flags & SEC_RELOC) == 0)
|
||||
+ if (!dwarf2_per_objfile->index_table)
|
||||
+ return;
|
||||
|
||||
- if (info->size > 4 * pagesize && (sectp->flags & SEC_RELOC) == 0)
|
||||
+
|
||||
+ for (iter = 0;
|
||||
+ iter < dwarf2_per_objfile->index_table->index_table_slots;
|
||||
+ ++iter)
|
||||
|
@ -3479,7 +3459,15 @@ index 16381de..31a7d83 100644
|
|||
/* Build a partial symbol table. */
|
||||
|
||||
void
|
||||
@@ -1897,7 +2885,7 @@ process_psymtab_comp_unit (struct objfile *objfile,
|
||||
@@ -1699,6 +2688,7 @@ create_debug_types_hash_table (struct objfile *objfile)
|
||||
type_sig->signature = signature;
|
||||
type_sig->offset = offset;
|
||||
type_sig->type_offset = type_offset;
|
||||
+ type_sig->per_cu.objfile = objfile;
|
||||
|
||||
slot = htab_find_slot (types_htab, type_sig, INSERT);
|
||||
gdb_assert (slot != NULL);
|
||||
@@ -1897,7 +2887,7 @@ process_psymtab_comp_unit (struct objfile *objfile,
|
||||
/* Store the function that reads in the rest of the symbol table */
|
||||
pst->read_symtab = dwarf2_psymtab_to_symtab;
|
||||
|
||||
|
@ -3488,7 +3476,7 @@ index 16381de..31a7d83 100644
|
|||
|
||||
dwarf2_find_base_address (comp_unit_die, &cu);
|
||||
|
||||
@@ -2182,6 +3170,7 @@ create_all_comp_units (struct objfile *objfile)
|
||||
@@ -2182,6 +3172,7 @@ create_all_comp_units (struct objfile *objfile)
|
||||
memset (this_cu, 0, sizeof (*this_cu));
|
||||
this_cu->offset = offset;
|
||||
this_cu->length = length + initial_length_size;
|
||||
|
@ -3496,7 +3484,7 @@ index 16381de..31a7d83 100644
|
|||
|
||||
if (n_comp_units == n_allocated)
|
||||
{
|
||||
@@ -2613,7 +3602,7 @@ add_partial_subprogram (struct partial_die_info *pdi,
|
||||
@@ -2613,7 +3604,7 @@ add_partial_subprogram (struct partial_die_info *pdi,
|
||||
addrmap_set_empty (objfile->psymtabs_addrmap,
|
||||
pdi->lowpc + baseaddr,
|
||||
pdi->highpc - 1 + baseaddr,
|
||||
|
@ -3505,7 +3493,7 @@ index 16381de..31a7d83 100644
|
|||
}
|
||||
if (!pdi->is_declaration)
|
||||
/* Ignore subprogram DIEs that do not have a name, they are
|
||||
@@ -2885,7 +3874,6 @@ locate_pdi_sibling (struct partial_die_info *orig_pdi,
|
||||
@@ -2885,7 +3876,6 @@ locate_pdi_sibling (struct partial_die_info *orig_pdi,
|
||||
static void
|
||||
dwarf2_psymtab_to_symtab (struct partial_symtab *pst)
|
||||
{
|
||||
|
@ -3513,7 +3501,7 @@ index 16381de..31a7d83 100644
|
|||
if (pst != NULL)
|
||||
{
|
||||
if (pst->readin)
|
||||
@@ -2958,7 +3946,9 @@ process_queue (struct objfile *objfile)
|
||||
@@ -2958,7 +3948,9 @@ process_queue (struct objfile *objfile)
|
||||
may load a new CU, adding it to the end of the queue. */
|
||||
for (item = dwarf2_queue; item != NULL; dwarf2_queue = item = next_item)
|
||||
{
|
||||
|
@ -3524,7 +3512,7 @@ index 16381de..31a7d83 100644
|
|||
process_full_comp_unit (item->per_cu);
|
||||
|
||||
item->per_cu->queued = 0;
|
||||
@@ -3035,22 +4025,7 @@ psymtab_to_symtab_1 (struct partial_symtab *pst)
|
||||
@@ -3035,22 +4027,7 @@ psymtab_to_symtab_1 (struct partial_symtab *pst)
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3548,7 +3536,7 @@ index 16381de..31a7d83 100644
|
|||
}
|
||||
|
||||
/* Load the DIEs associated with PER_CU into memory. */
|
||||
@@ -3130,9 +4105,8 @@ load_full_comp_unit (struct dwarf2_per_cu_data *per_cu, struct objfile *objfile)
|
||||
@@ -3130,9 +4107,8 @@ load_full_comp_unit (struct dwarf2_per_cu_data *per_cu, struct objfile *objfile)
|
||||
static void
|
||||
process_full_comp_unit (struct dwarf2_per_cu_data *per_cu)
|
||||
{
|
||||
|
@ -3559,7 +3547,7 @@ index 16381de..31a7d83 100644
|
|||
CORE_ADDR lowpc, highpc;
|
||||
struct symtab *symtab;
|
||||
struct cleanup *back_to;
|
||||
@@ -3165,8 +4139,15 @@ process_full_comp_unit (struct dwarf2_per_cu_data *per_cu)
|
||||
@@ -3165,8 +4141,15 @@ process_full_comp_unit (struct dwarf2_per_cu_data *per_cu)
|
||||
{
|
||||
symtab->language = cu->language;
|
||||
}
|
||||
|
@ -3577,7 +3565,7 @@ index 16381de..31a7d83 100644
|
|||
|
||||
do_cleanups (back_to);
|
||||
}
|
||||
@@ -3559,6 +4540,46 @@ free_cu_line_header (void *arg)
|
||||
@@ -3559,6 +4542,46 @@ free_cu_line_header (void *arg)
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -3624,7 +3612,7 @@ index 16381de..31a7d83 100644
|
|||
read_file_scope (struct die_info *die, struct dwarf2_cu *cu)
|
||||
{
|
||||
struct objfile *objfile = cu->objfile;
|
||||
@@ -3584,35 +4605,7 @@ read_file_scope (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -3584,35 +4607,7 @@ read_file_scope (struct die_info *die, struct dwarf2_cu *cu)
|
||||
lowpc += baseaddr;
|
||||
highpc += baseaddr;
|
||||
|
||||
|
@ -3661,7 +3649,7 @@ index 16381de..31a7d83 100644
|
|||
|
||||
attr = dwarf2_attr (die, DW_AT_language, cu);
|
||||
if (attr)
|
||||
@@ -5531,6 +6524,29 @@ process_enumeration_scope (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -5531,6 +6526,29 @@ process_enumeration_scope (struct die_info *die, struct dwarf2_cu *cu)
|
||||
new_symbol (die, this_type, cu);
|
||||
}
|
||||
|
||||
|
@ -3691,7 +3679,7 @@ index 16381de..31a7d83 100644
|
|||
/* Extract all information from a DW_TAG_array_type DIE and put it in
|
||||
the DIE's type field. For now, this only handles one dimensional
|
||||
arrays. */
|
||||
@@ -5544,7 +6560,7 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -5544,7 +6562,7 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
struct type *element_type, *range_type, *index_type;
|
||||
struct type **range_types = NULL;
|
||||
struct attribute *attr;
|
||||
|
@ -3700,7 +3688,7 @@ index 16381de..31a7d83 100644
|
|||
struct cleanup *back_to;
|
||||
char *name;
|
||||
|
||||
@@ -5597,17 +6613,11 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -5597,17 +6615,11 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
type = element_type;
|
||||
|
||||
if (read_array_order (die, cu) == DW_ORD_col_major)
|
||||
|
@ -3723,7 +3711,7 @@ index 16381de..31a7d83 100644
|
|||
|
||||
/* Understand Dwarf2 support for vector types (like they occur on
|
||||
the PowerPC w/ AltiVec). Gcc just adds another attribute to the
|
||||
@@ -6061,29 +7071,114 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -6061,29 +7073,114 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
struct gdbarch *gdbarch = get_objfile_arch (objfile);
|
||||
struct type *type, *range_type, *index_type, *char_type;
|
||||
struct attribute *attr;
|
||||
|
@ -3852,7 +3840,7 @@ index 16381de..31a7d83 100644
|
|||
char_type = language_string_char_type (cu->language_defn, gdbarch);
|
||||
type = create_string_type (NULL, char_type, range_type);
|
||||
|
||||
@@ -6326,60 +7421,136 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -6326,60 +7423,136 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
struct type *base_type;
|
||||
struct type *range_type;
|
||||
struct attribute *attr;
|
||||
|
@ -4023,7 +4011,7 @@ index 16381de..31a7d83 100644
|
|||
}
|
||||
|
||||
/* Dwarf-2 specifications explicitly allows to create subrange types
|
||||
@@ -6421,20 +7592,41 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -6421,20 +7594,41 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4077,7 +4065,7 @@ index 16381de..31a7d83 100644
|
|||
|
||||
name = dwarf2_name (die, cu);
|
||||
if (name)
|
||||
@@ -8714,10 +9906,12 @@ var_decode_location (struct attribute *attr, struct symbol *sym,
|
||||
@@ -8714,10 +9908,12 @@ var_decode_location (struct attribute *attr, struct symbol *sym,
|
||||
(i.e. when the value of a register or memory location is
|
||||
referenced, or a thread-local block, etc.). Then again, it might
|
||||
not be worthwhile. I'm assuming that it isn't unless performance
|
||||
|
@ -4092,7 +4080,7 @@ index 16381de..31a7d83 100644
|
|||
}
|
||||
|
||||
/* Given a pointer to a DWARF information entry, figure out if we need
|
||||
@@ -8748,6 +9942,8 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
||||
@@ -8748,6 +9944,8 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
||||
sizeof (struct symbol));
|
||||
OBJSTAT (objfile, n_syms++);
|
||||
memset (sym, 0, sizeof (struct symbol));
|
||||
|
@ -4101,7 +4089,7 @@ index 16381de..31a7d83 100644
|
|||
|
||||
/* Cache this symbol's name and the name's demangled form (if any). */
|
||||
SYMBOL_LANGUAGE (sym) = cu->language;
|
||||
@@ -9379,6 +10575,9 @@ read_type_die (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -9379,6 +10577,9 @@ read_type_die (struct die_info *die, struct dwarf2_cu *cu)
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -4111,7 +4099,7 @@ index 16381de..31a7d83 100644
|
|||
return this_type;
|
||||
}
|
||||
|
||||
@@ -11983,67 +13182,102 @@ attr_form_is_constant (struct attribute *attr)
|
||||
@@ -11983,67 +13184,102 @@ attr_form_is_constant (struct attribute *attr)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4263,7 +4251,7 @@ index 16381de..31a7d83 100644
|
|||
}
|
||||
}
|
||||
|
||||
@@ -12054,7 +13288,7 @@ dwarf2_symbol_mark_computed (struct attribute *attr, struct symbol *sym,
|
||||
@@ -12054,7 +13290,7 @@ dwarf2_symbol_mark_computed (struct attribute *attr, struct symbol *sym,
|
||||
struct objfile *
|
||||
dwarf2_per_cu_objfile (struct dwarf2_per_cu_data *per_cu)
|
||||
{
|
||||
|
@ -4272,7 +4260,7 @@ index 16381de..31a7d83 100644
|
|||
|
||||
/* Return the master objfile, so that we can report and look up the
|
||||
correct file containing this variable. */
|
||||
@@ -12074,7 +13308,7 @@ dwarf2_per_cu_addr_size (struct dwarf2_per_cu_data *per_cu)
|
||||
@@ -12074,7 +13310,7 @@ dwarf2_per_cu_addr_size (struct dwarf2_per_cu_data *per_cu)
|
||||
else
|
||||
{
|
||||
/* If the CU is not currently read in, we re-read its header. */
|
||||
|
@ -4281,7 +4269,7 @@ index 16381de..31a7d83 100644
|
|||
struct dwarf2_per_objfile *per_objfile
|
||||
= objfile_data (objfile, dwarf2_objfile_data_key);
|
||||
gdb_byte *info_ptr = per_objfile->info.buffer + per_cu->offset;
|
||||
@@ -12096,7 +13330,7 @@ dwarf2_per_cu_offset_size (struct dwarf2_per_cu_data *per_cu)
|
||||
@@ -12096,7 +13332,7 @@ dwarf2_per_cu_offset_size (struct dwarf2_per_cu_data *per_cu)
|
||||
else
|
||||
{
|
||||
/* If the CU is not currently read in, we re-read its header. */
|
||||
|
@ -4290,7 +4278,7 @@ index 16381de..31a7d83 100644
|
|||
struct dwarf2_per_objfile *per_objfile
|
||||
= objfile_data (objfile, dwarf2_objfile_data_key);
|
||||
gdb_byte *info_ptr = per_objfile->info.buffer + per_cu->offset;
|
||||
@@ -12116,7 +13350,7 @@ dwarf2_per_cu_offset_size (struct dwarf2_per_cu_data *per_cu)
|
||||
@@ -12116,7 +13352,7 @@ dwarf2_per_cu_offset_size (struct dwarf2_per_cu_data *per_cu)
|
||||
CORE_ADDR
|
||||
dwarf2_per_cu_text_offset (struct dwarf2_per_cu_data *per_cu)
|
||||
{
|
||||
|
@ -4299,7 +4287,7 @@ index 16381de..31a7d83 100644
|
|||
|
||||
return ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
|
||||
}
|
||||
@@ -12338,6 +13572,30 @@ dwarf2_free_objfile (struct objfile *objfile)
|
||||
@@ -12338,6 +13574,30 @@ dwarf2_free_objfile (struct objfile *objfile)
|
||||
/* Cached DIE trees use xmalloc and the comp_unit_obstack. */
|
||||
free_cached_comp_units (NULL);
|
||||
|
||||
|
@ -4330,7 +4318,7 @@ index 16381de..31a7d83 100644
|
|||
/* Everything else should be on the objfile obstack. */
|
||||
}
|
||||
|
||||
@@ -12372,6 +13630,31 @@ offset_and_type_eq (const void *item_lhs, const void *item_rhs)
|
||||
@@ -12372,6 +13632,31 @@ offset_and_type_eq (const void *item_lhs, const void *item_rhs)
|
||||
return ofs_lhs->offset == ofs_rhs->offset;
|
||||
}
|
||||
|
||||
|
@ -4362,7 +4350,7 @@ index 16381de..31a7d83 100644
|
|||
/* Set the type associated with DIE to TYPE. Save it in CU's hash
|
||||
table if necessary. For convenience, return TYPE.
|
||||
|
||||
@@ -12395,6 +13678,8 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
||||
@@ -12395,6 +13680,8 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
||||
{
|
||||
struct dwarf2_offset_and_type **slot, ofs;
|
||||
|
||||
|
@ -4371,7 +4359,7 @@ index 16381de..31a7d83 100644
|
|||
/* For Ada types, make sure that the gnat-specific data is always
|
||||
initialized (if not already set). There are a few types where
|
||||
we should not be doing so, because the type-specific area is
|
||||
@@ -12592,8 +13877,567 @@ dwarf2_per_objfile_free (struct objfile *objfile, void *d)
|
||||
@@ -12592,8 +13879,567 @@ dwarf2_per_objfile_free (struct objfile *objfile, void *d)
|
||||
munmap_section_buffer (&data->loc);
|
||||
munmap_section_buffer (&data->frame);
|
||||
munmap_section_buffer (&data->eh_frame);
|
||||
|
@ -4537,8 +4525,8 @@ index 16381de..31a7d83 100644
|
|||
+ return &symtab->data[index];
|
||||
+ index = (index + step) & (symtab->size - 1);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
}
|
||||
|
||||
+/* Expand SYMTAB's hash table. */
|
||||
+static void
|
||||
+hash_expand (struct mapped_symtab *symtab)
|
||||
|
@ -4907,7 +4895,7 @@ index 16381de..31a7d83 100644
|
|||
+ struct objfile *objfile;
|
||||
+
|
||||
+ if (!arg || !*arg)
|
||||
+ error (_("usage: maintenance save-gdb-index DIRECTORY"));
|
||||
+ error (_("usage: save gdb-index DIRECTORY"));
|
||||
+
|
||||
+ ALL_OBJFILES (objfile)
|
||||
+ {
|
||||
|
@ -4932,21 +4920,31 @@ index 16381de..31a7d83 100644
|
|||
+ objfile->name);
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
int dwarf2_always_disassemble;
|
||||
|
||||
static void
|
||||
@@ -12657,4 +14501,8 @@ The value is the maximum depth to print."),
|
||||
@@ -12610,6 +14456,8 @@ void _initialize_dwarf2_read (void);
|
||||
void
|
||||
_initialize_dwarf2_read (void)
|
||||
{
|
||||
+ struct cmd_list_element *c;
|
||||
+
|
||||
dwarf2_objfile_data_key
|
||||
= register_objfile_data_with_cleanup (NULL, dwarf2_per_objfile_free);
|
||||
|
||||
@@ -12657,4 +14505,9 @@ The value is the maximum depth to print."),
|
||||
NULL,
|
||||
NULL,
|
||||
&setdebuglist, &showdebuglist);
|
||||
+
|
||||
+ add_cmd ("gdb-index", class_files, save_gdb_index_command,
|
||||
+ _("Save a .gdb-index file"),
|
||||
+ &save_cmdlist);
|
||||
+ c = add_cmd ("gdb-index", class_files, save_gdb_index_command,
|
||||
+ _("Save a .gdb-index file"),
|
||||
+ &save_cmdlist);
|
||||
+ set_cmd_completer (c, filename_completer);
|
||||
}
|
||||
diff --git a/gdb/elfread.c b/gdb/elfread.c
|
||||
index 8c00938..a250c58 100644
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
--- a/gdb/gdb_gcore.sh
|
||||
+++ b/gdb/gdb_gcore.sh
|
||||
@@ -64,6 +64,9 @@ for pid in $*
|
||||
do
|
||||
# Write gdb script for pid $pid.
|
||||
cat >>$tmpfile <<EOF
|
||||
+set pagination off
|
||||
+set width 0
|
||||
+set height 0
|
||||
attach $pid
|
||||
gcore $name.$pid
|
||||
detach
|
12
gdb.spec
12
gdb.spec
|
@ -32,11 +32,11 @@ Name: gdb%{?_with_debug:-debug}
|
|||
# Set version to contents of gdb/version.in.
|
||||
# NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3
|
||||
# and, since January 2005, X.Y.Z.date for daily snapshots, like 6.3.50.20050112 # (daily snapshot from mailine), or 6.3.0.20040112 (head of the release branch).
|
||||
Version: 7.1.90.20100721
|
||||
Version: 7.1.90.20100806
|
||||
|
||||
# The release always contains a leading reserved number, start it at 1.
|
||||
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
||||
Release: 6%{?_with_upstream:.upstream}%{dist}
|
||||
Release: 7%{?_with_upstream:.upstream}%{dist}
|
||||
|
||||
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and GFDL and BSD and Public Domain
|
||||
Group: Development/Debuggers
|
||||
|
@ -420,6 +420,9 @@ Patch489: gdb-bz614659-prelink-dynbss.patch
|
|||
# Provide /usr/bin/gdb-add-index for rpm-build (Tom Tromey).
|
||||
Patch491: gdb-gdb-add-index-script.patch
|
||||
|
||||
# Fix gcore from very small terminal windows (BZ 555076).
|
||||
Patch493: gdb-bz555076-gcore-small-height.patch
|
||||
|
||||
BuildRequires: ncurses-devel%{?_isa} texinfo gettext flex bison expat-devel%{?_isa}
|
||||
Requires: readline%{?_isa}
|
||||
BuildRequires: readline-devel%{?_isa}
|
||||
|
@ -671,6 +674,7 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
|
|||
%patch415 -p1
|
||||
%patch489 -p1
|
||||
%patch491 -p1
|
||||
%patch493 -p1
|
||||
|
||||
%patch393 -p1
|
||||
%patch335 -p1
|
||||
|
@ -999,6 +1003,10 @@ fi
|
|||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Aug 6 2010 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.1.90.20100806-7.fc14
|
||||
- Fix gcore from very small terminal windows (BZ 555076).
|
||||
- Fix false `filesystem' debuginfo rpm request (BZ 599598).
|
||||
|
||||
* Wed Jul 28 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 7.1.90.20100721-6.fc14
|
||||
- Rebuild against python 2.7
|
||||
|
||||
|
|
Loading…
Reference in New Issue