rpms/gdb/F-13 gdb-bz594560-core-vs-process.patch, NONE, 1.1 gdb-bz595475-tui-layout.patch, NONE, 1.1 gdb-upstream.patch, 1.5, 1.6 gdb.spec, 1.439, 1.440

Jan Kratochvil jkratoch at fedoraproject.org
Mon May 24 18:38:45 UTC 2010


Author: jkratoch

Update of /cvs/pkgs/rpms/gdb/F-13
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv24328

Modified Files:
	gdb-upstream.patch gdb.spec 
Added Files:
	gdb-bz594560-core-vs-process.patch 
	gdb-bz595475-tui-layout.patch 
Log Message:
* Mon May 24 2010 Jan Kratochvil <jan.kratochvil at redhat.com> - 7.1-22.fc13
- Remove core file when starting a process (BZ 594560).
- Fix lock up on loops in the solib chain (BZ 593926).
- Import fix of TUI layout internal error (BZ 595475).


gdb-bz594560-core-vs-process.patch:
 doc/gdb.texinfo                 |   42 ++++++++++------------------
 infcmd.c                        |   14 +++++++++
 testsuite/gdb.base/corefile.exp |   59 ++++++++++++++++++++++++++++++++++++++++
 testsuite/gdb.base/coremaker.c  |    8 ++++-
 4 files changed, 95 insertions(+), 28 deletions(-)

--- NEW FILE gdb-bz594560-core-vs-process.patch ---
--- ./gdb/doc/gdb.texinfo	2010-05-24 19:37:01.000000000 +0200
+++ ./gdb/doc/gdb.texinfo	2010-05-24 19:38:56.000000000 +0200
@@ -14768,33 +14768,21 @@ and @code{show architecture}.
 @cindex active targets
 @cindex multiple targets
 
-There are three classes of targets: processes, core files, and
-executable files.  @value{GDBN} can work concurrently on up to three
-active targets, one in each class.  This allows you to (for example)
-start a process and inspect its activity without abandoning your work on
-a core file.
-
-For example, if you execute @samp{gdb a.out}, then the executable file
- at code{a.out} is the only active target.  If you designate a core file as
-well---presumably from a prior run that crashed and coredumped---then
- at value{GDBN} has two active targets and uses them in tandem, looking
-first in the corefile target, then in the executable file, to satisfy
-requests for memory addresses.  (Typically, these two classes of target
-are complementary, since core files contain only a program's
-read-write memory---variables and so on---plus machine status, while
-executable files contain only the program text and initialized data.)
-
-When you type @code{run}, your executable file becomes an active process
-target as well.  When a process target is active, all @value{GDBN}
-commands requesting memory addresses refer to that target; addresses in
-an active core file or executable file target are obscured while the
-process target is active.
-
-Use the @code{core-file} and @code{exec-file} commands to select a new
-core file or executable target (@pxref{Files, ,Commands to Specify
-Files}).  To specify as a target a process that is already running, use
-the @code{attach} command (@pxref{Attach, ,Debugging an Already-running
-Process}).
+There are multiple classes of targets such as: processes, executable files or
+recording sessions.  Core files belong to the process class, there can be
+active only one of a core or a running process.  Otherwise @value{GDBN} can
+work concurrently on multiple active targets, one in each class.  This allows
+you to (for example) start a process and inspect its activity while still
+having access to the executable file after the process finishes.  Or if you
+start process recording (@pxref{Reverse Execution}) and @code{reverse-step}
+there you are presented a virtual layer of the recording target while the
+process target remains stopped at the chronologically last point of the process
+execution.
+
+Use the @code{core-file} and @code{exec-file} commands to select a new core
+file or executable target (@pxref{Files, ,Commands to Specify Files}).  To
+specify as a target a process that is already running, use the @code{attach}
+command (@pxref{Attach, ,Debugging an Already-running Process}).
 
 @node Target Commands
 @section Commands for Managing Targets
--- ./gdb/infcmd.c	2010-05-24 19:37:01.000000000 +0200
+++ ./gdb/infcmd.c	2010-05-24 19:41:21.000000000 +0200
@@ -483,6 +483,13 @@ run_command_1 (char *args, int from_tty,
 
   dont_repeat ();
 
+  if (core_bfd)
+    {
+      core_file_command (NULL, from_tty);
+      if (core_bfd)
+	warning (_("Core file not unloaded."));
+    }
+
   kill_if_already_running (from_tty);
 
   init_wait_for_inferior ();
@@ -2373,6 +2380,13 @@ attach_command (char *args, int from_tty
 	error (_("Not killed."));
     }
 
+  if (core_bfd)
+    {
+      core_file_command (NULL, from_tty);
+      if (core_bfd)
+	warning (_("Core file not unloaded."));
+    }
+
   /* Clean up any leftovers from other runs.  Some other things from
      this function should probably be moved into target_pre_inferior.  */
   target_pre_inferior (from_tty);
--- ./gdb/testsuite/gdb.base/corefile.exp	2010-01-09 01:14:11.000000000 +0100
+++ ./gdb/testsuite/gdb.base/corefile.exp	2010-05-24 19:38:56.000000000 +0200
@@ -182,3 +182,62 @@ gdb_load ${binfile}
 gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(.*\\).*" "up in corefile.exp (reinit)"
 
 gdb_test "core" "No core file now."
+
+
+# Test a run (start) command will clear any loaded core file.
+
+gdb_test "core-file $corefile" "Core was generated by .*" "run: load core again"
+gdb_test "info files" "\r\nLocal core dump file:\r\n.*" "run: sanity check we see the core file"
+
+set test "run: with core"
+if [runto_main] {
+    pass $test
+} else {
+    fail $test
+}
+
+set test "run: core file is cleared"
+gdb_test_multiple "info files" $test {
+    "\r\nLocal core dump file:\r\n.*\r\n$gdb_prompt $" {
+	fail $test
+    }
+    "\r\n$gdb_prompt $" {
+	pass $test
+    }
+}
+
+gdb_exit
+
+
+# Test an attach command will clear any loaded core file.
+
+if ![is_remote target] {
+    set test "attach: spawn sleep"
+    set res [remote_spawn host "$binfile sleep"];
+    if { $res < 0 || $res == "" } {
+	perror "$test failed."
+	fail $test
+	return
+    }
+    set pid [exp_pid -i $res]
+    # We do not care of the startup phase where it will be caught.
+
+    gdb_start
+
+    gdb_test "core-file $corefile" "Core was generated by .*" "attach: load core again"
+    gdb_test "info files" "\r\nLocal core dump file:\r\n.*" "attach: sanity check we see the core file"
+
+    gdb_test "attach $pid" "Attaching to process $pid\r\n.*" "attach: with core"
+
+    set test "attach: core file is cleared"
+    gdb_test_multiple "info files" $test {
+	"\r\nLocal core dump file:\r\n.*\r\n$gdb_prompt $" {
+	    fail $test
+	}
+	"\r\n$gdb_prompt $" {
+	    pass $test
+	}
+    }
+
+    gdb_exit
+}
--- ./gdb/testsuite/gdb.base/coremaker.c	2010-01-01 08:32:00.000000000 +0100
+++ ./gdb/testsuite/gdb.base/coremaker.c	2010-05-24 19:38:56.000000000 +0200
@@ -133,8 +133,14 @@ func1 ()
   func2 ();
 }
 
-int main ()
+int
+main (int argc, char **argv)
 {
+  if (argc == 2 && strcmp (argv[1], "sleep") == 0)
+    {
+      sleep (60);
+      return 0;
+    }
   mmapdata ();
   func1 ();
   return 0;

gdb-bz595475-tui-layout.patch:
 gdb-7.1/gdb/testsuite/gdb.base/tui-layout.exp |   21 +++++++++++++++++++++
 src/gdb/tui/tui-disasm.c                      |    3 ++-
 src/gdb/tui/tui-layout.c                      |    3 ++-
 3 files changed, 25 insertions(+), 2 deletions(-)

--- NEW FILE gdb-bz595475-tui-layout.patch ---
https://bugzilla.redhat.com/show_bug.cgi?id=586566
http://sourceware.org/ml/gdb-patches/2010-03/msg00746.html
http://sourceware.org/ml/gdb-patches/2010-05/msg00551.html
http://sourceware.org/ml/gdb-cvs/2010-03/msg00194.html

### src/gdb/ChangeLog	2010/03/19 22:00:16	1.11508
### src/gdb/ChangeLog	2010/03/20 05:17:10	1.11509
## -1,3 +1,9 @@
+2010-03-20  Daniel Jacobowitz  <dan at codesourcery.com>
+
+	* tui/tui-disasm.c (tui_get_begin_asm_address): Default to
+	get_current_arch.
+	* tui/tui-layout.c (extract_display_start_addr): Likewise.
+
 2010-03-19  Stan Shebs  <stan at codesourcery.com>
 
 	* ax-gdb.c (gen_fetch): Handle bool.
--- src/gdb/tui/tui-disasm.c	2010/01/01 07:32:07	1.33
+++ src/gdb/tui/tui-disasm.c	2010/03/20 05:17:10	1.34
@@ -21,6 +21,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
+#include "arch-utils.h"
 #include "symtab.h"
 #include "breakpoint.h"
 #include "frame.h"
@@ -330,7 +331,7 @@
 {
   struct tui_gen_win_info *locator;
   struct tui_locator_element *element;
-  struct gdbarch *gdbarch = NULL;
+  struct gdbarch *gdbarch = get_current_arch ();
   CORE_ADDR addr;
 
   locator = tui_locator_win_info_ptr ();
--- src/gdb/tui/tui-layout.c	2010/01/01 07:32:07	1.36
+++ src/gdb/tui/tui-layout.c	2010/03/20 05:17:10	1.37
@@ -21,6 +21,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
+#include "arch-utils.h"
 #include "command.h"
 #include "symtab.h"
 #include "frame.h"
@@ -522,7 +523,7 @@
 extract_display_start_addr (struct gdbarch **gdbarch_p, CORE_ADDR *addr_p)
 {
   enum tui_layout_type cur_layout = tui_current_layout ();
-  struct gdbarch *gdbarch = NULL;
+  struct gdbarch *gdbarch = get_current_arch ();
   CORE_ADDR addr;
   CORE_ADDR pc;
   struct symtab_and_line cursal = get_current_source_symtab_and_line ();
--- /dev/null	2010-05-24 04:43:32.632794021 +0200
+++ gdb-7.1/gdb/testsuite/gdb.base/tui-layout.exp	2010-05-24 20:13:30.000000000 +0200
@@ -0,0 +1,21 @@
+# Copyright 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/>.
+
+set testfile tui-layout
+if { [prepare_for_testing ${testfile}.exp ${testfile} start.c] } {
+    return -1
+}
+
+gdb_test "layout asm"

gdb-upstream.patch:
 b/gdb/testsuite/gdb.base/dup-sect.S            |   22 ++
 b/gdb/testsuite/gdb.base/dup-sect.exp          |   84 ++++++++++
 gdb/completer.c                                |   13 +
 gdb/symfile.c                                  |   15 +
 src/gdb/config/djgpp/fnchange.lst              |   11 +
 src/gdb/infcmd.c                               |    5 
 src/gdb/solib-svr4.c                           |   78 +++++++--
 src/gdb/symfile.c                              |   45 ++++-
 src/gdb/testsuite/gdb.base/break-entry.exp     |   43 +++++
 src/gdb/testsuite/gdb.base/break-interp.exp    |  204 ++++++++++++++++++++++---
 src/gdb/testsuite/gdb.base/prelink.exp         |   18 --
 src/gdb/testsuite/gdb.base/solib-corrupted.exp |   46 +++++
 12 files changed, 519 insertions(+), 65 deletions(-)

Index: gdb-upstream.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/F-13/gdb-upstream.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -p -r1.5 -r1.6
--- gdb-upstream.patch	12 May 2010 20:33:28 -0000	1.5
+++ gdb-upstream.patch	24 May 2010 18:38:44 -0000	1.6
@@ -822,3 +822,204 @@ commit 5e40af195bd74a66d300d8f481cab1f2b
  	    {
  	      output[*nextp] = xstrdup (name);
  	      ++*nextp;
+
+
+
+https://bugzilla.redhat.com/show_bug.cgi?id=578136
+https://bugzilla.redhat.com/show_bug.cgi?id=593926
+http://sourceware.org/ml/gdb-patches/2010-04/msg00820.html
+http://sourceware.org/ml/gdb-cvs/2010-04/msg00240.html
+
+### src/gdb/ChangeLog	2010/04/23 18:09:16	1.11678
+### src/gdb/ChangeLog	2010/04/23 21:44:19	1.11679
+## -1,3 +1,14 @@
++2010-04-23  Daniel Jacobowitz  <dan at codesourcery.com>
++	    Paul Pluzhnikov  <ppluzhnikov at google.com>
++	    Jan Kratochvil  <jan.kratochvil at redhat.com>
++
++	Fix deadlock on looped list of loaded shared objects.
++	* solib-svr4.c (LM_PREV): New function.
++	(IGNORE_FIRST_LINK_MAP_ENTRY): Use it.
++	(svr4_current_sos): Check for correct l_prev.  New variables prev_lm
++	and next_lm.  Clear prev_lm for solib_svr4_r_ldsomap.
++	* config/djgpp/fnchange.lst: Add translation for solib-corrupted.exp.
++
+ 2010-04-23  Doug Evans  <dje at google.com>
+ 
+ 	* configure.ac (CONFIG_SRCS): Add py-auto-load.o even if not using
+--- src/gdb/solib-svr4.c	2010/03/11 22:07:02	1.130
++++ src/gdb/solib-svr4.c	2010/04/23 21:44:19	1.131
+@@ -272,6 +272,16 @@
+ }
+ 
+ static CORE_ADDR
++LM_PREV (struct so_list *so)
++{
++  struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
++  struct type *ptr_type = builtin_type (target_gdbarch)->builtin_data_ptr;
++
++  return extract_typed_address (so->lm_info->lm + lmo->l_prev_offset,
++				ptr_type);
++}
++
++static CORE_ADDR
+ LM_NAME (struct so_list *so)
+ {
+   struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
+@@ -284,16 +294,12 @@
+ static int
+ IGNORE_FIRST_LINK_MAP_ENTRY (struct so_list *so)
+ {
+-  struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
+-  struct type *ptr_type = builtin_type (target_gdbarch)->builtin_data_ptr;
+-
+   /* Assume that everything is a library if the dynamic loader was loaded
+      late by a static executable.  */
+   if (exec_bfd && bfd_get_section_by_name (exec_bfd, ".dynamic") == NULL)
+     return 0;
+ 
+-  return extract_typed_address (so->lm_info->lm + lmo->l_prev_offset,
+-				ptr_type) == 0;
++  return LM_PREV (so) == 0;
+ }
+ 
+ /* Per pspace SVR4 specific data.  */
+@@ -1101,7 +1107,7 @@
+ static struct so_list *
+ svr4_current_sos (void)
+ {
+-  CORE_ADDR lm;
++  CORE_ADDR lm, prev_lm;
+   struct so_list *head = 0;
+   struct so_list **link_ptr = &head;
+   CORE_ADDR ldsomap = 0;
+@@ -1120,6 +1126,7 @@
+ 
+   /* Walk the inferior's link map list, and build our list of
+      `struct so_list' nodes.  */
++  prev_lm = 0;
+   lm = solib_svr4_r_map (info);
+ 
+   while (lm)
+@@ -1127,6 +1134,7 @@
+       struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
+       struct so_list *new = XZALLOC (struct so_list);
+       struct cleanup *old_chain = make_cleanup (xfree, new);
++      CORE_ADDR next_lm;
+ 
+       new->lm_info = xmalloc (sizeof (struct lm_info));
+       make_cleanup (xfree, new->lm_info);
+@@ -1138,14 +1146,21 @@
+ 
+       read_memory (lm, new->lm_info->lm, lmo->link_map_size);
+ 
+-      lm = LM_NEXT (new);
++      next_lm = LM_NEXT (new);
++
++      if (LM_PREV (new) != prev_lm)
++	{
++	  warning (_("Corrupted shared library list"));
++	  free_so (new);
++	  next_lm = 0;
++	}
+ 
+       /* For SVR4 versions, the first entry in the link map is for the
+          inferior executable, so we must ignore it.  For some versions of
+          SVR4, it has no name.  For others (Solaris 2.3 for example), it
+          does have a name, so we can no longer use a missing name to
+          decide when to ignore it. */
+-      if (IGNORE_FIRST_LINK_MAP_ENTRY (new) && ldsomap == 0)
++      else if (IGNORE_FIRST_LINK_MAP_ENTRY (new) && ldsomap == 0)
+ 	{
+ 	  info->main_lm_addr = new->lm_info->lm_addr;
+ 	  free_so (new);
+@@ -1182,12 +1197,18 @@
+ 	    }
+ 	}
+ 
++      prev_lm = lm;
++      lm = next_lm;
++
+       /* On Solaris, the dynamic linker is not in the normal list of
+ 	 shared objects, so make sure we pick it up too.  Having
+ 	 symbol information for the dynamic linker is quite crucial
+ 	 for skipping dynamic linker resolver code.  */
+       if (lm == 0 && ldsomap == 0)
+-	lm = ldsomap = solib_svr4_r_ldsomap (info);
++	{
++	  lm = ldsomap = solib_svr4_r_ldsomap (info);
++	  prev_lm = 0;
++	}
+ 
+       discard_cleanups (old_chain);
+     }
+--- src/gdb/config/djgpp/fnchange.lst	2010/04/09 15:15:05	1.112
++++ src/gdb/config/djgpp/fnchange.lst	2010/04/23 21:44:19	1.113
+@@ -397,6 +397,7 @@
+ @V@/gdb/testsuite/gdb.base/siginfo-obj.c @V@/gdb/testsuite/gdb.base/si-obj.c
+ @V@/gdb/testsuite/gdb.base/siginfo-addr.exp @V@/gdb/testsuite/gdb.base/si-addr.exp
+ @V@/gdb/testsuite/gdb.base/siginfo-obj.exp @V@/gdb/testsuite/gdb.base/si-obj.exp
++ at V@/gdb/testsuite/gdb.base/solib-corrupted.exp @V@/gdb/testsuite/gdb.base/so-crptd.exp
+ @V@/gdb/testsuite/gdb.base/solib-disc.c @V@/gdb/testsuite/gdb.base/so-disc.c
+ @V@/gdb/testsuite/gdb.base/solib-display-lib.c @V@/gdb/testsuite/gdb.base/so-displib.c
+ @V@/gdb/testsuite/gdb.base/solib-display-main.c @V@/gdb/testsuite/gdb.base/so-dispmain.c
+### src/gdb/testsuite/ChangeLog	2010/04/23 18:03:31	1.2252
+### src/gdb/testsuite/ChangeLog	2010/04/23 21:44:20	1.2253
+## -1,3 +1,8 @@
++2010-04-23  Jan Kratochvil  <jan.kratochvil at redhat.com>
++
++	Fix deadlock on looped list of loaded shared objects.
++	* gdb.base/solib-corrupted.exp: New.
++
+ 2010-04-23  Doug Evans  <dje at google.com>
+ 
+ 	* gdb.python/py-section-script.c: New file.
+--- src/gdb/testsuite/gdb.base/solib-corrupted.exp
++++ src/gdb/testsuite/gdb.base/solib-corrupted.exp	2010-05-24 18:00:52.057995000 +0000
+@@ -0,0 +1,46 @@
++# Copyright 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/>.
++
++set testfile "solib-corrupted"
++set srcfile start.c
++
++if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile}] } {
++    untested ${testfile}.exp
++    return -1
++}
++
++if ![runto_main] {
++    fail "Can't run to main"
++    return
++}
++
++gdb_test "info sharedlibrary" "" "normal list"
++
++# GDB checks there for matching L_PREV.
++set test "make solibs looping"
++gdb_test_multiple "p/x _r_debug->r_map->l_next = _r_debug->r_map" $test {
++    -re "(No symbol \"_r_debug\" in current context\\.|Attempt to extract a component of a value that is not a structure pointer\\.)\r\n$gdb_prompt $" {
++	# glibc debug info is not available and it is too difficult to find and
++	# parse it from this testcase without the gdb supporting functions.
++	verbose -log "no _r_debug symbol has been found"
++	xfail $test
++	untested ${testfile}.exp
++	return
++    }
++    -re " = 0x\[0-9a-f\]+\r\n$gdb_prompt $" {
++	pass $test
++    }
++}
++gdb_test "info sharedlibrary" "warning: Corrupted shared library list\r\n.*" "corrupted list"


Index: gdb.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/F-13/gdb.spec,v
retrieving revision 1.439
retrieving revision 1.440
diff -u -p -r1.439 -r1.440
--- gdb.spec	16 May 2010 18:30:11 -0000	1.439
+++ gdb.spec	24 May 2010 18:38:44 -0000	1.440
@@ -36,7 +36,7 @@ Version: 7.1
 
 # 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: 21%{?_with_upstream:.upstream}%{dist}
+Release: 22%{?_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
@@ -480,6 +480,12 @@ Patch459: gdb-moribund-utrace-workaround
 # Fix crash on VLA bound referencing an optimized-out variable (BZ 591879).
 Patch460: gdb-archer-vla-ref-optimizedout.patch
 
+# Remove core file when starting a process (BZ 594560).
+Patch461: gdb-bz594560-core-vs-process.patch
+
+# Import fix of TUI layout internal error (BZ 595475).
+Patch462: gdb-bz595475-tui-layout.patch
+
 BuildRequires: ncurses-devel%{?_isa} texinfo gettext flex bison expat-devel%{?_isa}
 Requires: readline%{?_isa}
 BuildRequires: readline-devel%{?_isa}
@@ -755,6 +761,8 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc
 %patch458 -p1
 %patch459 -p1
 %patch460 -p1
+%patch461 -p1
+%patch462 -p1
 
 %patch415 -p1
 %patch393 -p1
@@ -1087,6 +1095,11 @@ fi
 %endif
 
 %changelog
+* Mon May 24 2010 Jan Kratochvil <jan.kratochvil at redhat.com> - 7.1-22.fc13
+- Remove core file when starting a process (BZ 594560).
+- Fix lock up on loops in the solib chain (BZ 593926).
+- Import fix of TUI layout internal error (BZ 595475).
+
 * Sun May 16 2010 Jan Kratochvil <jan.kratochvil at redhat.com> - 7.1-21.fc13
 - Make gdb-6.8-bz254229-gcore-prpsinfo.patch RHEL-5 /usr/bin/patch compatible
   (bugreported by Jonas Maebe).



More information about the scm-commits mailing list