[gdb/f14/master] * Fri Aug 6 2010 Jan Kratochvil <jan.kratochvil at redhat.com> - 7.1.90.20100806-7.fc14 - Fix gcore fr

Jan Kratochvil jkratoch at fedoraproject.org
Fri Aug 6 16:41:38 UTC 2010


commit fc20e6331a02249a26d20f65d950678b6f2d51a5
Author: Jan Kratochvil <jan.kratochvil at redhat.com>
Date:   Fri Aug 6 18:40:59 2010 +0200

    * Fri Aug  6 2010 Jan Kratochvil <jan.kratochvil at 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).

 .gitignore                            |    2 +-
 gdb-6.3-readnever-20050907.patch      |   24 +++---
 gdb-6.6-buildid-locate-rpm.patch      |   83 +++++++++--------
 gdb-archer.patch                      |  156 ++++++++++++++++-----------------
 gdb-bz555076-gcore-small-height.patch |   12 +++
 gdb.spec                              |   12 ++-
 sources                               |    2 +-
 7 files changed, 157 insertions(+), 134 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 4b0e4b4..72f656c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-gdb-7.1.90.20100721.tar.bz2
+gdb-7.1.90.20100806.tar.bz2
diff --git a/gdb-6.3-readnever-20050907.patch b/gdb-6.3-readnever-20050907.patch
index 0bdf948..7cdc0f7 100644
--- a/gdb-6.3-readnever-20050907.patch
+++ b/gdb-6.3-readnever-20050907.patch
@@ -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.  */
diff --git a/gdb-6.6-buildid-locate-rpm.patch b/gdb-6.6-buildid-locate-rpm.patch
index e11fb3c..fc820d5 100644
--- a/gdb-6.6-buildid-locate-rpm.patch
+++ b/gdb-6.6-buildid-locate-rpm.patch
@@ -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
 +
diff --git a/gdb-archer.patch b/gdb-archer.patch
index 6c8cd56..e78e79e 100644
--- a/gdb-archer.patch
+++ b/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 at redhat.com>
- 
-+	* gdb.texinfo (Index Files): New node.
-+
-+2010-07-13  Tom Tromey  <tromey at redhat.com>
-+
- 	* gdb.texinfo (GDB/MI Variable Objects): Remove extra 'for'.
- 
- 2010-07-01  Pedro Alves  <pedro at 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
diff --git a/gdb-bz555076-gcore-small-height.patch b/gdb-bz555076-gcore-small-height.patch
new file mode 100644
index 0000000..acad66b
--- /dev/null
+++ b/gdb-bz555076-gcore-small-height.patch
@@ -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
diff --git a/gdb.spec b/gdb.spec
index 3604c32..fa593a6 100644
--- a/gdb.spec
+++ b/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 at 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 at ioa.s.u-tokyo.ac.jp> - 7.1.90.20100721-6.fc14
 - Rebuild against python 2.7
 
diff --git a/sources b/sources
index 82ced62..70b34dc 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-26c6432521efa296bf8bdcae465c048b  gdb-7.1.90.20100721.tar.bz2
+37672a43bf094a9d64f252611e384524  gdb-7.1.90.20100806.tar.bz2


More information about the scm-commits mailing list