- Import archer-tromey-python.

- Import archer-tromey-optional-psymtab (as present in FSF GDB post-7.2).
- Provide /usr/bin/gdb-add-index for rpm-build (Tom Tromey).
This commit is contained in:
Jan Kratochvil 2010-07-22 10:49:58 +00:00
parent 4d3bc055ec
commit 20f9f675af
6 changed files with 5409 additions and 136 deletions

View File

@ -11,10 +11,10 @@
* gdb.texinfo (File Options): Document --readnever.
Index: gdb-7.1.90.20100711/gdb/doc/gdb.texinfo
Index: gdb-7.1.90.20100721/gdb/doc/gdb.texinfo
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/doc/gdb.texinfo 2010-07-01 19:40:04.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/doc/gdb.texinfo 2010-07-12 10:41:11.000000000 +0200
--- 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
@@ -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.
@ -28,11 +28,11 @@ Index: gdb-7.1.90.20100711/gdb/doc/gdb.texinfo
@end table
@node Mode Options
Index: gdb-7.1.90.20100711/gdb/main.c
Index: gdb-7.1.90.20100721/gdb/main.c
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/main.c 2010-07-12 10:17:26.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/main.c 2010-07-12 10:41:34.000000000 +0200
@@ -388,6 +388,7 @@ captured_main (void *data)
--- 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
@@ -391,6 +391,7 @@ captured_main (void *data)
{"xdb", no_argument, &xdb_commands, 1},
{"dbx", no_argument, &dbx_commands, 1},
{"readnow", no_argument, &readnow_symbol_files, 1},
@ -40,18 +40,18 @@ Index: gdb-7.1.90.20100711/gdb/main.c
{"r", no_argument, &readnow_symbol_files, 1},
{"quiet", no_argument, &quiet, 1},
{"q", no_argument, &quiet, 1},
@@ -980,6 +981,7 @@ Options:\n\n\
fputs_unfiltered (_(" file.\n\
@@ -1038,6 +1039,7 @@ Options:\n\n\
fputs_unfiltered (_("\
--quiet Do not print version number on startup.\n\
--readnow Fully read symbol files on first access.\n\
+ --readnever Do not read symbol files.\n\
"), stream);
fputs_unfiltered (_("\
--se=FILE Use FILE as symbol file and executable file.\n\
Index: gdb-7.1.90.20100711/gdb/symfile.c
Index: gdb-7.1.90.20100721/gdb/symfile.c
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/symfile.c 2010-06-03 01:01:00.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/symfile.c 2010-07-12 10:41:11.000000000 +0200
--- 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
@@ -80,6 +80,7 @@ static void clear_symtab_users_cleanup (
/* Global variables owned by this file */
@ -60,19 +60,19 @@ Index: gdb-7.1.90.20100711/gdb/symfile.c
/* External variables and functions referenced. */
Index: gdb-7.1.90.20100711/gdb/dwarf2read.c
Index: gdb-7.1.90.20100721/gdb/dwarf2read.c
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/dwarf2read.c 2010-07-12 10:00:56.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/dwarf2read.c 2010-07-12 10:43:53.000000000 +0200
@@ -51,6 +51,7 @@
#include "typeprint.h"
#include "jv-lang.h"
--- 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"
#include "exceptions.h"
#include "gdb_stat.h"
+#include "top.h"
#include <fcntl.h>
#include "gdb_string.h"
@@ -1161,8 +1162,9 @@ dwarf2_has_info (struct objfile *objfile
@@ -1282,8 +1283,9 @@ dwarf2_has_info (struct objfile *objfile
bfd_map_over_sections (objfile->obfd, dwarf2_locate_sections, NULL);
dwarf2_per_objfile->objfile = objfile;
}
@ -84,10 +84,10 @@ Index: gdb-7.1.90.20100711/gdb/dwarf2read.c
}
/* When loading sections, we can either look for ".<name>", or for
Index: gdb-7.1.90.20100711/gdb/top.h
Index: gdb-7.1.90.20100721/gdb/top.h
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/top.h 2010-04-07 18:54:39.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/top.h 2010-07-12 10:41:11.000000000 +0200
--- 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
@@ -61,6 +61,7 @@ extern void set_prompt (char *);
/* From random places. */

View File

@ -1,7 +1,7 @@
Index: gdb-7.1.90.20100711/gdb/event-top.c
Index: gdb-7.1.90.20100721/gdb/event-top.c
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/event-top.c 2010-06-26 08:44:47.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/event-top.c 2010-07-12 11:37:04.000000000 +0200
--- 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
@@ -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.20100711/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.20100711/gdb/elfread.c
Index: gdb-7.1.90.20100721/gdb/elfread.c
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/elfread.c 2010-07-12 11:30:30.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/elfread.c 2010-07-12 11:37:04.000000000 +0200
--- 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
@@ -42,6 +42,7 @@
#include "gdbcore.h"
#include "gdbcmd.h"
@ -40,7 +40,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
extern void _initialize_elfread (void);
@@ -1368,8 +1369,353 @@ build_id_to_filename (struct build_id *b
@@ -1371,8 +1372,353 @@ build_id_to_filename (struct build_id *b
return retval;
}
@ -395,7 +395,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
avoidance. */
struct missing_filepair
@@ -1423,11 +1769,17 @@ missing_filepair_change (void)
@@ -1426,11 +1772,17 @@ missing_filepair_change (void)
/* All their memory came just from missing_filepair_OBSTACK. */
missing_filepair_hash = NULL;
}
@ -413,7 +413,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
missing_filepair_change ();
}
@@ -1494,14 +1846,34 @@ debug_print_missing (const char *binary,
@@ -1497,14 +1849,34 @@ debug_print_missing (const char *binary,
*slot = missing_filepair;
@ -455,11 +455,11 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
}
static char *
Index: gdb-7.1.90.20100711/gdb/symfile.h
Index: gdb-7.1.90.20100721/gdb/symfile.h
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/symfile.h 2010-07-12 11:06:18.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/symfile.h 2010-07-12 11:37:04.000000000 +0200
@@ -568,6 +568,7 @@ extern struct build_id *build_id_addr_ge
--- 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
@@ -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);
extern void debug_print_missing (const char *binary, const char *debug);
@ -467,11 +467,11 @@ Index: gdb-7.1.90.20100711/gdb/symfile.h
/* From dwarf2read.c */
Index: gdb-7.1.90.20100711/gdb/testsuite/lib/gdb.exp
Index: gdb-7.1.90.20100721/gdb/testsuite/lib/gdb.exp
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/testsuite/lib/gdb.exp 2010-07-12 11:05:57.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/testsuite/lib/gdb.exp 2010-07-12 11:37:04.000000000 +0200
@@ -1353,7 +1353,7 @@ proc default_gdb_start { } {
--- 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
@@ -1359,7 +1359,7 @@ proc default_gdb_start { } {
warning "Couldn't set the width to 0."
}
}
@ -480,10 +480,10 @@ Index: gdb-7.1.90.20100711/gdb/testsuite/lib/gdb.exp
send_gdb "set build-id-verbose 0\n"
gdb_expect 10 {
-re "$gdb_prompt $" {
Index: gdb-7.1.90.20100711/gdb/testsuite/lib/mi-support.exp
Index: gdb-7.1.90.20100721/gdb/testsuite/lib/mi-support.exp
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/testsuite/lib/mi-support.exp 2010-07-12 11:05:57.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/testsuite/lib/mi-support.exp 2010-07-12 11:37:04.000000000 +0200
--- 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
@@ -221,7 +221,7 @@ proc default_mi_gdb_start { args } {
}
}
@ -493,10 +493,10 @@ Index: gdb-7.1.90.20100711/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.20100711/gdb/tui/tui-interp.c
Index: gdb-7.1.90.20100721/gdb/tui/tui-interp.c
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/tui/tui-interp.c 2010-05-18 00:21:43.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/tui/tui-interp.c 2010-07-12 11:37:04.000000000 +0200
--- 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
@@ -30,6 +30,7 @@
#include "tui/tui.h"
#include "tui/tui-io.h"
@ -514,10 +514,10 @@ Index: gdb-7.1.90.20100711/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.20100711/gdb/aclocal.m4
Index: gdb-7.1.90.20100721/gdb/aclocal.m4
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/aclocal.m4 2010-05-23 02:56:59.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/aclocal.m4 2010-07-12 11:37:04.000000000 +0200
--- 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
@@ -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 +681,10 @@ Index: gdb-7.1.90.20100711/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.20100711/gdb/config.in
Index: gdb-7.1.90.20100721/gdb/config.in
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/config.in 2010-07-06 21:03:11.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/config.in 2010-07-12 11:38:30.000000000 +0200
--- 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
@@ -46,6 +46,9 @@
/* Define to BFD's default target vector. */
#undef DEFAULT_BFD_VEC
@ -695,7 +695,7 @@ Index: gdb-7.1.90.20100711/gdb/config.in
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#undef ENABLE_NLS
@@ -232,6 +235,9 @@
@@ -231,6 +234,9 @@
/* Define if Python 2.7 is being used. */
#undef HAVE_LIBPYTHON2_7
@ -705,10 +705,10 @@ Index: gdb-7.1.90.20100711/gdb/config.in
/* Define if libunwind library is being used. */
#undef HAVE_LIBUNWIND
Index: gdb-7.1.90.20100711/gdb/configure
Index: gdb-7.1.90.20100721/gdb/configure
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/configure 2010-07-07 19:36:39.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/configure 2010-07-12 11:38:15.000000000 +0200
--- 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
@@ -679,6 +679,9 @@ REPORT_BUGS_TO
PKGVERSION
TARGET_OBS
@ -716,18 +716,18 @@ Index: gdb-7.1.90.20100711/gdb/configure
+RPM_LIBS
+RPM_CFLAGS
+PKG_CONFIG
pythondir
GDB_DATADIR_PATH
GDB_DATADIR
DEBUGDIR
am__fastdepCC_FALSE
@@ -945,6 +948,7 @@ enable_dependency_tracking
with_separate_debug_dir
@@ -948,6 +951,7 @@ with_separate_debug_dir
with_gdb_datadir
with_relocated_sources
with_pythondir
+with_rpm
enable_targets
enable_64_bit_bfd
enable_gdbcli
@@ -985,6 +989,9 @@ LDFLAGS
@@ -988,6 +992,9 @@ LDFLAGS
LIBS
CPPFLAGS
CPP
@ -737,16 +737,16 @@ Index: gdb-7.1.90.20100711/gdb/configure
YACC
YFLAGS
XMKMF'
@@ -1646,6 +1653,8 @@ Optional Packages:
@@ -1653,6 +1660,8 @@ Optional Packages:
[DATADIR/gdb]
--with-relocated-sources=PATH
automatically relocate this path for source files
--with-pythondir install Python data files in this path
[DATADIR/gdb/python]
+ --with-rpm query rpm database for missing debuginfos (yes/no,
+ def. auto=librpm.so)
--with-libunwind use libunwind frame unwinding support
--with-curses use the curses library instead of the termcap
library
@@ -1681,6 +1690,9 @@ Some influential environment variables:
@@ -1688,6 +1697,9 @@ Some influential environment variables:
CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CPP C preprocessor
@ -756,7 +756,7 @@ Index: gdb-7.1.90.20100711/gdb/configure
YACC The `Yet Another C Compiler' implementation to use. Defaults to
the first program found out of: `bison -y', `byacc', `yacc'.
YFLAGS The list of arguments that will be passed by default to $YACC.
@@ -7878,6 +7890,486 @@ _ACEOF
@@ -7951,6 +7963,485 @@ _ACEOF
fi
@ -1239,17 +1239,16 @@ Index: gdb-7.1.90.20100711/gdb/configure
+ fi
+ fi
+fi
+
subdirs="$subdirs doc testsuite"
Index: gdb-7.1.90.20100711/gdb/configure.ac
Index: gdb-7.1.90.20100721/gdb/configure.ac
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/configure.ac 2010-07-07 19:36:39.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/configure.ac 2010-07-12 11:38:02.000000000 +0200
@@ -108,6 +108,199 @@ AS_HELP_STRING([--with-relocated-sources
[Relocated directory for source files. ])
])
--- 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
@@ -152,6 +152,198 @@ else
fi
AC_SUBST(pythondir)
+# Integration with rpm library to support missing debuginfo suggestions.
+# --without-rpm: Disable any rpm support.
@ -1443,14 +1442,13 @@ Index: gdb-7.1.90.20100711/gdb/configure.ac
+ fi
+ fi
+fi
+
AC_CONFIG_SUBDIRS(doc testsuite)
# Check whether to support alternative target configurations
Index: gdb-7.1.90.20100711/gdb/acinclude.m4
Index: gdb-7.1.90.20100721/gdb/acinclude.m4
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/acinclude.m4 2010-05-27 05:40:45.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/acinclude.m4 2010-07-12 11:37:04.000000000 +0200
--- 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
@@ -1,3 +1,5 @@
+# serial 1
+

File diff suppressed because it is too large Load Diff

View File

@ -9,11 +9,11 @@ Neither its obstack-leak.patch nor
http://sourceware.org/ml/gdb-patches/2010-05/msg00271.html
is needed as the linked list is used instead.
Index: gdb-7.1.90.20100711/gdb/dwarf2read.c
Index: gdb-7.1.90.20100721/gdb/dwarf2read.c
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/dwarf2read.c 2010-07-13 00:34:00.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/dwarf2read.c 2010-07-13 22:25:18.000000000 +0200
@@ -216,6 +216,28 @@ struct comp_unit_head
--- gdb-7.1.90.20100721.orig/gdb/dwarf2read.c 2010-07-22 11:59:19.000000000 +0200
+++ gdb-7.1.90.20100721/gdb/dwarf2read.c 2010-07-22 12:00:08.000000000 +0200
@@ -253,6 +253,28 @@ struct comp_unit_head
unsigned int first_die_offset;
};
@ -42,7 +42,7 @@ Index: gdb-7.1.90.20100711/gdb/dwarf2read.c
/* Internal state when decoding a particular compilation unit. */
struct dwarf2_cu
{
@@ -294,6 +316,10 @@ struct dwarf2_cu
@@ -331,6 +353,10 @@ struct dwarf2_cu
/* Header data from the line table, during full symbol processing. */
struct line_header *line_header;
@ -53,17 +53,17 @@ Index: gdb-7.1.90.20100711/gdb/dwarf2read.c
/* Mark used when releasing cached dies. */
unsigned int mark : 1;
@@ -1142,6 +1168,9 @@ static struct type *get_die_type (struct
static struct dwarf2_locexpr_baton *dwarf2_attr_to_locexpr_baton
(struct attribute *attr, struct dwarf2_cu *cu);
@@ -1239,6 +1265,9 @@ static gdb_byte *partial_read_comp_unit_
static void init_cu_die_reader (struct die_reader_specs *reader,
struct dwarf2_cu *cu);
+static const char *dwarf2_physname (char *name, struct die_info *die,
+ struct dwarf2_cu *cu);
+
/* Try to locate the sections we need for DWARF 2 debugging
information and return true if we have enough to do something. */
#if WORDS_BIGENDIAN
@@ -3137,6 +3166,58 @@ load_full_comp_unit (struct dwarf2_per_c
/* Convert VALUE between big- and little-endian. */
@@ -4103,6 +4132,58 @@ load_full_comp_unit (struct dwarf2_per_c
discard_cleanups (free_cu_cleanup);
}
@ -122,8 +122,8 @@ Index: gdb-7.1.90.20100711/gdb/dwarf2read.c
/* Generate full symbol information for PST and CU, whose DIEs have
already been loaded into memory. */
@@ -3148,7 +3229,7 @@ process_full_comp_unit (struct dwarf2_pe
struct objfile *objfile = pst->objfile;
@@ -4113,7 +4194,7 @@ process_full_comp_unit (struct dwarf2_pe
struct objfile *objfile = per_cu->objfile;
CORE_ADDR lowpc, highpc;
struct symtab *symtab;
- struct cleanup *back_to;
@ -131,7 +131,7 @@ Index: gdb-7.1.90.20100711/gdb/dwarf2read.c
CORE_ADDR baseaddr;
baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
@@ -3158,11 +3239,22 @@ process_full_comp_unit (struct dwarf2_pe
@@ -4123,11 +4204,22 @@ process_full_comp_unit (struct dwarf2_pe
cu->list_in_scope = &file_symbols;
@ -154,7 +154,7 @@ Index: gdb-7.1.90.20100711/gdb/dwarf2read.c
/* Some compilers don't define a DW_AT_high_pc attribute for the
compilation unit. If the DW_AT_high_pc is missing, synthesize
it, by scanning the DIE's below the compilation unit. */
@@ -4854,7 +4946,6 @@ dwarf2_add_member_fn (struct field_info
@@ -5838,7 +5930,6 @@ dwarf2_add_member_fn (struct field_info
int i;
struct fn_field *fnp;
char *fieldname;
@ -162,7 +162,7 @@ Index: gdb-7.1.90.20100711/gdb/dwarf2read.c
struct nextfnfield *new_fnfield;
struct type *this_type;
@@ -4866,9 +4957,6 @@ dwarf2_add_member_fn (struct field_info
@@ -5850,9 +5941,6 @@ dwarf2_add_member_fn (struct field_info
if (fieldname == NULL)
return;
@ -172,7 +172,7 @@ Index: gdb-7.1.90.20100711/gdb/dwarf2read.c
/* Look up member function name in fieldlist. */
for (i = 0; i < fip->nfnfields; i++)
{
@@ -4894,7 +4982,7 @@ dwarf2_add_member_fn (struct field_info
@@ -5878,7 +5966,7 @@ dwarf2_add_member_fn (struct field_info
flp->name = fieldname;
flp->length = 0;
flp->head = NULL;
@ -181,7 +181,7 @@ Index: gdb-7.1.90.20100711/gdb/dwarf2read.c
}
/* Create a new member function field and chain it to the field list
@@ -4908,9 +4996,19 @@ dwarf2_add_member_fn (struct field_info
@@ -5892,9 +5980,19 @@ dwarf2_add_member_fn (struct field_info
/* Fill in the member function field info. */
fnp = &new_fnfield->fnfield;
@ -204,7 +204,7 @@ Index: gdb-7.1.90.20100711/gdb/dwarf2read.c
fnp->type = alloc_type (objfile);
this_type = read_type_die (die, cu);
if (this_type && TYPE_CODE (this_type) == TYPE_CODE_FUNC)
@@ -4936,7 +5034,7 @@ dwarf2_add_member_fn (struct field_info
@@ -5920,7 +6018,7 @@ dwarf2_add_member_fn (struct field_info
}
else
complaint (&symfile_complaints, _("member function type missing for '%s'"),
@ -213,7 +213,7 @@ Index: gdb-7.1.90.20100711/gdb/dwarf2read.c
/* Get fcontext from DW_AT_containing_type if present. */
if (dwarf2_attr (die, DW_AT_containing_type, cu) != NULL)
@@ -7315,7 +7413,9 @@ load_partial_dies (bfd *abfd, gdb_byte *
@@ -8299,7 +8397,9 @@ load_partial_dies (bfd *abfd, gdb_byte *
|| last_die->tag == DW_TAG_interface_type
|| last_die->tag == DW_TAG_structure_type
|| last_die->tag == DW_TAG_union_type))
@ -224,10 +224,10 @@ Index: gdb-7.1.90.20100711/gdb/dwarf2read.c
&& (last_die->tag == DW_TAG_subprogram
|| last_die->tag == DW_TAG_lexical_block))))
{
Index: gdb-7.1.90.20100711/gdb/testsuite/gdb.dwarf2/pr11465.S
Index: gdb-7.1.90.20100721/gdb/testsuite/gdb.dwarf2/pr11465.S
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.1.90.20100711/gdb/testsuite/gdb.dwarf2/pr11465.S 2010-07-13 22:24:48.000000000 +0200
+++ gdb-7.1.90.20100721/gdb/testsuite/gdb.dwarf2/pr11465.S 2010-07-22 11:59:29.000000000 +0200
@@ -0,0 +1,355 @@
+/* Copyright 2010 Free Software Foundation, Inc.
+
@ -584,10 +584,10 @@ Index: gdb-7.1.90.20100711/gdb/testsuite/gdb.dwarf2/pr11465.S
+.LASF4:
+ .string "GNU C++ 4.4.2"
+ .ident "GCC: (GNU) 4.4.2"
Index: gdb-7.1.90.20100711/gdb/testsuite/gdb.dwarf2/pr11465.exp
Index: gdb-7.1.90.20100721/gdb/testsuite/gdb.dwarf2/pr11465.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.1.90.20100711/gdb/testsuite/gdb.dwarf2/pr11465.exp 2010-07-13 22:24:48.000000000 +0200
+++ gdb-7.1.90.20100721/gdb/testsuite/gdb.dwarf2/pr11465.exp 2010-07-22 11:59:29.000000000 +0200
@@ -0,0 +1,39 @@
+# Copyright 2010 Free Software Foundation, Inc.
+

View File

@ -0,0 +1,119 @@
http://sourceware.org/ml/gdb-patches/2010-07/msg00184.html
Subject: Re: [0/4] RFC: add DWARF index support
>>>>> "Tom" == Tom Tromey <tromey@redhat.com> writes:
Tom> This patch series adds support for a DWARF index to gdb.
Roland suggested we wrap up the index-creation code into a helper
script.
I'm not sure if this is something people would want in gdb proper, but I
figured I would send it here just in case.
Tom
2010-07-09 Tom Tromey <tromey@redhat.com>
* Makefile.in (install-only): Install gdb-add-index.
* gdb-add-index: New file.
2010-07-09 Tom Tromey <tromey@redhat.com>
* gdb.texinfo (Index Files): Mention gdb-add-index.
>From 30714fe719e61baea03d0dc5793eb0d564faebb7 Mon Sep 17 00:00:00 2001
From: Tom Tromey <tromey@redhat.com>
Date: Fri, 9 Jul 2010 11:17:54 -0600
Subject: [PATCH 4/4] add gdb-add-index
Subject: [PATCH 4/4] add gdb-add-index
---
gdb/ChangeLog | 5 +++++
gdb/Makefile.in | 11 ++++++++++-
gdb/doc/ChangeLog | 4 ++++
gdb/doc/gdb.texinfo | 8 ++++++++
gdb/gdb-add-index | 30 ++++++++++++++++++++++++++++++
5 files changed, 57 insertions(+), 1 deletions(-)
create mode 100755 gdb/gdb-add-index
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 6dbb284..8210a2c 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -1018,7 +1018,16 @@ install-only: $(CONFIG_INSTALL) xml-syscall-install
$(SHELL) $(srcdir)/../mkinstalldirs \
$(DESTDIR)$(man1dir) ; \
$(INSTALL_DATA) $(srcdir)/gdb.1 \
- $(DESTDIR)$(man1dir)/$$transformed_name.1
+ $(DESTDIR)$(man1dir)/$$transformed_name.1; \
+ transformed_name=`t='$(program_transform_name)'; \
+ echo gdb-add-index | sed -e "$$t"` ; \
+ if test "x$$transformed_name" = x; then \
+ transformed_name=gdb-add-index ; \
+ else \
+ true ; \
+ fi ; \
+ $(INSTALL_PROGRAM) $(srcdir)/gdb-add-index \
+ $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT)
@$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
.PHONY: install-tui
install-tui:
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 69141e3..457e6b4 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -15045,6 +15045,14 @@ There are currently some limitation on indices. They only work when
for DWARF debugging information, not stabs. And, they do not
currently work for programs using Ada.
+@value{GDBN} comes with a program, @command{gdb-add-index}, which can
+be used to add the index to a symbol file. It takes the symbol file
+as its only argument:
+
+@smallexample
+$ gdb-add-index symfile
+@end smallexample
+
@node Symbol Errors
@section Errors Reading Symbol Files
diff --git a/gdb/gdb-add-index b/gdb/gdb-add-index
new file mode 100755
index 0000000..c9a03b0
--- /dev/null
+++ b/gdb/gdb-add-index
@@ -0,0 +1,30 @@
+#! /bin/sh
+
+# Add a .gdb_index section to a file.
+
+# Copyright (C) 2010 Free Software Foundation, Inc.
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+file="$1"
+dir="${file%/*}"
+
+# We don't care if gdb gives an error.
+gdb --batch-silent -ex "file $file" -ex "save gdb-index $d" > /dev/null 2>&1
+
+if test -f "${file}.gdb-index"; then
+ objcopy --add-section .gdb_index="${file}.gdb-index" --set-section-flags .gdb_index=readonly "$file" "$file"
+ rm -f "${file}.gdb-index"
+fi
+
+exit 0
--
1.6.2.5

View File

@ -36,7 +36,7 @@ Version: 7.1.90.20100721
# 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: 3%{?_with_upstream:.upstream}%{dist}
Release: 4%{?_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
@ -417,6 +417,9 @@ Patch487: gdb-bz562763-pretty-print-2d-vectors-libstdcxx.patch
# Fix prelinked executables with sepdebug and copy relocations (BZ 614659).
Patch489: gdb-bz614659-prelink-dynbss.patch
# Provide /usr/bin/gdb-add-index for rpm-build (Tom Tromey).
Patch491: gdb-gdb-add-index-script.patch
BuildRequires: ncurses-devel%{?_isa} texinfo gettext flex bison expat-devel%{?_isa}
Requires: readline%{?_isa}
BuildRequires: readline-devel%{?_isa}
@ -667,6 +670,7 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
#patch487 -p1
%patch415 -p1
%patch489 -p1
%patch491 -p1
%patch393 -p1
%patch335 -p1
@ -972,6 +976,7 @@ fi
%{_mandir}/*/gstack.1*
%if 0%{!?el5:1}
%{_bindir}/pstack
%{_bindir}/gdb-add-index
%{_mandir}/*/pstack.1*
%endif # 0%{!?el5:1}
%endif # 0%{!?_with_upstream:1}
@ -994,7 +999,12 @@ fi
%endif
%changelog
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 7.1.90.20100721-3
* Thu Jul 22 2010 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.1.90.20100721-4.fc14
- Import archer-tromey-python.
- Import archer-tromey-optional-psymtab (as present in FSF GDB post-7.2).
- Provide /usr/bin/gdb-add-index for rpm-build (Tom Tromey).
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 7.1.90.20100721-3.fc14
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
* Wed Jul 21 2010 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.1.90.20100721-2.fc14