rpms/gdb/F-8 gdb-6.6-bz235197-fork-detach-info.patch, NONE, 1.1 gdb-6.5-bz109921-DW_AT_decl_file-fix.patch, 1.2, 1.3 gdb-6.5-bz109921-DW_AT_decl_file-test.patch, 1.1, 1.2 gdb-6.5-bz215816-readline-from-callback-test.patch, 1.2, 1.3 gdb-6.5-bz215816-readline-from-callback.patch, 1.2, 1.3 gdb-6.6-multifork-debugreg-for-i386-and-x86_64.patch, 1.1, 1.2 gdb-6.6-upstream.patch, 1.10, 1.11 gdb.spec, 1.254, 1.255 gdb-6.6-bz234468-fork-detach-info.patch, 1.1, NONE
Jan Kratochvil (jkratoch)
fedora-extras-commits at redhat.com
Sat Dec 22 14:38:54 UTC 2007
Author: jkratoch
Update of /cvs/pkgs/rpms/gdb/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv24874
Modified Files:
gdb-6.5-bz109921-DW_AT_decl_file-fix.patch
gdb-6.5-bz109921-DW_AT_decl_file-test.patch
gdb-6.5-bz215816-readline-from-callback-test.patch
gdb-6.5-bz215816-readline-from-callback.patch
gdb-6.6-multifork-debugreg-for-i386-and-x86_64.patch
gdb-6.6-upstream.patch gdb.spec
Added Files:
gdb-6.6-bz235197-fork-detach-info.patch
Removed Files:
gdb-6.6-bz234468-fork-detach-info.patch
Log Message:
* Sat Dec 22 2007 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.6-38
- Fix crash on parsing duplicite file entries debug info (BZ 426395).
- Fix (#2) readline history for input mode commands like `command' (BZ 215816).
- Fix documentation on hardware watchpoints wrt multiple threads.
- Rename the patch file for BZ 235197 from its former name BZ 234468.
gdb-6.6-bz235197-fork-detach-info.patch:
--- NEW FILE gdb-6.6-bz235197-fork-detach-info.patch ---
--- ./gdb/linux-nat.c 9 Feb 2007 20:52:16 -0000 1.56
+++ ./gdb/linux-nat.c 22 Apr 2007 17:20:25 -0000
@@ -378,9 +378,17 @@ child_follow_fork (struct target_ops *op
/* Detach new forked process? */
if (detach_fork)
{
+ static int advice_printed = 0;
+
+ target_terminal_ours ();
+ fprintf_filtered (gdb_stdlog,
+ _("[Detaching after fork from child process %d.%s]\n"),
+ child_pid, (advice_printed ? "" :
+ _(" (Try `set detach-on-fork off'.)")));
+ advice_printed = 1;
+
if (debug_linux_nat)
{
- target_terminal_ours ();
fprintf_filtered (gdb_stdlog,
"Detaching after fork from child process %d.\n",
child_pid);
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ./gdb/testsuite/gdb.base/fork-detach.c 22 Apr 2007 17:20:25 -0000
@@ -0,0 +1,57 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2007 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 2 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, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ Please email any bugs, comments, and/or additions to this file to:
+ bug-gdb at prep.ai.mit.edu */
+
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <assert.h>
+#include <stdlib.h>
+
+static void func (void)
+{
+}
+
+int main (void)
+{
+ pid_t child;
+
+ child = fork ();
+ switch (child)
+ {
+ case -1:
+ abort ();
+ case 0:
+ func ();
+ break;
+ default:
+ {
+/* We do not test the switching to the other fork by GDB `fork 1'. */
+#if 0
+ pid_t got;
+
+ got = waitpid (child, NULL, 0);
+ assert (got == child);
+#endif
+ break;
+ }
+ }
+ return 0;
+}
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ./gdb/testsuite/gdb.base/fork-detach.exp 22 Apr 2007 17:20:25 -0000
@@ -0,0 +1,43 @@
+# Copyright 2007 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 2 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, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+if $tracelevel then {
+ strace $tracelevel
+}
+
+set prms_id 0
+set bug_id 0
+
+set testfile fork-detach
+set srcfile ${testfile}.c
+set binfile ${objdir}/${subdir}/${testfile}
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
+ untested "Couldn't compile test program"
+ return -1
+}
+
+# Get things started.
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
+
+gdb_run_cmd
+# `Starting program: .*' prefix is available since gdb-6.7.
+gdb_test "" \
+ "\\\[Detaching after fork from child process.*Program exited normally\\..*" \
+ "Info message caught"
gdb-6.5-bz109921-DW_AT_decl_file-fix.patch:
Index: gdb-6.5-bz109921-DW_AT_decl_file-fix.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/F-8/gdb-6.5-bz109921-DW_AT_decl_file-fix.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- gdb-6.5-bz109921-DW_AT_decl_file-fix.patch 21 Jan 2007 01:53:01 -0000 1.2
+++ gdb-6.5-bz109921-DW_AT_decl_file-fix.patch 22 Dec 2007 14:38:42 -0000 1.3
@@ -1,351 +1,437 @@
-https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=109921
+2007-01-21 Jan Kratochvil <jan.kratochvil at redhat.com>
+ Daniel Jacobowitz <dan at codesourcery.com>
-
-2007-01-09 Jan Kratochvil <jan.kratochvil at redhat.com>
-
- * buildsym.c (start_subfile_index): Renamed `start_subfile' now
- supporting the FILE_INDEX parameter.
- (start_subfile): Backward compatible stub for `start_subfile_index'.
- (end_symtab): Resolve new SYMBOL.FILE.SYMTAB from SYMBOL.FILE.INDEX.
- Substitute possibly missing DIRNAME from the CU's main file DIRNAME.
- Clear `subfiles' variable as its data have been deallocated.
- * buildsym.h (struct subfile): New field `file_index'.
- (start_subfile_index): New prototype.
- * dwarf2read.c (add_file_name): Ensure subfile has been founded.
- (dwarf_decode_lines): Specify the new FILE_INDEX parameter.
- (dwarf2_start_subfile): New FILE_INDEX parameter.
- (new_symbol): Extract `DW_AT_decl_file' DWARF 2 information entry.
- * symtab.c (lookup_symbol): Override by the new SYMBOL.FILE.SYMTAB.
+ * buildsym.c (end_symtab): Use preallocated symtab if available.
+ Fill in SYMBOL_SYMTAB.
+ * buildsym.h (struct subfile): Add symtab member.
+ * dwarf2read.c (struct dwarf2_cu): Add line_header.
+ (struct file_entry): Add symtab.
+ (free_cu_line_header): New function.
+ (read_file_scope): Use it. Save line_header in the cu. Process
+ lines before DIEs.
+ (add_file_name): Initialize new symtab member.
+ (dwarf_decode_lines): Create symtabs for included files.
+ (new_symbol): Set SYMBOL_SYMTAB.
+ * symtab.c (lookup_symbol): Use SYMBOL_SYMTAB.
(search_symbols): Likewise.
- * symtab.h (struct symbol): New fields FILE.INDEX and FILE.SYMTAB.
- (SYMBOL_FILE_INDEX, SYMBOL_FILE_SYMTAB): New macros.
+ * symtab.h (struct symbol): Add symtab member.
+ (SYMBOL_SYMTAB): Define.
+
+2007-01-21 Jan Kratochvil <jan.kratochvil at redhat.com>
+ Daniel Jacobowitz <dan at codesourcery.com>
+ * gdb.base/included.c, gdb.base/included.exp,
+ gdb.base/included.h: New files.
-Index: gdb-6.6/gdb/buildsym.c
===================================================================
---- gdb-6.6.orig/gdb/buildsym.c 2006-08-25 18:32:32.000000000 +0200
-+++ gdb-6.6/gdb/buildsym.c 2007-01-20 13:59:48.000000000 +0100
-@@ -540,7 +540,7 @@ make_blockvector (struct objfile *objfil
- the directory in which it resides (or NULL if not known). */
-
- void
--start_subfile (char *name, char *dirname)
-+start_subfile_index (char *name, char *dirname, unsigned file_index)
- {
- struct subfile *subfile;
-
-@@ -552,6 +552,17 @@ start_subfile (char *name, char *dirname
- if (FILENAME_CMP (subfile->name, name) == 0)
- {
- current_subfile = subfile;
-+
-+ if (subfile->file_index != 0 && file_index != 0
-+ && subfile->file_index != file_index)
-+ complaint (&symfile_complaints, _("Filenames indexing conflict: "
-+ "name \"%s\" dir \"%s\" index %u vs. "
-+ "name \"%s\" dir \"%s\" index %u"),
-+ subfile->name, subfile->dirname, subfile->file_index,
-+ name, dirname, file_index);
-+ if (subfile->file_index == 0)
-+ subfile->file_index = file_index;
-+
- return;
- }
- }
-@@ -567,6 +578,7 @@ start_subfile (char *name, char *dirname
- current_subfile = subfile;
-
- /* Save its name and compilation directory name */
-+ subfile->file_index = file_index;
- subfile->name = (name == NULL) ? NULL : savestring (name, strlen (name));
- subfile->dirname =
- (dirname == NULL) ? NULL : savestring (dirname, strlen (dirname));
-@@ -622,6 +634,13 @@ start_subfile (char *name, char *dirname
- }
- }
-
-+/* Backward compatibility. */
-+void
-+start_subfile (char *name, char *dirname)
-+{
-+ start_subfile_index (name, dirname, 0);
-+}
-+
- /* For stabs readers, the first N_SO symbol is assumed to be the
- source file name, and the subfile struct is initialized using that
- assumption. If another N_SO symbol is later seen, immediately
-@@ -821,9 +840,12 @@ end_symtab (CORE_ADDR end_addr, struct o
- {
- struct symtab *symtab = NULL;
- struct blockvector *blockvector;
-- struct subfile *subfile;
-+ struct subfile *subfile, *subfile_main;
- struct context_stack *cstk;
- struct subfile *nextsub;
-+ int subfiles_count;
-+ struct symtab **file_index_to_symtab;
-+ size_t file_index_to_symtab_size;
-
- /* Finish the lexical context of the last function in the file; pop
- the context stack. */
-@@ -921,6 +943,18 @@ end_symtab (CORE_ADDR end_addr, struct o
- #endif
- PROCESS_LINENUMBER_HOOK (); /* Needed for xcoff. */
-
-+ /* Get the last subfile s SUBFILE_MAIN which is the main file of CU.
-+ Count SUBFILES_COUNT.
-+ Start with 1 as we do not iterate past the last item. */
-+ subfiles_count = 1;
-+ for (subfile_main = subfiles; subfile_main && subfile_main->next;
-+ subfile_main = subfile_main->next)
-+ subfiles_count++;
-+
-+ file_index_to_symtab_size = sizeof (*file_index_to_symtab) * subfiles_count;
-+ file_index_to_symtab = xmalloc (file_index_to_symtab_size);
-+ memset ((char *) file_index_to_symtab, 0, file_index_to_symtab_size);
-+
- /* Now create the symtab objects proper, one for each subfile. */
- /* (The main file is the last one on the chain.) */
-
-@@ -981,6 +1015,16 @@ end_symtab (CORE_ADDR end_addr, struct o
- strlen (subfile->dirname) + 1);
- strcpy (symtab->dirname, subfile->dirname);
+RCS file: /cvs/src/src/gdb/buildsym.c,v
+retrieving revision 1.45
+retrieving revision 1.46
+diff -u -r1.45 -r1.46
+--- src/gdb/buildsym.c 2007/01/09 17:58:50 1.45
++++ src/gdb/buildsym.c 2007/01/21 16:49:40 1.46
+@@ -959,7 +959,10 @@
}
-+ /* Non-primary subfiles may miss COMP_DIR resulting in NULL
-+ DIRNAME and so default it from the CU file - SUBFILE_MAIN. */
-+ else if (subfile_main->dirname)
-+ {
-+ /* Reallocate the dirname on the symbol obstack */
-+ symtab->dirname = (char *)
-+ obstack_alloc (&objfile->objfile_obstack,
-+ strlen (subfile_main->dirname) + 1);
-+ strcpy (symtab->dirname, subfile_main->dirname);
-+ }
- else
- {
- symtab->dirname = NULL;
-@@ -1009,6 +1053,13 @@ end_symtab (CORE_ADDR end_addr, struct o
- but the main file. */
- symtab->primary = 0;
-+
-+ /* It may be zero for files unlisted in File Table. */
-+ if (subfile->file_index)
-+ {
-+ gdb_assert (subfile->file_index <= subfiles_count);
-+ file_index_to_symtab[subfile->file_index - 1] = symtab;
-+ }
- }
- if (subfile->name != NULL)
- {
-@@ -1037,9 +1088,40 @@ end_symtab (CORE_ADDR end_addr, struct o
+ /* Now, allocate a symbol table. */
+- symtab = allocate_symtab (subfile->name, objfile);
++ if (subfile->symtab == NULL)
++ symtab = allocate_symtab (subfile->name, objfile);
++ else
++ symtab = subfile->symtab;
+
+ /* Fill in its components. */
+ symtab->blockvector = blockvector;
+@@ -1048,6 +1051,26 @@
symtab->primary = 1;
}
-+ /* Resolve `struct symbol.file.index' into `struct symbol.file.symtab'. */
++ /* Default any symbols without a specified symtab to the primary
++ symtab. */
+ if (blockvector)
+ {
+ int block_i;
+
+ for (block_i = 0; block_i < BLOCKVECTOR_NBLOCKS (blockvector); block_i++)
+ {
++ struct block *block = BLOCKVECTOR_BLOCK (blockvector, block_i);
+ struct symbol *sym;
+ struct dict_iterator iter;
+
-+ for (sym = dict_iterator_first (BLOCK_DICT
-+ (BLOCKVECTOR_BLOCK (blockvector, block_i)), &iter);
++ for (sym = dict_iterator_first (BLOCK_DICT (block), &iter);
+ sym != NULL;
+ sym = dict_iterator_next (&iter))
-+ {
-+ /* Beware the ordering as `sym->file' is a union. */
-+ if (SYMBOL_FILE_INDEX (sym)
-+ && file_index_to_symtab[SYMBOL_FILE_INDEX (sym) - 1])
-+ SYMBOL_FILE_SYMTAB (sym) = file_index_to_symtab
-+ [SYMBOL_FILE_INDEX (sym) - 1];
-+ else
-+ {
-+ /* Default to the primary symbol table, never use NULL. */
-+ SYMBOL_FILE_SYMTAB (sym) = symtab;
-+ }
-+ }
++ if (SYMBOL_SYMTAB (sym) == NULL)
++ SYMBOL_SYMTAB (sym) = symtab;
+ }
+ }
+
-+ xfree (file_index_to_symtab);
last_source_file = NULL;
current_subfile = NULL;
pending_macros = NULL;
-+ subfiles = NULL;
+===================================================================
+RCS file: /cvs/src/src/gdb/buildsym.h,v
+retrieving revision 1.15
+retrieving revision 1.16
+diff -u -r1.15 -r1.16
+--- src/gdb/buildsym.h 2007/01/09 17:58:50 1.15
++++ src/gdb/buildsym.h 2007/01/21 16:49:40 1.16
+@@ -70,6 +70,7 @@
+ enum language language;
+ char *producer;
+ char *debugformat;
++ struct symtab *symtab;
+ };
- return symtab;
- }
-Index: gdb-6.6/gdb/buildsym.h
+ EXTERN struct subfile *subfiles;
===================================================================
---- gdb-6.6.orig/gdb/buildsym.h 2005-12-17 23:33:59.000000000 +0100
-+++ gdb-6.6/gdb/buildsym.h 2007-01-20 13:59:48.000000000 +0100
-@@ -63,6 +63,7 @@ EXTERN CORE_ADDR last_source_start_addr;
- struct subfile
- {
- struct subfile *next;
-+ unsigned file_index;
- char *name;
- char *dirname;
- struct linetable *line_vector;
-@@ -240,6 +241,9 @@ extern void finish_block (struct symbol
-
- extern void really_free_pendings (void *dummy);
+RCS file: /cvs/src/src/gdb/dwarf2read.c,v
+retrieving revision 1.211
+retrieving revision 1.212
+diff -u -r1.211 -r1.212
+--- src/gdb/dwarf2read.c 2007/01/09 17:58:50 1.211
++++ src/gdb/dwarf2read.c 2007/01/21 16:49:40 1.212
+@@ -341,6 +341,9 @@
+ partial symbol tables do not have dependencies. */
+ htab_t dependencies;
+
++ /* Header data from the line table, during full symbol processing. */
++ struct line_header *line_header;
++
+ /* Mark used when releasing cached dies. */
+ unsigned int mark : 1;
+
+@@ -432,6 +435,7 @@
+ unsigned int mod_time;
+ unsigned int length;
+ int included_p; /* Non-zero if referenced by the Line Number Program. */
++ struct symtab *symtab; /* The associated symbol table, if any. */
+ } *file_names;
-+extern void start_subfile_index (char *name, char *dirname,
-+ unsigned file_index);
-+
- extern void start_subfile (char *name, char *dirname);
+ /* The start and end of the statement program following this
+@@ -2754,6 +2758,15 @@
+ }
- extern void patch_subfile_names (struct subfile *subfile, char *name);
-Index: gdb-6.6/gdb/dwarf2read.c
-===================================================================
---- gdb-6.6.orig/gdb/dwarf2read.c 2007-01-20 06:43:04.000000000 +0100
-+++ gdb-6.6/gdb/dwarf2read.c 2007-01-20 14:00:12.000000000 +0100
-@@ -853,7 +853,7 @@ static struct line_header *(dwarf_decode
- static void dwarf_decode_lines (struct line_header *, char *, bfd *,
- struct dwarf2_cu *, struct partial_symtab *);
-
--static void dwarf2_start_subfile (char *, char *, char *);
-+static void dwarf2_start_subfile (char *, char *, char *, unsigned);
-
- static struct symbol *new_symbol (struct die_info *, struct type *,
- struct dwarf2_cu *);
-@@ -6428,6 +6428,7 @@ add_file_name (struct line_header *lh,
- unsigned int length)
+ static void
++free_cu_line_header (void *arg)
++{
++ struct dwarf2_cu *cu = arg;
++
++ free_line_header (cu->line_header);
++ cu->line_header = NULL;
++}
++
++static void
+ read_file_scope (struct die_info *die, struct dwarf2_cu *cu)
{
- struct file_entry *fe;
-+ char *dir = NULL;
+ struct objfile *objfile = cu->objfile;
+@@ -2823,18 +2836,9 @@
- /* Grow the array if necessary. */
- if (lh->file_names_size == 0)
-@@ -6450,6 +6451,10 @@ add_file_name (struct line_header *lh,
+ initialize_cu_func_list (cu);
+
+- /* Process all dies in compilation unit. */
+- if (die->child != NULL)
+- {
+- child_die = die->child;
+- while (child_die && child_die->tag)
+- {
+- process_die (child_die, cu);
+- child_die = sibling_die (child_die);
+- }
+- }
+-
+- /* Decode line number information if present. */
++ /* Decode line number information if present. We do this before
++ processing child DIEs, so that the line header table is available
++ for DW_AT_decl_file. */
+ attr = dwarf2_attr (die, DW_AT_stmt_list, cu);
+ if (attr)
+ {
+@@ -2842,12 +2846,23 @@
+ line_header = dwarf_decode_line_header (line_offset, abfd, cu);
+ if (line_header)
+ {
+- make_cleanup ((make_cleanup_ftype *) free_line_header,
+- (void *) line_header);
++ cu->line_header = line_header;
++ make_cleanup (free_cu_line_header, cu);
+ dwarf_decode_lines (line_header, comp_dir, abfd, cu, NULL);
+ }
+ }
+
++ /* Process all dies in compilation unit. */
++ if (die->child != NULL)
++ {
++ child_die = die->child;
++ while (child_die && child_die->tag)
++ {
++ process_die (child_die, cu);
++ child_die = sibling_die (child_die);
++ }
++ }
++
+ /* Decode macro information, if present. Dwarf 2 macro information
+ refers to information in the line number info statement program
+ header, so we can only read it if we've read the header
+@@ -6457,6 +6472,7 @@
fe->mod_time = mod_time;
fe->length = length;
fe->included_p = 0;
-+
-+ if (dir_index)
-+ dir = lh->include_dirs[dir_index - 1];
-+ dwarf2_start_subfile (name, dir, NULL, lh->num_file_names);
++ fe->symtab = NULL;
}
-@@ -6668,7 +6673,7 @@ dwarf_decode_lines (struct line_header *
- if (fe->dir_index)
- dir = lh->include_dirs[fe->dir_index - 1];
-
-- dwarf2_start_subfile (fe->name, dir, comp_dir);
-+ dwarf2_start_subfile (fe->name, dir, comp_dir, file);
- }
-
- /* Decode the table. */
-@@ -6785,7 +6790,7 @@ dwarf_decode_lines (struct line_header *
- if (!decode_for_pst_p)
- {
- last_subfile = current_subfile;
-- dwarf2_start_subfile (fe->name, dir, comp_dir);
-+ dwarf2_start_subfile (fe->name, dir, comp_dir, file);
- }
- }
- break;
-@@ -6889,7 +6894,8 @@ dwarf_decode_lines (struct line_header *
- subfile's name. */
-
- static void
--dwarf2_start_subfile (char *filename, char *dirname, char *comp_dir)
-+dwarf2_start_subfile (char *filename, char *dirname, char *comp_dir,
-+ unsigned file_index)
- {
- char *fullname;
+@@ -6644,7 +6660,7 @@
+ CORE_ADDR baseaddr;
+ struct objfile *objfile = cu->objfile;
+ const int decode_for_pst_p = (pst != NULL);
+- struct subfile *last_subfile = NULL;
++ struct subfile *last_subfile = NULL, *first_subfile = current_subfile;
+
+ baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
+
+@@ -6869,6 +6885,35 @@
+ dwarf2_create_include_psymtab (include_name, pst, objfile);
+ }
+ }
++ else
++ {
++ /* Make sure a symtab is created for every file, even files
++ which contain only variables (i.e. no code with associated
++ line numbers). */
++
++ int i;
++ struct file_entry *fe;
++
++ for (i = 0; i < lh->num_file_names; i++)
++ {
++ char *dir = NULL;
++ fe = &lh->file_names[i];
++ if (fe->dir_index)
++ dir = lh->include_dirs[fe->dir_index - 1];
++ dwarf2_start_subfile (fe->name, dir, comp_dir);
++
++ /* Skip the main file; we don't need it, and it must be
++ allocated last, so that it will show up before the
++ non-primary symtabs in the objfile's symtab list. */
++ if (current_subfile == first_subfile)
++ continue;
++
++ if (current_subfile->symtab == NULL)
++ current_subfile->symtab = allocate_symtab (current_subfile->name,
++ cu->objfile);
++ fe->symtab = current_subfile->symtab;
++ }
++ }
+ }
-@@ -6908,7 +6914,7 @@ dwarf2_start_subfile (char *filename, ch
- else
- fullname = filename;
-
-- start_subfile (fullname, comp_dir);
-+ start_subfile_index (fullname, comp_dir, file_index);
-
- if (fullname != filename)
- xfree (fullname);
-@@ -7017,6 +7023,13 @@ new_symbol (struct die_info *die, struct
+ /* Start a subfile for DWARF. FILENAME is the name of the file and
+@@ -7024,6 +7069,23 @@
{
SYMBOL_LINE (sym) = DW_UNSND (attr);
}
++
+ attr = dwarf2_attr (die, DW_AT_decl_file, cu);
+ if (attr)
+ {
-+ /* Do not yet search `objfile->symtabs' here as they still do not
-+ have filled in their FILE.INDEX fields. */
-+ SYMBOL_FILE_INDEX (sym) = DW_UNSND (attr);
++ int file_index = DW_UNSND (attr);
++ if (cu->line_header == NULL
++ || file_index > cu->line_header->num_file_names)
++ complaint (&symfile_complaints,
++ _("file index out of range"));
++ else
++ {
++ struct file_entry *fe;
++ fe = &cu->line_header->file_names[file_index - 1];
++ SYMBOL_SYMTAB (sym) = fe->symtab;
++ }
+ }
++
switch (die->tag)
{
case DW_TAG_label:
-Index: gdb-6.6/gdb/symtab.c
===================================================================
---- gdb-6.6.orig/gdb/symtab.c 2007-01-20 13:59:25.000000000 +0100
-+++ gdb-6.6/gdb/symtab.c 2007-01-20 13:59:48.000000000 +0100
-@@ -1129,6 +1129,10 @@ lookup_symbol (const char *name, const s
+RCS file: /cvs/src/src/gdb/symtab.c,v
+retrieving revision 1.152
+retrieving revision 1.153
+diff -u -r1.152 -r1.153
+--- src/gdb/symtab.c 2007/01/09 22:43:08 1.152
++++ src/gdb/symtab.c 2007/01/21 16:49:40 1.153
+@@ -1133,6 +1133,10 @@
if (needtofreename)
xfree (demangled_name);
-+ /* Override the returned symtab with optional symbol's specific one. */
++ /* Override the returned symtab with the symbol's specific one. */
+ if (returnval != NULL && symtab != NULL)
-+ *symtab = SYMBOL_FILE_SYMTAB (returnval);
++ *symtab = SYMBOL_SYMTAB (returnval);
+
return returnval;
}
-@@ -3235,7 +3239,7 @@ search_symbols (char *regexp, domain_enu
+@@ -3008,7 +3012,11 @@
+ QUIT;
+
+ /* If it would match (logic taken from loop below)
+- load the file and go on to the next one */
++ load the file and go on to the next one. We check the
++ filename here, but that's a bit bogus: we don't know
++ what file it really comes from until we have full
++ symtabs. The symbol might be in a header file included by
++ this psymtab. This only affects Insight. */
+ if (file_matches (ps->filename, files, nfiles)
+ && ((regexp == NULL
+ || re_exec (SYMBOL_NATURAL_NAME (*psym)) != 0)
+@@ -3087,8 +3095,10 @@
+ b = BLOCKVECTOR_BLOCK (bv, i);
ALL_BLOCK_SYMBOLS (b, iter, sym)
{
++ struct symtab *real_symtab = SYMBOL_SYMTAB (sym);
QUIT;
- if (file_matches (s->filename, files, nfiles)
-+ if (file_matches (SYMBOL_FILE_SYMTAB (sym)->filename, files, nfiles)
++
++ if (file_matches (real_symtab->filename, files, nfiles)
&& ((regexp == NULL
|| re_exec (SYMBOL_NATURAL_NAME (sym)) != 0)
&& ((kind == VARIABLES_DOMAIN && SYMBOL_CLASS (sym) != LOC_TYPEDEF
-@@ -3248,7 +3252,7 @@ search_symbols (char *regexp, domain_enu
+@@ -3101,7 +3111,7 @@
/* match */
psr = (struct symbol_search *) xmalloc (sizeof (struct symbol_search));
psr->block = i;
- psr->symtab = s;
-+ psr->symtab = SYMBOL_FILE_SYMTAB (sym);
++ psr->symtab = real_symtab;
psr->symbol = sym;
psr->msymbol = NULL;
psr->next = NULL;
-Index: gdb-6.6/gdb/symtab.h
===================================================================
---- gdb-6.6.orig/gdb/symtab.h 2007-01-20 06:43:00.000000000 +0100
-+++ gdb-6.6/gdb/symtab.h 2007-01-20 13:59:48.000000000 +0100
-@@ -623,6 +623,18 @@ struct symbol
-
- ENUM_BITFIELD(address_class) aclass : 6;
-
-+ /* File name it comes from. Use with `line' below.
-+ FILE.INDEX is zero if the symbol's specific file is not known and in such
-+ case we later default to the main file of the compilation unit.
-+ FILE.SYMTAB gets resolved during end_symtab() and it is never NULL. */
-+
-+ union
-+ {
-+ unsigned index;
-+ struct symtab *symtab;
-+ }
-+ file;
+RCS file: /cvs/src/src/gdb/symtab.h,v
+retrieving revision 1.100
+retrieving revision 1.101
+diff -u -r1.100 -r1.101
+--- src/gdb/symtab.h 2007/01/09 17:58:59 1.100
++++ src/gdb/symtab.h 2007/01/21 16:49:40 1.101
+@@ -609,6 +609,10 @@
+
+ struct type *type;
+
++ /* The symbol table containing this symbol. This is the file
++ associated with LINE. */
++ struct symtab *symtab;
+
- /* Line number of definition. FIXME: Should we really make the assumption
- that nobody will try to debug files longer than 64K lines? What about
- machine generated programs? */
-@@ -663,6 +675,8 @@ struct symbol
- #define SYMBOL_DOMAIN(symbol) (symbol)->domain
+ /* Domain code. */
+
+ ENUM_BITFIELD(domain_enum_tag) domain : 6;
+@@ -664,6 +668,7 @@
#define SYMBOL_CLASS(symbol) (symbol)->aclass
#define SYMBOL_TYPE(symbol) (symbol)->type
-+#define SYMBOL_FILE_INDEX(symbol) (symbol)->file.index
-+#define SYMBOL_FILE_SYMTAB(symbol) (symbol)->file.symtab
#define SYMBOL_LINE(symbol) (symbol)->line
++#define SYMBOL_SYMTAB(symbol) (symbol)->symtab
#define SYMBOL_BASEREG(symbol) (symbol)->aux_value.basereg
#define SYMBOL_OBJFILE(symbol) (symbol)->aux_value.objfile
+ #define SYMBOL_OPS(symbol) (symbol)->ops
+/cvs/src/src/gdb/testsuite/gdb.base/included.c,v --> standard output
+revision 1.1
+--- src/gdb/testsuite/gdb.base/included.c
++++ src/gdb/testsuite/gdb.base/included.c 2007-12-21 21:10:02.262608000 +0000
+@@ -0,0 +1,26 @@
++/* This testcase is part of GDB, the GNU debugger.
++
++ Copyright 2007 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 2 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, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#include "included.h"
++
++int
++main()
++{
++ return 0;
++}
+/cvs/src/src/gdb/testsuite/gdb.base/included.exp,v --> standard output
+revision 1.1
+--- src/gdb/testsuite/gdb.base/included.exp
++++ src/gdb/testsuite/gdb.base/included.exp 2007-12-21 21:10:02.521938000 +0000
+@@ -0,0 +1,46 @@
++# Copyright 2007 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 2 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, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++
++set testfile "included"
++set srcfile ${testfile}.c
++set binfile ${objdir}/${subdir}/${testfile}
++
++if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
++ untested included.exp
++ return -1
++}
++
++gdb_exit
++gdb_start
++gdb_reinitialize_dir $srcdir/$subdir
++gdb_load ${binfile}
++
++gdb_test "set listsize 1" ""
++
++gdb_test "list main" ".*"
++get_debug_format
++set non_dwarf [expr ! [test_debug_format "DWARF 2"]]
++
++# We should be able to find the source file containing the definition,
++# even though it was an included header.
++if { $non_dwarf } { setup_xfail *-*-* }
++gdb_test "list integer" "int integer;"
++
++gdb_test "ptype integer" "type = int"
++
++# We should report that integer comes from the header file.
++if { $non_dwarf } { setup_xfail *-*-* }
++gdb_test "info variables integer" "\r\nFile \[^\r\n\]*/${subdir}/${testfile}.h:\r\nint integer;"
+/cvs/src/src/gdb/testsuite/gdb.base/included.h,v --> standard output
+revision 1.1
+--- src/gdb/testsuite/gdb.base/included.h
++++ src/gdb/testsuite/gdb.base/included.h 2007-12-21 21:10:02.732382000 +0000
+@@ -0,0 +1,20 @@
++/* This testcase is part of GDB, the GNU debugger.
++
++ Copyright 2007 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 2 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, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++int integer;
gdb-6.5-bz109921-DW_AT_decl_file-test.patch:
Index: gdb-6.5-bz109921-DW_AT_decl_file-test.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/F-8/gdb-6.5-bz109921-DW_AT_decl_file-test.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- gdb-6.5-bz109921-DW_AT_decl_file-test.patch 9 Jan 2007 11:35:44 -0000 1.1
+++ gdb-6.5-bz109921-DW_AT_decl_file-test.patch 22 Dec 2007 14:38:42 -0000 1.2
@@ -1,12 +1,13 @@
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=109921
+It is duplicite to its upstream variant at:
+gdb-6.5-bz109921-DW_AT_decl_file-fix.patch
2007-01-09 Jan Kratochvil <jan.kratochvil at redhat.com>
* gdb.dwarf2/dw2-included.exp, gdb.dwarf2/dw2-included.c,
gdb.dwarf2/dw2-included.h: New files.
-
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ./gdb/testsuite/gdb.dwarf2/dw2-included.c 2 Jan 2007 00:20:27 -0000
@@ -0,0 +1,26 @@
gdb-6.5-bz215816-readline-from-callback-test.patch:
Index: gdb-6.5-bz215816-readline-from-callback-test.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/F-8/gdb-6.5-bz215816-readline-from-callback-test.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- gdb-6.5-bz215816-readline-from-callback-test.patch 11 Jan 2007 21:28:57 -0000 1.2
+++ gdb-6.5-bz215816-readline-from-callback-test.patch 22 Dec 2007 14:38:42 -0000 1.3
@@ -1,12 +1,15 @@
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=215816
-
2007-01-03 Jan Kratochvil <jan.kratochvil at redhat.com>
Daniel Jacobowitz <dan at codesourcery.com>
* gdb.base/readline.exp: Set $TERM. Test arrow keys in
secondary prompts.
+2007-07-01 Nick Roberts <nickrob at snap.net.nz>
+ Daniel Jacobowitz <dan at codesourcery.com>
+
+ * gdb.base/annota3.exp: Test for if construct.
--- ./gdb/testsuite/gdb.base/readline.exp 8 Jun 2003 13:14:05 -0000 1.2
+++ ./gdb/testsuite/gdb.base/readline.exp 3 Jan 2007 21:22:47 -0000
@@ -50,3 +53,41 @@
# Now repeat the first test with a history file that fills the entire
# history list.
+===================================================================
+RCS file: /cvs/src/src/gdb/testsuite/gdb.base/annota3.exp,v
+retrieving revision 1.12
+retrieving revision 1.13
+diff -u -r1.12 -r1.13
+--- src/gdb/testsuite/gdb.base/annota3.exp 2007/01/09 17:59:09 1.12
++++ src/gdb/testsuite/gdb.base/annota3.exp 2007/07/01 22:37:52 1.13
+@@ -99,7 +99,29 @@
+ "set annotate 3"
+ }
+
+-
++#
++# if construct:
++#
++send_gdb "if 1\n"
++gdb_expect {
++ -re "^if 1\r\n\r\n\032\032post-prompt\r\n\r\n\032\032pre-commands\r\n >\r\n\032\032commands\r\n$" {
++ pass "start if construct"
++ }
++ -re ".*\032\032commands\r\n" {
++ fail "start if construct"
++ }
++ timeout { fail "start if construct (timeout)" }
++}
++send_gdb "end\n"
++gdb_expect {
++ -re "^end\r\n\r\n\032\032post-commands\r\n$gdb_prompt$" {
++ pass "end if construct"
++ }
++ -re ".*$gdb_prompt$" {
++ fail "end if construct"
++ }
++ timeout { fail "end if construct (timeout)" }
++}
+ #
+ # info break:
+ #
gdb-6.5-bz215816-readline-from-callback.patch:
Index: gdb-6.5-bz215816-readline-from-callback.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/F-8/gdb-6.5-bz215816-readline-from-callback.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- gdb-6.5-bz215816-readline-from-callback.patch 11 Jan 2007 21:28:57 -0000 1.2
+++ gdb-6.5-bz215816-readline-from-callback.patch 22 Dec 2007 14:38:42 -0000 1.3
@@ -1,6 +1,5 @@
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=215816
-
2007-01-03 Jan Kratochvil <jan.kratochvil at redhat.com>
Daniel Jacobowitz <dan at codesourcery.com>
@@ -11,6 +10,13 @@
New.
(gdb_readline_wrapper): Rewrite to use asynchronous readline.
+2007-07-01 Daniel Jacobowitz <dan at codesourcery.com>
+
+ * top.c (gdb_readline_wrapper_line): Call rl_callback_handler_remove.
+ (struct gdb_readline_wrapper_cleanup): Remove prompt_orig.
+ (gdb_readline_wrapper_cleanup): Do not reset the prompt.
+ (gdb_readline_wrapper): Do not save the prompt. Pass our prompt
+ to display_gdb_prompt.
--- ./gdb/Makefile.in 3 Jan 2007 18:05:43 -0000 1.864
+++ ./gdb/Makefile.in 3 Jan 2007 21:22:46 -0000
@@ -163,3 +169,52 @@
}
+===================================================================
+RCS file: /cvs/src/src/gdb/top.c,v
+retrieving revision 1.120
+retrieving revision 1.121
+diff -u -r1.120 -r1.121
+--- src/gdb/top.c 2007/03/29 18:55:01 1.120
++++ src/gdb/top.c 2007/07/01 22:37:52 1.121
+@@ -751,12 +751,16 @@
+ /* Prevent operate-and-get-next from acting too early. */
+ saved_after_char_processing_hook = after_char_processing_hook;
+ after_char_processing_hook = NULL;
++
++ /* Prevent parts of the prompt from being redisplayed if annotations
++ are enabled, and readline's state getting out of sync. */
++ if (async_command_editing_p)
++ rl_callback_handler_remove ();
+ }
+
+ struct gdb_readline_wrapper_cleanup
+ {
+ void (*handler_orig) (char *);
+- char *prompt_orig;
+ int already_prompted_orig;
+ };
+
+@@ -766,7 +770,6 @@
+ struct gdb_readline_wrapper_cleanup *cleanup = arg;
+
+ rl_already_prompted = cleanup->already_prompted_orig;
+- PROMPT (0) = cleanup->prompt_orig;
+
+ gdb_assert (input_handler == gdb_readline_wrapper_line);
+ input_handler = cleanup->handler_orig;
+@@ -790,14 +793,12 @@
+ cleanup->handler_orig = input_handler;
+ input_handler = gdb_readline_wrapper_line;
+
+- cleanup->prompt_orig = get_prompt ();
+- PROMPT (0) = prompt;
+ cleanup->already_prompted_orig = rl_already_prompted;
+
+ back_to = make_cleanup (gdb_readline_wrapper_cleanup, cleanup);
+
+ /* Display our prompt and prevent double prompt display. */
+- display_gdb_prompt (NULL);
++ display_gdb_prompt (prompt);
+ rl_already_prompted = 1;
+
+ if (after_char_processing_hook)
gdb-6.6-multifork-debugreg-for-i386-and-x86_64.patch:
Index: gdb-6.6-multifork-debugreg-for-i386-and-x86_64.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/F-8/gdb-6.6-multifork-debugreg-for-i386-and-x86_64.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- gdb-6.6-multifork-debugreg-for-i386-and-x86_64.patch 14 Oct 2007 21:11:56 -0000 1.1
+++ gdb-6.6-multifork-debugreg-for-i386-and-x86_64.patch 22 Dec 2007 14:38:42 -0000 1.2
@@ -17,6 +17,26 @@
[ Backported for GDB-6.6 (only removed the new file inclusion). ]
+http://sources.redhat.com/ml/gdb-patches/2007-07/msg00034.html
+
+2007-07-02 Daniel Jacobowitz <dan at codesourcery.com>
+
+ * breakpoint.c (reattach_breakpoints): Do not use remove_breakpoint.
+ Call insert_bp_location.
+
+[ In `gdb-6.6-upstream.patch'. ]
+
+2007-09-16 Daniel Jacobowitz <dan at codesourcery.com>
+ Jeff Johnston <jjohnstn at redhat.com>
+
+ * gdb.texinfo (Setting Watchpoints): Adjust warning text about
+ multi-threaded watchpoints.
+
+2007-12-15 Jan Kratochvil <jan.kratochvil at redhat.com>
+
+ * gdb.texinfo (Setting Watchpoints): New paragraph on the software
+ watchpoints safety wrt `set scheduler-locking'.
+
--- ./gdb/i386-nat.c 23 Aug 2007 18:08:34 -0000 1.16
+++ ./gdb/i386-nat.c 14 Oct 2007 15:00:31 -0000
@@ -165,11 +166,22 @@
@@ -282,3 +302,53 @@
+gdb_test "continue" \
+ "atchpoint 1: var.*Old value = 1.*New value = 2.*" "watchpoint second hit"
+gdb_test "continue" "Continuing..*Program exited normally." "finish"
+===================================================================
+RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
+retrieving revision 1.434
+retrieving revision 1.435
+diff -u -r1.434 -r1.435
+--- src/gdb/doc/gdb.texinfo 2007/09/28 11:09:55 1.434
++++ src/gdb/doc/gdb.texinfo 2007/10/01 00:17:58 1.435
+@@ -3346,20 +3346,13 @@
+ way of doing that would be to set a code breakpoint at the entry to the
+ @code{main} function and when it breaks, set all the watchpoints.
+
+- at quotation
+ @cindex watchpoints and threads
+ @cindex threads and watchpoints
+- at emph{Warning:} In multi-thread programs, watchpoints have only limited
+-usefulness. With the current watchpoint implementation, @value{GDBN}
+-can only watch the value of an expression @emph{in a single thread}. If
+-you are confident that the expression can only change due to the current
+-thread's activity (and if you are also confident that no other thread
+-can become current), then you can use watchpoints as usual. However,
+- at value{GDBN} may not notice when a non-current thread's activity changes
+-the expression.
++In multi-threaded programs, watchpoints will detect changes to the
++watched expression from every thread.
+
+- at c FIXME: this is almost identical to the previous paragraph.
+- at emph{HP-UX Warning:} In multi-thread programs, software watchpoints
++ at quotation
++ at emph{Warning:} In multi-threaded programs, software watchpoints
+ have only limited usefulness. If @value{GDBN} creates a software
+ watchpoint, it can only watch the value of an expression @emph{in a
+ single thread}. If you are confident that the expression can only
+
+--- gdb-6.5/gdb/doc/gdb.texinfo-orig 2007-12-15 13:25:14.000000000 +0100
++++ gdb-6.5/gdb/doc/gdb.texinfo 2007-12-15 13:45:25.000000000 +0100
+@@ -3261,6 +3261,14 @@
+ software watchpoints as usual. However, @value{GDBN} may not notice
+ when a non-current thread's activity changes the expression. (Hardware
+ watchpoints, in contrast, watch an expression in all threads.)
++
++Software watchpoints single-step the current thread to track the changes.
++Other threads are left freely running on @code{continue}; therefore, their
++changes cannot be caught. To get more reliable software watchpoints, please
++use @code{set scheduler-locking on}. The default for Red Hat/Fedora
++ at value{GDBN} is @code{set scheduler-locking step}, which makes the software
++watchpoints safe for the @code{step} command, but not for the @code{continue}
++command. @xref{Thread Stops}.
+ @end quotation
+
+ @xref{set remote hardware-watchpoint-limit}.
gdb-6.6-upstream.patch:
Index: gdb-6.6-upstream.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/F-8/gdb-6.6-upstream.patch,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- gdb-6.6-upstream.patch 14 Oct 2007 21:11:56 -0000 1.10
+++ gdb-6.6-upstream.patch 22 Dec 2007 14:38:42 -0000 1.11
@@ -864,7 +864,7 @@
- if (!decode_for_pst_p)
- {
- last_subfile = current_subfile;
-- dwarf2_start_subfile (fe->name, dir, comp_dir, file);
+- dwarf2_start_subfile (fe->name, dir, comp_dir);
- }
+ if (lh->num_file_names < file)
+ dwarf2_debug_line_missing_file_complaint ();
@@ -876,7 +876,7 @@
+ if (!decode_for_pst_p)
+ {
+ last_subfile = current_subfile;
-+ dwarf2_start_subfile (fe->name, dir, comp_dir, file);
++ dwarf2_start_subfile (fe->name, dir, comp_dir);
+ }
+ }
}
Index: gdb.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/F-8/gdb.spec,v
retrieving revision 1.254
retrieving revision 1.255
diff -u -r1.254 -r1.255
--- gdb.spec 10 Dec 2007 22:59:26 -0000 1.254
+++ gdb.spec 22 Dec 2007 14:38:42 -0000 1.255
@@ -11,7 +11,7 @@
Version: 6.6
# The release always contains a leading reserved number, start it at 1.
-Release: 37%{?dist}
+Release: 38%{?dist}
License: GPL
Group: Development/Debuggers
@@ -330,7 +330,7 @@
Patch246: gdb-6.6-bz237096-watchthreads-testcasefix.patch
# Notify user of a child forked process being detached (BZ 235197).
-Patch247: gdb-6.6-bz234468-fork-detach-info.patch
+Patch247: gdb-6.6-bz235197-fork-detach-info.patch
# Fix `gcore' command for 32bit PPC inferiors on 64bit PPC hosts (BZ 232015).
Patch248: gdb-6.6-bz232015-gcore-ppc-on-ppc64.patch
@@ -710,6 +710,12 @@
# don't include the files in include, they are part of binutils
%changelog
+* Sat Dec 22 2007 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.6-38
+- Fix crash on parsing duplicite file entries debug info (BZ 426395).
+- Fix (#2) readline history for input mode commands like `command' (BZ 215816).
+- Fix documentation on hardware watchpoints wrt multiple threads.
+- Rename the patch file for BZ 235197 from its former name BZ 234468.
+
* Mon Dec 10 2007 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.6-37
- Testsuite fixes for more stable/comparable results.
--- gdb-6.6-bz234468-fork-detach-info.patch DELETED ---
More information about the fedora-extras-commits
mailing list