rpms/gdb/devel .cvsignore, 1.33, 1.34 gdb-6.3-pie-20050110.patch, 1.17, 1.18 gdb-6.6-buildid-locate.patch, 1.23, 1.24 gdb-archer.patch, 1.19, 1.20 gdb.spec, 1.369, 1.370 sources, 1.32, 1.33

Jan Kratochvil jkratoch at fedoraproject.org
Mon Aug 10 13:22:52 UTC 2009


Author: jkratoch

Update of /cvs/pkgs/rpms/gdb/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv5077

Modified Files:
	.cvsignore gdb-6.3-pie-20050110.patch 
	gdb-6.6-buildid-locate.patch gdb-archer.patch gdb.spec sources 
Log Message:
* Mon Aug 10 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090810-1
- Upgrade to the FSF GDB gdb-6.8.50 snapshot: 6.8.50.20090810
- archer-jankratochvil-fedora12 commit: 93ec16e6f5000dd64d433d86674e820ed0f35b72



Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/.cvsignore,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -p -r1.33 -r1.34
--- .cvsignore	4 Aug 2009 05:37:27 -0000	1.33
+++ .cvsignore	10 Aug 2009 13:22:51 -0000	1.34
@@ -1 +1 @@
-gdb-6.8.50.20090803.tar.bz2
+gdb-6.8.50.20090810.tar.bz2

gdb-6.3-pie-20050110.patch:
 amd64-tdep.c  |   71 +++++++-
 auxv.c        |   24 +-
 auxv.h        |    4 
 dwarf2read.c  |    2 
 elfread.c     |    2 
 infrun.c      |    4 
 objfiles.c    |   14 +
 solib-svr4.c  |  474 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
 solib.c       |   83 ++++++++--
 solist.h      |    8 
 symfile-mem.c |    2 
 symfile.c     |   23 ++
 symfile.h     |    8 
 target.h      |    2 
 14 files changed, 610 insertions(+), 111 deletions(-)

Index: gdb-6.3-pie-20050110.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.3-pie-20050110.patch,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -p -r1.17 -r1.18
--- gdb-6.3-pie-20050110.patch	4 Aug 2009 05:37:27 -0000	1.17
+++ gdb-6.3-pie-20050110.patch	10 Aug 2009 13:22:51 -0000	1.18
@@ -26,10 +26,10 @@
 
 	Fix scan_dyntag() for binaries provided by valgrind (BZ 460319).
 
-Index: gdb-6.8.50.20090803/gdb/amd64-tdep.c
+Index: gdb-6.8.50.20090809/gdb/amd64-tdep.c
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/amd64-tdep.c	2009-08-03 21:39:38.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/amd64-tdep.c	2009-08-03 21:39:39.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/amd64-tdep.c	2009-08-10 00:50:30.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/amd64-tdep.c	2009-08-10 14:59:58.000000000 +0200
 @@ -36,6 +36,7 @@
  #include "regcache.h"
  #include "regset.h"
@@ -138,10 +138,10 @@ Index: gdb-6.8.50.20090803/gdb/amd64-tde
    return pc;
  }
  
-Index: gdb-6.8.50.20090803/gdb/auxv.c
+Index: gdb-6.8.50.20090809/gdb/auxv.c
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/auxv.c	2009-08-03 21:39:08.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/auxv.c	2009-08-03 21:39:39.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/auxv.c	2009-07-02 19:25:52.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/auxv.c	2009-08-10 14:59:58.000000000 +0200
 @@ -78,7 +78,7 @@ procfs_xfer_auxv (struct target_ops *ops
     Return 1 if an entry was read into *TYPEP and *VALP.  */
  static int
@@ -230,10 +230,10 @@ Index: gdb-6.8.50.20090803/gdb/auxv.c
  	break;
      }
  
-Index: gdb-6.8.50.20090803/gdb/auxv.h
+Index: gdb-6.8.50.20090809/gdb/auxv.h
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/auxv.h	2009-08-03 21:39:08.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/auxv.h	2009-08-03 21:39:39.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/auxv.h	2009-06-07 21:07:08.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/auxv.h	2009-08-10 14:59:58.000000000 +0200
 @@ -31,14 +31,14 @@
     Return 1 if an entry was read into *TYPEP and *VALP.  */
  extern int target_auxv_parse (struct target_ops *ops,
@@ -251,10 +251,10 @@ Index: gdb-6.8.50.20090803/gdb/auxv.h
  
  /* Print the contents of the target's AUXV on the specified file. */
  extern int fprint_target_auxv (struct ui_file *file, struct target_ops *ops);
-Index: gdb-6.8.50.20090803/gdb/dwarf2read.c
+Index: gdb-6.8.50.20090809/gdb/dwarf2read.c
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/dwarf2read.c	2009-08-03 21:39:39.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/dwarf2read.c	2009-08-03 21:39:39.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/dwarf2read.c	2009-08-10 14:59:28.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/dwarf2read.c	2009-08-10 14:59:58.000000000 +0200
 @@ -1659,7 +1659,7 @@ dwarf2_build_psymtabs (struct objfile *o
    dwarf2_read_section (objfile, &dwarf2_per_objfile->eh_frame);
    dwarf2_read_section (objfile, &dwarf2_per_objfile->frame);
@@ -264,10 +264,10 @@ Index: gdb-6.8.50.20090803/gdb/dwarf2rea
        || (objfile->global_psymbols.size == 0
  	  && objfile->static_psymbols.size == 0))
      {
-Index: gdb-6.8.50.20090803/gdb/elfread.c
+Index: gdb-6.8.50.20090809/gdb/elfread.c
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/elfread.c	2009-08-03 21:39:08.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/elfread.c	2009-08-03 21:39:39.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/elfread.c	2009-08-10 00:50:30.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/elfread.c	2009-08-10 14:59:58.000000000 +0200
 @@ -681,7 +681,7 @@ elf_symfile_read (struct objfile *objfil
    /* If we are reinitializing, or if we have never loaded syms yet,
       set table to empty.  MAINLINE is cleared so that *_read_psymtab
@@ -277,10 +277,10 @@ Index: gdb-6.8.50.20090803/gdb/elfread.c
      {
        init_psymbol_list (objfile, 0);
        mainline = 0;
-Index: gdb-6.8.50.20090803/gdb/infrun.c
+Index: gdb-6.8.50.20090809/gdb/infrun.c
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/infrun.c	2009-08-03 21:39:38.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/infrun.c	2009-08-04 06:04:25.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/infrun.c	2009-08-10 00:50:30.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/infrun.c	2009-08-10 14:59:58.000000000 +0200
 @@ -3531,6 +3531,10 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (
  #endif
  	  target_terminal_inferior ();
@@ -292,10 +292,10 @@ Index: gdb-6.8.50.20090803/gdb/infrun.c
  	  /* If requested, stop when the dynamic linker notifies
  	     gdb of events.  This allows the user to get control
  	     and place breakpoints in initializer routines for
-Index: gdb-6.8.50.20090803/gdb/objfiles.c
+Index: gdb-6.8.50.20090809/gdb/objfiles.c
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/objfiles.c	2009-08-03 21:39:08.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/objfiles.c	2009-08-03 21:39:39.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/objfiles.c	2009-08-10 00:50:30.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/objfiles.c	2009-08-10 14:59:58.000000000 +0200
 @@ -52,6 +52,9 @@
  #include "exec.h"
  #include "observer.h"
@@ -324,7 +324,7 @@ Index: gdb-6.8.50.20090803/gdb/objfiles.
    if (symfile_objfile == NULL)
      return 0;
  
-@@ -475,6 +486,9 @@ free_objfile (struct objfile *objfile)
+@@ -465,6 +476,9 @@ free_objfile (struct objfile *objfile)
    if (objfile == symfile_objfile)
      symfile_objfile = NULL;
  
@@ -334,10 +334,10 @@ Index: gdb-6.8.50.20090803/gdb/objfiles.
    /* Before the symbol table code was redone to make it easier to
       selectively load and remove information particular to a specific
       linkage unit, gdb used to do these things whenever the monolithic
-Index: gdb-6.8.50.20090803/gdb/solib-svr4.c
+Index: gdb-6.8.50.20090809/gdb/solib-svr4.c
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/solib-svr4.c	2009-08-03 21:39:38.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/solib-svr4.c	2009-08-03 21:41:49.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/solib-svr4.c	2009-08-10 14:56:11.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/solib-svr4.c	2009-08-10 14:59:58.000000000 +0200
 @@ -47,6 +47,7 @@
  #include "exec.h"
  #include "auxv.h"
@@ -999,10 +999,10 @@ Index: gdb-6.8.50.20090803/gdb/solib-svr
 +  add_info ("linkmap", info_linkmap_command,
 +	    "Display the inferior's linkmap.");
  }
-Index: gdb-6.8.50.20090803/gdb/solib.c
+Index: gdb-6.8.50.20090809/gdb/solib.c
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/solib.c	2009-08-03 21:39:08.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/solib.c	2009-08-04 05:57:36.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/solib.c	2009-08-10 00:50:30.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/solib.c	2009-08-10 15:07:13.000000000 +0200
 @@ -81,6 +81,8 @@ set_solib_ops (struct gdbarch *gdbarch, 
  
  /* external data declarations */
@@ -1021,35 +1021,7 @@ Index: gdb-6.8.50.20090803/gdb/solib.c
  /*
  
     GLOBAL FUNCTION
-@@ -428,10 +432,23 @@ free_so (struct so_list *so)
-       
-   if (so->abfd)
-     {
--      bfd_filename = bfd_get_filename (so->abfd);
--      if (! bfd_close (so->abfd))
--	warning (_("cannot close \"%s\": %s"),
--		 bfd_filename, bfd_errmsg (bfd_get_error ()));
-+      struct objfile *objfile;
-+
-+      ALL_OBJFILES (objfile)
-+	if (objfile->obfd == so->abfd)
-+	  {
-+	    gdb_assert (objfile->flags & OBJF_KEEPBFD);
-+	    objfile->flags &= ~OBJF_KEEPBFD;
-+	    break;
-+	  }
-+
-+      if (!objfile)
-+	{
-+	  bfd_filename = bfd_get_filename (so->abfd);
-+	  if (! bfd_close (so->abfd))
-+	    warning (_("cannot close \"%s\": %s"),
-+		     bfd_filename, bfd_errmsg (bfd_get_error ()));
-+	}
-     }
- 
-   if (bfd_filename)
-@@ -458,15 +475,40 @@ symbol_add_stub (struct so_list *so, int
+@@ -449,14 +453,38 @@ symbol_add_stub (struct so_list *so, int
    /* Have we already loaded this shared object?  */
    ALL_OBJFILES (so->objfile)
      {
@@ -1075,25 +1047,22 @@ Index: gdb-6.8.50.20090803/gdb/solib.c
    sap = build_section_addr_info_from_section_table (so->sections,
                                                      so->sections_end);
  
--  so->objfile = symbol_file_add_from_bfd (so->abfd, flags,
--					  sap, OBJF_SHARED | OBJF_KEEPBFD);
+-  so->objfile = symbol_file_add_from_bfd (so->abfd, flags, sap, OBJF_SHARED);
 +  if (so->main)
 +    {
 +      if (debug_solib)
 +        fprintf_unfiltered (gdb_stdlog,
 +			    "symbol_add_stub: adding symbols for main\n");
-+      so->objfile = symbol_file_add_from_bfd (so->abfd, (flags & ~SYMFILE_VERBOSE) | SYMFILE_MAINLINE,
-+					      sap, OBJF_KEEPBFD);
++      so->objfile = symbol_file_add_from_bfd (so->abfd, (flags & ~SYMFILE_VERBOSE) | SYMFILE_MAINLINE, sap, 0);
 +      so->main_relocated = 1;
 +    }
 +  else
-+    so->objfile = symbol_file_add_from_bfd (so->abfd, flags,
-+					    sap, OBJF_SHARED | OBJF_KEEPBFD);
++    so->objfile = symbol_file_add_from_bfd (so->abfd, flags, sap, OBJF_SHARED);
 +
-   free_section_addr_info (sap);
- 
-   return;
-@@ -606,6 +648,10 @@ update_solib_list (int from_tty, struct 
+   p_refcount = xmalloc (sizeof (*p_refcount));
+   *p_refcount = 2;  /* Both solib and objfile refer to this abfd.  */
+   so->abfd->usrdata = p_refcount;
+@@ -600,6 +628,10 @@ update_solib_list (int from_tty, struct 
  	    }
  	  else
  	    {
@@ -1104,7 +1073,7 @@ Index: gdb-6.8.50.20090803/gdb/solib.c
  	      if (! strcmp (gdb->so_original_name, i->so_original_name))
  		break;	      
  	    }
-@@ -660,18 +706,7 @@ update_solib_list (int from_tty, struct 
+@@ -654,18 +686,7 @@ update_solib_list (int from_tty, struct 
        /* Fill in the rest of each of the `struct so_list' nodes.  */
        for (i = inferior; i; i = i->next)
  	{
@@ -1124,7 +1093,7 @@ Index: gdb-6.8.50.20090803/gdb/solib.c
  
  	  /* Notify any observer that the shared object has been
               loaded now that we've added it to GDB's tables.  */
-@@ -781,6 +816,32 @@ solib_add (char *pattern, int from_tty, 
+@@ -775,6 +796,32 @@ solib_add (char *pattern, int from_tty, 
    }
  }
  
@@ -1157,7 +1126,7 @@ Index: gdb-6.8.50.20090803/gdb/solib.c
  
  /*
  
-@@ -1134,4 +1195,12 @@ This takes precedence over the environme
+@@ -1128,4 +1175,12 @@ This takes precedence over the environme
  				     reload_shared_libraries,
  				     show_solib_search_path,
  				     &setlist, &showlist);
@@ -1170,10 +1139,10 @@ Index: gdb-6.8.50.20090803/gdb/solib.c
 +			   NULL, NULL,
 +			   &setdebuglist, &showdebuglist);
  }
-Index: gdb-6.8.50.20090803/gdb/solist.h
+Index: gdb-6.8.50.20090809/gdb/solist.h
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/solist.h	2009-08-03 21:39:08.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/solist.h	2009-08-03 21:39:39.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/solist.h	2009-08-10 00:50:30.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/solist.h	2009-08-10 14:59:58.000000000 +0200
 @@ -61,6 +61,8 @@ struct so_list
      bfd *abfd;
      char symbols_loaded;	/* flag: symbols read in yet? */
@@ -1194,10 +1163,10 @@ Index: gdb-6.8.50.20090803/gdb/solist.h
 +extern int debug_solib;
 +
  #endif
-Index: gdb-6.8.50.20090803/gdb/symfile-mem.c
+Index: gdb-6.8.50.20090809/gdb/symfile-mem.c
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/symfile-mem.c	2009-08-03 21:39:38.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/symfile-mem.c	2009-08-03 21:39:39.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/symfile-mem.c	2009-08-10 00:50:30.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/symfile-mem.c	2009-08-10 14:59:58.000000000 +0200
 @@ -115,7 +115,7 @@ symbol_file_add_from_memory (struct bfd 
  	++i;
        }
@@ -1207,10 +1176,10 @@ Index: gdb-6.8.50.20090803/gdb/symfile-m
                                     sai, OBJF_SHARED);
  
    /* This might change our ideas about frames already looked at.  */
-Index: gdb-6.8.50.20090803/gdb/symfile.c
+Index: gdb-6.8.50.20090809/gdb/symfile.c
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/symfile.c	2009-08-03 21:39:38.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/symfile.c	2009-08-04 06:02:45.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/symfile.c	2009-08-10 14:59:28.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/symfile.c	2009-08-10 14:59:58.000000000 +0200
 @@ -49,6 +49,7 @@
  #include "readline/readline.h"
  #include "gdb_assert.h"
@@ -1290,7 +1259,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
  
    free_all_objfiles ();
  
-@@ -3380,6 +3389,8 @@ reread_symbols (void)
+@@ -3387,6 +3396,8 @@ reread_symbols (void)
  	      /* Discard cleanups as symbol reading was successful.  */
  	      discard_cleanups (old_cleanups);
  
@@ -1299,10 +1268,10 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
  	      /* If the mtime has changed between the time we set new_modtime
  	         and now, we *want* this to be out of date, so don't call stat
  	         again now.  */
-Index: gdb-6.8.50.20090803/gdb/target.h
+Index: gdb-6.8.50.20090809/gdb/target.h
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/target.h	2009-08-03 21:39:39.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/target.h	2009-08-03 21:39:39.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/target.h	2009-08-10 14:59:28.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/target.h	2009-08-10 14:59:58.000000000 +0200
 @@ -524,7 +524,7 @@ struct target_ops
         Return -1 if there is insufficient buffer for a whole entry.
         Return 1 if an entry was read into *TYPEP and *VALP.  */
@@ -1312,10 +1281,10 @@ Index: gdb-6.8.50.20090803/gdb/target.h
  
      /* Search SEARCH_SPACE_LEN bytes beginning at START_ADDR for the
         sequence of bytes in PATTERN with length PATTERN_LEN.
-Index: gdb-6.8.50.20090803/gdb/symfile.h
+Index: gdb-6.8.50.20090809/gdb/symfile.h
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/symfile.h	2009-08-03 21:39:38.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/symfile.h	2009-08-03 21:39:39.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/symfile.h	2009-08-10 14:59:28.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/symfile.h	2009-08-10 14:59:58.000000000 +0200
 @@ -229,7 +229,13 @@ enum symfile_add_flags
      SYMFILE_MAINLINE = 1 << 2,
  

gdb-6.6-buildid-locate.patch:
 corelow.c                    |   61 ++++
 doc/gdb.texinfo              |   21 +
 solib-svr4.c                 |   30 +-
 symfile.c                    |  638 +++++++++++++++++++++++++++++++++++++++----
 symfile.h                    |    7 
 testsuite/lib/gdb.exp        |   10 
 testsuite/lib/mi-support.exp |   10 
 7 files changed, 723 insertions(+), 54 deletions(-)

Index: gdb-6.6-buildid-locate.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.6-buildid-locate.patch,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -p -r1.23 -r1.24
--- gdb-6.6-buildid-locate.patch	4 Aug 2009 05:37:28 -0000	1.23
+++ gdb-6.6-buildid-locate.patch	10 Aug 2009 13:22:51 -0000	1.24
@@ -1,7 +1,7 @@
-Index: gdb-6.8.50.20090803/gdb/corelow.c
+Index: gdb-6.8.50.20090809/gdb/corelow.c
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/corelow.c	2009-07-31 17:25:21.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/corelow.c	2009-08-04 06:32:12.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/corelow.c	2009-07-31 17:25:21.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/corelow.c	2009-08-10 14:56:11.000000000 +0200
 @@ -45,6 +45,10 @@
  #include "exceptions.h"
  #include "solib.h"
@@ -89,10 +89,10 @@ Index: gdb-6.8.50.20090803/gdb/corelow.c
 +			   NULL, NULL, NULL,
 +			   &setlist, &showlist);
  }
-Index: gdb-6.8.50.20090803/gdb/doc/gdb.texinfo
+Index: gdb-6.8.50.20090809/gdb/doc/gdb.texinfo
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/doc/gdb.texinfo	2009-08-04 06:31:59.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/doc/gdb.texinfo	2009-08-04 06:32:12.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/doc/gdb.texinfo	2009-08-10 00:50:30.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/doc/gdb.texinfo	2009-08-10 14:56:11.000000000 +0200
 @@ -13733,6 +13733,27 @@ information files.
  
  @end table
@@ -121,10 +121,10 @@ Index: gdb-6.8.50.20090803/gdb/doc/gdb.t
  @cindex @code{.gnu_debuglink} sections
  @cindex debug link sections
  A debug link is a special section of the executable file named
-Index: gdb-6.8.50.20090803/gdb/solib-svr4.c
+Index: gdb-6.8.50.20090809/gdb/solib-svr4.c
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/solib-svr4.c	2009-08-04 06:29:47.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/solib-svr4.c	2009-08-04 06:32:12.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/solib-svr4.c	2009-08-10 00:50:30.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/solib-svr4.c	2009-08-10 14:56:11.000000000 +0200
 @@ -1101,9 +1101,33 @@ svr4_current_sos (void)
  		     safe_strerror (errcode));
  	  else
@@ -162,10 +162,10 @@ Index: gdb-6.8.50.20090803/gdb/solib-svr
  	    }
  	  xfree (buffer);
  
-Index: gdb-6.8.50.20090803/gdb/symfile.c
+Index: gdb-6.8.50.20090809/gdb/symfile.c
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/symfile.c	2009-08-04 06:31:58.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/symfile.c	2009-08-04 06:32:12.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/symfile.c	2009-08-10 00:50:30.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/symfile.c	2009-08-10 14:58:53.000000000 +0200
 @@ -55,6 +55,7 @@
  #include "elf-bfd.h"
  #include "solib.h"
@@ -174,7 +174,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
  
  #include <sys/types.h>
  #include <fcntl.h>
-@@ -1193,16 +1194,65 @@ symbol_file_clear (int from_tty)
+@@ -1195,16 +1196,65 @@ symbol_file_clear (int from_tty)
      printf_unfiltered (_("No symbol file now.\n"));
  }
  
@@ -242,7 +242,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
  {
    struct build_id *retval;
  
-@@ -1218,6 +1268,348 @@ build_id_bfd_get (bfd *abfd)
+@@ -1220,6 +1270,348 @@ build_id_bfd_get (bfd *abfd)
    return retval;
  }
  
@@ -591,7 +591,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
  /* Return if FILENAME has NT_GNU_BUILD_ID matching the CHECK value.  */
  
  static int
-@@ -1235,7 +1627,7 @@ build_id_verify (const char *filename, s
+@@ -1237,7 +1629,7 @@ build_id_verify (const char *filename, s
    if (abfd == NULL)
      return 0;
  
@@ -600,7 +600,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
  
    if (found == NULL)
      warning (_("File \"%s\" has no build-id, file skipped"), filename);
-@@ -1254,8 +1646,9 @@ build_id_verify (const char *filename, s
+@@ -1256,8 +1648,9 @@ build_id_verify (const char *filename, s
    return retval;
  }
  
@@ -612,7 +612,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
  {
    char *link, *s, *retval = NULL;
    gdb_byte *data = build_id->data;
-@@ -1263,7 +1656,9 @@ build_id_to_debug_filename (struct build
+@@ -1265,7 +1658,9 @@ build_id_to_debug_filename (struct build
  
    /* DEBUG_FILE_DIRECTORY/.build-id/ab/cdef */
    link = xmalloc (strlen (debug_file_directory) + (sizeof "/.build-id/" - 1) + 1
@@ -623,7 +623,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
    s = link + sprintf (link, "%s/.build-id/", debug_file_directory);
    if (size > 0)
      {
-@@ -1274,12 +1669,14 @@ build_id_to_debug_filename (struct build
+@@ -1276,12 +1671,14 @@ build_id_to_debug_filename (struct build
      *s++ = '/';
    while (size-- > 0)
      s += sprintf (s, "%02x", (unsigned) *data++);
@@ -640,7 +640,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
  
    if (retval != NULL && !build_id_verify (retval, build_id))
      {
-@@ -1287,9 +1684,150 @@ build_id_to_debug_filename (struct build
+@@ -1289,9 +1686,150 @@ build_id_to_debug_filename (struct build
        retval = NULL;
      }
  
@@ -649,9 +649,9 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
 +  else
 +    xfree (link);
 +
-+  return retval;
-+}
-+
+   return retval;
+ }
+ 
 +/* This MISSING_FILEPAIR_HASH tracker is used only for the duplicite messages
 +     Try to install the hash file ...
 +   avoidance.  */
@@ -674,9 +674,9 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
 +
 +  retval = obstack_alloc (&missing_filepair_obstack, size);
 +  memset (retval, 0, size);
-   return retval;
- }
- 
++  return retval;
++}
++
 +static hashval_t
 +missing_filepair_hash_func (const struct missing_filepair *elem)
 +{
@@ -791,7 +791,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
  static char *
  get_debug_link_info (struct objfile *objfile, unsigned long *crc32_out)
  {
-@@ -1372,32 +1910,36 @@ static char *
+@@ -1374,32 +1912,36 @@ static char *
  find_separate_debug_file (struct objfile *objfile)
  {
    asection *sect;
@@ -836,7 +836,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
      }
  
    basename = get_debug_link_info (objfile, &crc32);
-@@ -1405,7 +1947,7 @@ find_separate_debug_file (struct objfile
+@@ -1407,7 +1949,7 @@ find_separate_debug_file (struct objfile
    if (basename == NULL)
      /* There's no separate debug info, hence there's no way we could
         load it => no warning.  */
@@ -845,18 +845,18 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
  
    dir = xstrdup (objfile->name);
  
-@@ -1421,23 +1963,19 @@ find_separate_debug_file (struct objfile
-   gdb_assert (i >= 0 && IS_DIR_SEPARATOR (dir[i]));
-   dir[i+1] = '\0';
+@@ -1429,24 +1971,19 @@ find_separate_debug_file (struct objfile
+   if (canon_name && strlen (canon_name) > i)
+     i = strlen (canon_name);
  
 -  debugfile = alloca (strlen (debug_file_directory) + 1
--                      + strlen (dir)
+-                      + i
 -                      + strlen (DEBUG_SUBDIRECTORY)
 -                      + strlen ("/")
 -                      + strlen (basename)
 -                      + 1);
 +  debugfile = xmalloc (strlen (debug_file_directory) + 1
-+		       + strlen (dir)
++		       + i
 +		       + strlen (DEBUG_SUBDIRECTORY)
 +		       + strlen ("/")
 +		       + strlen (basename)
@@ -870,39 +870,42 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
 -    {
 -      xfree (basename);
 -      xfree (dir);
+-      xfree (canon_name);
 -      return xstrdup (debugfile);
 -    }
 +    goto cleanup_return_debugfile;
  
    /* Then try in the subdirectory named DEBUG_SUBDIRECTORY.  */
    strcpy (debugfile, dir);
-@@ -1446,11 +1984,7 @@ find_separate_debug_file (struct objfile
+@@ -1455,12 +1992,7 @@ find_separate_debug_file (struct objfile
    strcat (debugfile, basename);
  
    if (separate_debug_file_exists (debugfile, crc32, objfile->name))
 -    {
 -      xfree (basename);
 -      xfree (dir);
+-      xfree (canon_name);
 -      return xstrdup (debugfile);
 -    }
 +    goto cleanup_return_debugfile;
  
    /* Then try in the global debugfile directory.  */
    strcpy (debugfile, debug_file_directory);
-@@ -1459,11 +1993,7 @@ find_separate_debug_file (struct objfile
+@@ -1469,12 +2001,7 @@ find_separate_debug_file (struct objfile
    strcat (debugfile, basename);
  
    if (separate_debug_file_exists (debugfile, crc32, objfile->name))
 -    {
 -      xfree (basename);
 -      xfree (dir);
+-      xfree (canon_name);
 -      return xstrdup (debugfile);
 -    }
 +    goto cleanup_return_debugfile;
  
    /* If the file is in the sysroot, try using its base path in the
       global debugfile directory.  */
-@@ -1478,20 +2008,18 @@ find_separate_debug_file (struct objfile
+@@ -1488,21 +2015,18 @@ find_separate_debug_file (struct objfile
        strcat (debugfile, basename);
  
        if (separate_debug_file_exists (debugfile, crc32, objfile->name))
@@ -910,17 +913,17 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
 -	  xfree (canon_name);
 -	  xfree (basename);
 -	  xfree (dir);
+-	  xfree (canon_name);
 -	  return xstrdup (debugfile);
 -	}
-+        goto cleanup_return_debugfile;
++	goto cleanup_return_debugfile;
      }
--  
+   
 -  if (canon_name)
 -    xfree (canon_name);
- 
 +  debugfile = NULL;
 +  debug_print_missing (objfile->name, build_id_filename);
-+
+ 
 +cleanup_return_debugfile:
 +  xfree (build_id_filename);
 +  xfree (canon_name);
@@ -931,7 +934,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
  }
  
  
-@@ -4243,4 +4771,16 @@ Show printing of symbol loading messages
+@@ -4254,4 +4778,16 @@ Show printing of symbol loading messages
                             NULL,
                             NULL,
                             &setprintlist, &showprintlist);
@@ -948,10 +951,10 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
 +
 +  observer_attach_executable_changed (debug_print_executable_changed);
  }
-Index: gdb-6.8.50.20090803/gdb/symfile.h
+Index: gdb-6.8.50.20090809/gdb/symfile.h
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/symfile.h	2009-08-04 06:29:47.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/symfile.h	2009-08-04 06:32:12.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/symfile.h	2009-08-10 00:50:30.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/symfile.h	2009-08-10 14:56:11.000000000 +0200
 @@ -388,6 +388,13 @@ extern int symfile_map_offsets_to_segmen
  struct symfile_segment_data *get_symfile_segment_data (bfd *abfd);
  void free_symfile_segment_data (struct symfile_segment_data *data);
@@ -966,10 +969,10 @@ Index: gdb-6.8.50.20090803/gdb/symfile.h
  /* From dwarf2read.c */
  
  extern int dwarf2_has_info (struct objfile *);
-Index: gdb-6.8.50.20090803/gdb/testsuite/lib/gdb.exp
+Index: gdb-6.8.50.20090809/gdb/testsuite/lib/gdb.exp
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/testsuite/lib/gdb.exp	2009-08-04 06:29:47.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/testsuite/lib/gdb.exp	2009-08-04 06:32:12.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/testsuite/lib/gdb.exp	2009-08-10 00:50:30.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/testsuite/lib/gdb.exp	2009-08-10 14:56:11.000000000 +0200
 @@ -1248,6 +1248,16 @@ proc default_gdb_start { } {
  	    warning "Couldn't set the width to 0."
  	}
@@ -987,10 +990,10 @@ Index: gdb-6.8.50.20090803/gdb/testsuite
      return 0;
  }
  
-Index: gdb-6.8.50.20090803/gdb/testsuite/lib/mi-support.exp
+Index: gdb-6.8.50.20090809/gdb/testsuite/lib/mi-support.exp
 ===================================================================
---- gdb-6.8.50.20090803.orig/gdb/testsuite/lib/mi-support.exp	2009-08-04 06:29:47.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/testsuite/lib/mi-support.exp	2009-08-04 06:32:12.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/testsuite/lib/mi-support.exp	2009-08-10 00:50:30.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/testsuite/lib/mi-support.exp	2009-08-10 14:56:11.000000000 +0200
 @@ -221,6 +221,16 @@ proc default_mi_gdb_start { args } {
  	    }
      	}

gdb-archer.patch:
 bfd/coff-stgo32.c                                            |   97 
 bfd/coffcode.h                                               |    5 
 bfd/libcoff-in.h                                             |    3 
 bfd/libcoff.h                                                |    3 
 gdb/Makefile.in                                              |   95 
 gdb/NEWS                                                     |    7 
 gdb/ada-lang.c                                               |   43 
 gdb/block.c                                                  |   23 
 gdb/block.h                                                  |    2 
 gdb/breakpoint.c                                             |  102 
 gdb/breakpoint.h                                             |    3 
 gdb/c-exp.y                                                  |  252 +
 gdb/c-lang.c                                                 |    6 
 gdb/c-typeprint.c                                            |   47 
 gdb/cli/cli-cmds.c                                           |   72 
 gdb/coffread.c                                               |    3 
 gdb/config.in                                                |    8 
 gdb/config/i386/nm-i386.h                                    |  125 
 gdb/config/i386/nm-linux64.h                                 |   54 
 gdb/config/mips/nm-irix5.h                                   |   44 
 gdb/configure                                                |   79 
 gdb/configure.ac                                             |   47 
 gdb/cp-name-parser.y                                         |    5 
 gdb/cp-namespace.c                                           |  223 +
 gdb/cp-support.c                                             |   88 
 gdb/cp-support.h                                             |   59 
 gdb/dbxread.c                                                |    1 
 gdb/doc/gdb.texinfo                                          |  504 +++
 gdb/doc/gdbint.texinfo                                       |   62 
 gdb/doc/observer.texi                                        |   14 
 gdb/dwarf2-frame.c                                           |   28 
 gdb/dwarf2-frame.h                                           |    4 
 gdb/dwarf2expr.c                                             |   86 
 gdb/dwarf2expr.h                                             |   68 
 gdb/dwarf2loc.c                                              |  356 ++
 gdb/dwarf2loc.h                                              |    6 
 gdb/dwarf2read.c                                             | 1540 +++++++----
 gdb/elfread.c                                                |   11 
 gdb/eval.c                                                   |  170 +
 gdb/expression.h                                             |   11 
 gdb/f-exp.y                                                  |    4 
 gdb/f-lang.c                                                 |  413 --
 gdb/f-lang.h                                                 |   38 
 gdb/f-typeprint.c                                            |   36 
 gdb/f-valprint.c                                             |  267 -
 gdb/findcmd.c                                                |  111 
 gdb/findvar.c                                                |  126 
 gdb/frame.c                                                  |   19 
 gdb/frame.h                                                  |    5 
 gdb/gdbinit.in                                               |   10 
 gdb/gdbserver/linux-i386-low.c                               |  210 +
 gdb/gdbserver/linux-x86-64-low.c                             |  184 +
 gdb/gdbthread.h                                              |    3 
 gdb/gdbtypes.c                                               |  596 +++-
 gdb/gdbtypes.h                                               |  140 -
 gdb/gnu-v3-abi.c                                             |   18 
 gdb/gnulib/Makefile.in                                       |    4 
 gdb/jv-lang.c                                                |    1 
 gdb/language.h                                               |    1 
 gdb/linespec.c                                               |   62 
 gdb/m2-lang.c                                                |    1 
 gdb/machoread.c                                              |    1 
 gdb/main.c                                                   |   80 
 gdb/maint.c                                                  |    8 
 gdb/mdebugread.c                                             |    2 
 gdb/mi/mi-cmd-var.c                                          |  115 
 gdb/mi/mi-cmds.c                                             |    2 
 gdb/mi/mi-cmds.h                                             |    2 
 gdb/mi/mi-main.c                                             |    5 
 gdb/mipsread.c                                               |    1 
 gdb/objfiles.c                                               |   27 
 gdb/objfiles.h                                               |   21 
 gdb/parse.c                                                  |  154 +
 gdb/parser-defs.h                                            |   25 
 gdb/printcmd.c                                               |   90 
 gdb/python/lib/gdb/FrameIterator.py                          |   33 
 gdb/python/lib/gdb/FrameWrapper.py                           |  112 
 gdb/python/lib/gdb/__init__.py                               |   19 
 gdb/python/lib/gdb/backtrace.py                              |   42 
 gdb/python/lib/gdb/command/__init__.py                       |    1 
 gdb/python/lib/gdb/command/alias.py                          |   59 
 gdb/python/lib/gdb/command/backtrace.py                      |  106 
 gdb/python/lib/gdb/command/ignore_errors.py                  |   37 
 gdb/python/lib/gdb/command/pahole.py                         |   75 
 gdb/python/lib/gdb/command/require.py                        |   57 
 gdb/python/lib/gdb/command/save_breakpoints.py               |   65 
 gdb/python/lib/gdb/command/upto.py                           |  129 
 gdb/python/lib/gdb/function/__init__.py                      |    1 
 gdb/python/lib/gdb/function/caller_is.py                     |   58 
 gdb/python/lib/gdb/function/in_scope.py                      |   47 
 gdb/python/python-block.c                                    |  265 +
 gdb/python/python-breakpoint.c                               |  665 ++++
 gdb/python/python-cmd.c                                      |   17 
 gdb/python/python-frame.c                                    |  116 
 gdb/python/python-hooks.c                                    |   50 
 gdb/python/python-inferior.c                                 |  926 ++++++
 gdb/python/python-infthread.c                                |  285 ++
 gdb/python/python-internal.h                                 |   69 
 gdb/python/python-membuf.c                                   |  268 +
 gdb/python/python-param.c                                    |  606 ++++
 gdb/python/python-prettyprint.c                              |   21 
 gdb/python/python-symbol.c                                   |  336 ++
 gdb/python/python-symtab.c                                   |  322 ++
 gdb/python/python-type.c                                     |  170 -
 gdb/python/python-utils.c                                    |   46 
 gdb/python/python-value.c                                    |  123 
 gdb/python/python.c                                          |  384 ++
 gdb/python/python.h                                          |    8 
 gdb/scm-lang.c                                               |    1 
 gdb/scm-valprint.c                                           |    4 
 gdb/solib-darwin.c                                           |    1 
 gdb/solib-spu.c                                              |    7 
 gdb/solib-svr4.c                                             |    4 
 gdb/solib.c                                                  |    3 
 gdb/solist.h                                                 |    2 
 gdb/somread.c                                                |    1 
 gdb/spu-tdep.c                                               |    2 
 gdb/stabsread.c                                              |    4 
 gdb/stack.c                                                  |   38 
 gdb/symfile.c                                                |   55 
 gdb/symfile.h                                                |   12 
 gdb/symmisc.c                                                |    4 
 gdb/symtab.c                                                 |  316 +-
 gdb/symtab.h                                                 |   17 
 gdb/target.h                                                 |   22 
 gdb/testsuite/ChangeLog                                      |   97 
 gdb/testsuite/gdb.arch/powerpc-power7.exp                    |  175 +
 gdb/testsuite/gdb.arch/powerpc-power7.s                      |  107 
 gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S              |  455 +++
 gdb/testsuite/gdb.arch/x86_64-vla-typedef.c                  |   43 
 gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp                |   64 
 gdb/testsuite/gdb.base/arrayidx.c                            |    7 
 gdb/testsuite/gdb.base/arrayidx.exp                          |   10 
 gdb/testsuite/gdb.base/help.exp                              |    2 
 gdb/testsuite/gdb.base/lineno-makeup-func.c                  |   21 
 gdb/testsuite/gdb.base/lineno-makeup.c                       |   35 
 gdb/testsuite/gdb.base/lineno-makeup.exp                     |   78 
 gdb/testsuite/gdb.base/macscp.exp                            |    8 
 gdb/testsuite/gdb.base/radix.exp                             |    7 
 gdb/testsuite/gdb.base/valgrind-attach.c                     |   28 
 gdb/testsuite/gdb.base/valgrind-attach.exp                   |   94 
 gdb/testsuite/gdb.base/valgrind-attach.sh                    |   20 
 gdb/testsuite/gdb.base/vla-overflow.c                        |   30 
 gdb/testsuite/gdb.base/vla-overflow.exp                      |  108 
 gdb/testsuite/gdb.base/vla.c                                 |   55 
 gdb/testsuite/gdb.base/vla.exp                               |   62 
 gdb/testsuite/gdb.cp/cp-relocate.exp                         |    6 
 gdb/testsuite/gdb.cp/cplusfuncs.cc                           |    6 
 gdb/testsuite/gdb.cp/cplusfuncs.exp                          |  195 +
 gdb/testsuite/gdb.cp/expand-sals.exp                         |    2 
 gdb/testsuite/gdb.cp/member-ptr.cc                           |   17 
 gdb/testsuite/gdb.cp/member-ptr.exp                          |   34 
 gdb/testsuite/gdb.cp/namespace-multiple-imports.cc           |   20 
 gdb/testsuite/gdb.cp/namespace-multiple-imports.exp          |   49 
 gdb/testsuite/gdb.cp/namespace-nested-imports.cc             |   36 
 gdb/testsuite/gdb.cp/namespace-nested-imports.exp            |   57 
 gdb/testsuite/gdb.cp/namespace-no-imports.cc                 |   37 
 gdb/testsuite/gdb.cp/namespace-no-imports.exp                |   76 
 gdb/testsuite/gdb.cp/namespace-recursive.cc                  |   16 
 gdb/testsuite/gdb.cp/namespace-recursive.exp                 |   53 
 gdb/testsuite/gdb.cp/namespace-using.cc                      |  128 
 gdb/testsuite/gdb.cp/namespace-using.exp                     |  130 
 gdb/testsuite/gdb.cp/namespace.exp                           |   23 
 gdb/testsuite/gdb.cp/overload.exp                            |    8 
 gdb/testsuite/gdb.cp/ovldbreak.exp                           |   46 
 gdb/testsuite/gdb.cp/shadowing.cc                            |   48 
 gdb/testsuite/gdb.cp/shadowing.exp                           |   91 
 gdb/testsuite/gdb.dwarf2/dw2-stripped.c                      |   42 
 gdb/testsuite/gdb.dwarf2/dw2-stripped.exp                    |   79 
 gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S   |   83 
 gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp |   37 
 gdb/testsuite/gdb.fortran/common-block.exp                   |  101 
 gdb/testsuite/gdb.fortran/common-block.f90                   |   67 
 gdb/testsuite/gdb.fortran/dwarf-stride.exp                   |   42 
 gdb/testsuite/gdb.fortran/dwarf-stride.f90                   |   40 
 gdb/testsuite/gdb.fortran/dynamic.exp                        |  158 +
 gdb/testsuite/gdb.fortran/dynamic.f90                        |   98 
 gdb/testsuite/gdb.fortran/logical.exp                        |   44 
 gdb/testsuite/gdb.fortran/logical.f90                        |   33 
 gdb/testsuite/gdb.fortran/string.exp                         |   72 
 gdb/testsuite/gdb.fortran/string.f90                         |   37 
 gdb/testsuite/gdb.gdb/selftest.exp                           |    4 
 gdb/testsuite/gdb.mi/gdb701.exp                              |    2 
 gdb/testsuite/gdb.mi/mi-var-display.exp                      |    4 
 gdb/testsuite/gdb.mi/mi2-var-display.exp                     |    4 
 gdb/testsuite/gdb.opt/array-from-register-func.c             |   22 
 gdb/testsuite/gdb.opt/array-from-register.c                  |   28 
 gdb/testsuite/gdb.opt/array-from-register.exp                |   33 
 gdb/testsuite/gdb.python/Makefile.in                         |    2 
 gdb/testsuite/gdb.python/python-cmd.exp                      |   27 
 gdb/testsuite/gdb.python/python-frame.exp                    |   48 
 gdb/testsuite/gdb.python/python-function.exp                 |   27 
 gdb/testsuite/gdb.python/python-inferior.c                   |   49 
 gdb/testsuite/gdb.python/python-inferior.exp                 |  201 +
 gdb/testsuite/gdb.python/python-infthread.c                  |   14 
 gdb/testsuite/gdb.python/python-infthread.exp                |   58 
 gdb/testsuite/gdb.python/python-mi.exp                       |   96 
 gdb/testsuite/gdb.python/python-prettyprint.c                |   13 
 gdb/testsuite/gdb.python/python-prettyprint.exp              |   11 
 gdb/testsuite/gdb.python/python-prettyprint.py               |   12 
 gdb/testsuite/gdb.python/python-template.exp                 |   25 
 gdb/testsuite/gdb.python/python-value.exp                    |   68 
 gdb/testsuite/gdb.python/python.exp                          |   27 
 gdb/testsuite/lib/cp-support.exp                             |    3 
 gdb/testsuite/lib/gdb.exp                                    |    1 
 gdb/testsuite/lib/mi-support.exp                             |   86 
 gdb/testsuite/lib/python-support.exp                         |   53 
 gdb/thread.c                                                 |   18 
 gdb/top.c                                                    |    1 
 gdb/typeprint.c                                              |   14 
 gdb/typeprint.h                                              |    3 
 gdb/ui-file.c                                                |   20 
 gdb/ui-file.h                                                |    6 
 gdb/utils.c                                                  |    7 
 gdb/valarith.c                                               |   45 
 gdb/valops.c                                                 |  254 +
 gdb/valprint.c                                               |    3 
 gdb/value.c                                                  |  211 +
 gdb/value.h                                                  |   12 
 gdb/varobj.c                                                 |  731 +++--
 gdb/varobj.h                                                 |   32 
 gdb/xcoffread.c                                              |    1 
 include/coff/go32exe.h                                       |    6 
 include/coff/internal.h                                      |   13 
 224 files changed, 16278 insertions(+), 2683 deletions(-)

View full diff with command:
/usr/bin/cvs -n -f diff -kk -u -p -N -r 1.19 -r 1.20 gdb-archer.patchIndex: gdb-archer.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-archer.patch,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -p -r1.19 -r1.20
--- gdb-archer.patch	4 Aug 2009 05:37:28 -0000	1.19
+++ gdb-archer.patch	10 Aug 2009 13:22:51 -0000	1.20
@@ -2,7 +2,7 @@ http://sourceware.org/gdb/wiki/ProjectAr
 http://sourceware.org/gdb/wiki/ArcherBranchManagement
 
 GIT snapshot:
-commit 0222cb1f4ddd1eda32965e464cb60b1e44e110b2
+commit 93ec16e6f5000dd64d433d86674e820ed0f35b72
 
 branch `archer' - the merge of branches:
 archer-tromey-call-frame-cfa
@@ -10,12 +10,289 @@ archer-tromey-delayed-symfile
 archer-tromey-dw-op-value
 archer-jankratochvil-vla
 archer-jankratochvil-misc
-archer-jankratochvil-expr-cumulative
-	archer-keiths-expr-cumulative
-archer-jankratochvil-python
-	archer-tromey-python
+archer-keiths-expr-cumulative
+archer-tromey-python
 
 
+diff --git a/bfd/coff-stgo32.c b/bfd/coff-stgo32.c
+index b8928be..8bf7667 100644
+--- a/bfd/coff-stgo32.c
++++ b/bfd/coff-stgo32.c
+@@ -102,9 +102,6 @@ static bfd_boolean
+ 
+ #include "coff-i386.c"
+ 
+-/* I hold in the usrdata the stub.  */
+-#define bfd_coff_go32stub bfd_usrdata
+-
+ /* This macro is used, because I cannot assume the endianess of the
+    host system.  */
+ #define _H(index) (H_GET_16 (abfd, (header+index*2)))
+@@ -112,7 +109,7 @@ static bfd_boolean
+ /* These bytes are a 2048-byte DOS executable, which loads the COFF
+    image into memory and then runs it. It is called 'stub'.  */
+ 
+-static const unsigned char stub_bytes[STUBSIZE] =
++static const unsigned char stub_bytes[GO32_STUBSIZE] =
+ {
+ #include "go32stub.h"
+ };
+@@ -120,7 +117,7 @@ static const unsigned char stub_bytes[STUBSIZE] =
+ /*
+    I have not commented each swap function below, because the
+    technique is in any function the same. For the ...in function,
+-   all the pointers are adjusted by adding STUBSIZE and for the
++   all the pointers are adjusted by adding GO32_STUBSIZE and for the
+    ...out function, it is subtracted first and after calling the
+    standard swap function it is reset to the old value.  */
+ 
+@@ -132,25 +129,20 @@ static const unsigned char stub_bytes[STUBSIZE] =
+ 
+ static void
+ adjust_filehdr_in_post  (abfd, src, dst)
+-     bfd *abfd;
++     bfd *abfd ATTRIBUTE_UNUSED;
+      PTR src;
+      PTR dst;
+ {
+   FILHDR *filehdr_src = (FILHDR *) src;
+   struct internal_filehdr *filehdr_dst = (struct internal_filehdr *) dst;
+ 
+-  ADJUST_VAL (filehdr_dst->f_symptr, STUBSIZE);
++  ADJUST_VAL (filehdr_dst->f_symptr, GO32_STUBSIZE);
+ 
+-  /* Save now the stub to be used later.  */
+-  bfd_coff_go32stub (abfd) = (PTR) bfd_alloc (abfd, (bfd_size_type) STUBSIZE);
+-
+-  /* Since this function returns no status, I do not set here
+-     any bfd_error_...
+-     That means, before the use of bfd_coff_go32stub (), this value
+-     should be checked if it is != NULL.  */
+-  if (bfd_coff_go32stub (abfd) == NULL)
+-    return;
+-  memcpy (bfd_coff_go32stub (abfd), filehdr_src->stub, STUBSIZE);
++  /* Save now the stub to be used later.  Put the stub data to FILEHDR_DST
++     first as coff_data (abfd) still does not exist.  It may not even be ever
++     created as we are just checking the file format of ABFD.  */
++  memcpy (filehdr_dst->go32stub, filehdr_src->stub, GO32_STUBSIZE);
++  filehdr_dst->f_flags |= F_GO32STUB;
+ }
+ 
+ static void
+@@ -166,13 +158,13 @@ adjust_filehdr_out_pre  (abfd, in, out)
+   create_go32_stub (abfd);
+ 
+   /* Copy the stub to the file header.  */
+-  if (bfd_coff_go32stub (abfd) != NULL)
+-    memcpy (filehdr_out->stub, bfd_coff_go32stub (abfd), STUBSIZE);
++  if (coff_data (abfd)->go32stub != NULL)
++    memcpy (filehdr_out->stub, coff_data (abfd)->go32stub, GO32_STUBSIZE);
+   else
+     /* Use the default.  */
+-    memcpy (filehdr_out->stub, stub_bytes, STUBSIZE);
++    memcpy (filehdr_out->stub, stub_bytes, GO32_STUBSIZE);
+ 
+-  ADJUST_VAL (filehdr_in->f_symptr, -STUBSIZE);
++  ADJUST_VAL (filehdr_in->f_symptr, -GO32_STUBSIZE);
+ }
+ 
+ static void
+@@ -183,7 +175,7 @@ adjust_filehdr_out_post  (abfd, in, out)
+ {
+   struct internal_filehdr *filehdr_in = (struct internal_filehdr *) in;
+   /* Undo the above change.  */
+-  ADJUST_VAL (filehdr_in->f_symptr, STUBSIZE);
++  ADJUST_VAL (filehdr_in->f_symptr, GO32_STUBSIZE);
+ }
+ 
+ static void
+@@ -194,9 +186,9 @@ adjust_scnhdr_in_post  (abfd, ext, in)
+ {
+   struct internal_scnhdr *scnhdr_int = (struct internal_scnhdr *) in;
+ 
+-  ADJUST_VAL (scnhdr_int->s_scnptr, STUBSIZE);
+-  ADJUST_VAL (scnhdr_int->s_relptr, STUBSIZE);
+-  ADJUST_VAL (scnhdr_int->s_lnnoptr, STUBSIZE);
++  ADJUST_VAL (scnhdr_int->s_scnptr, GO32_STUBSIZE);
++  ADJUST_VAL (scnhdr_int->s_relptr, GO32_STUBSIZE);
++  ADJUST_VAL (scnhdr_int->s_lnnoptr, GO32_STUBSIZE);
+ }
+ 
+ static void
+@@ -207,9 +199,9 @@ adjust_scnhdr_out_pre  (abfd, in, out)
+ {
+   struct internal_scnhdr *scnhdr_int = (struct internal_scnhdr *) in;
+ 
+-  ADJUST_VAL (scnhdr_int->s_scnptr, -STUBSIZE);
+-  ADJUST_VAL (scnhdr_int->s_relptr, -STUBSIZE);
+-  ADJUST_VAL (scnhdr_int->s_lnnoptr, -STUBSIZE);
++  ADJUST_VAL (scnhdr_int->s_scnptr, -GO32_STUBSIZE);
++  ADJUST_VAL (scnhdr_int->s_relptr, -GO32_STUBSIZE);
++  ADJUST_VAL (scnhdr_int->s_lnnoptr, -GO32_STUBSIZE);
+ }
+ 
+ static void
+@@ -220,9 +212,9 @@ adjust_scnhdr_out_post (abfd, in, out)
+ {
+   struct internal_scnhdr *scnhdr_int = (struct internal_scnhdr *) in;
+ 
+-  ADJUST_VAL (scnhdr_int->s_scnptr, STUBSIZE);
+-  ADJUST_VAL (scnhdr_int->s_relptr, STUBSIZE);
+-  ADJUST_VAL (scnhdr_int->s_lnnoptr, STUBSIZE);
++  ADJUST_VAL (scnhdr_int->s_scnptr, GO32_STUBSIZE);
++  ADJUST_VAL (scnhdr_int->s_relptr, GO32_STUBSIZE);
++  ADJUST_VAL (scnhdr_int->s_lnnoptr, GO32_STUBSIZE);
+ }
+ 
+ static void
+@@ -239,7 +231,7 @@ adjust_aux_in_post  (abfd, ext1, type, class, indx, numaux, in1)
+ 
+   if (class == C_BLOCK || class == C_FCN || ISFCN (type) || ISTAG (class))
+     {
+-      ADJUST_VAL (in->x_sym.x_fcnary.x_fcn.x_lnnoptr, STUBSIZE);
++      ADJUST_VAL (in->x_sym.x_fcnary.x_fcn.x_lnnoptr, GO32_STUBSIZE);
+     }
+ }
+ 
+@@ -257,7 +249,7 @@ adjust_aux_out_pre  (abfd, inp, type, class, indx, numaux, extp)
+ 
+   if (class == C_BLOCK || class == C_FCN || ISFCN (type) || ISTAG (class))
+     {
+-      ADJUST_VAL (in->x_sym.x_fcnary.x_fcn.x_lnnoptr, -STUBSIZE);
++      ADJUST_VAL (in->x_sym.x_fcnary.x_fcn.x_lnnoptr, -GO32_STUBSIZE);
+     }
+ }
+ 
+@@ -275,7 +267,7 @@ adjust_aux_out_post (abfd, inp, type, class, indx, numaux, extp)
+ 
+   if (class == C_BLOCK || class == C_FCN || ISFCN (type) || ISTAG (class))
+     {
+-      ADJUST_VAL (in->x_sym.x_fcnary.x_fcn.x_lnnoptr, STUBSIZE);
++      ADJUST_VAL (in->x_sym.x_fcnary.x_fcn.x_lnnoptr, GO32_STUBSIZE);
+     }
+ }
+ 
+@@ -296,7 +288,7 @@ create_go32_stub (abfd)
+      bfd *abfd;
+ {
+   /* Do it only once.  */
+-  if (bfd_coff_go32stub (abfd) == NULL)
++  if (coff_data (abfd)->go32stub == NULL)
+     {
+       char *stub;
+       struct stat st;
+@@ -362,32 +354,32 @@ create_go32_stub (abfd)
+ 	  goto stub_end;
+ 	}
+       /* Now we found a correct stub (hopefully).  */
[...4682 lines suppressed...]
+       else
+ 	{
+ 	  tmp_var->obj_name = xstrdup (var->obj_name);
++	  tmp_var->from = var->from;
++	  tmp_var->to = var->to;
+ 	  varobj_delete (var, NULL, 0);
  
-@@ -3173,6 +3287,19 @@ java_value_of_variable (struct varobj *var, enum varobj_display_formats format)
+ 	  install_variable (tmp_var);
+@@ -3173,6 +3365,19 @@ java_value_of_variable (struct varobj *var, enum varobj_display_formats format)
    return cplus_value_of_variable (var, format);
  }
  
@@ -25316,7 +26286,7 @@ index 4a94988..9bfc130 100644
  /* Iterate all the existing _root_ VAROBJs and call the FUNC callback for them
     with an arbitrary caller supplied DATA pointer.  */
  
-@@ -3190,48 +3317,110 @@ all_root_varobjs (void (*func) (struct varobj *var, void *data), void *data)
+@@ -3190,48 +3395,110 @@ all_root_varobjs (void (*func) (struct varobj *var, void *data), void *data)
        (*func) (var_root->rootvar, data);
      }
  }
@@ -25454,8 +26424,12 @@ index 4a94988..9bfc130 100644
  	  tmp_var->obj_name = xstrdup (var->obj_name);
  	  varobj_delete (var, NULL, 0);
  	  install_variable (tmp_var);
-@@ -3243,12 +3432,61 @@ varobj_invalidate_iter (struct varobj *var, void *unused)
-     var->root->is_valid = 0;
+@@ -3239,16 +3506,64 @@ varobj_invalidate_iter (struct varobj *var, void *unused)
+       else
+ 	var->root->is_valid = 0;
+     }
+-  else /* locals must be invalidated.  */
+-    var->root->is_valid = 0;
  }
  
 -/* Invalidate the varobjs that are tied to locals and re-create the ones that
@@ -25467,8 +26441,7 @@ index 4a94988..9bfc130 100644
 -varobj_invalidate (void)
 +static void 
 +varobj_invalidate (struct objfile *objfile)
- {
--  all_root_varobjs (varobj_invalidate_iter, NULL);
++{
 +  /* Check all the VAROBJs, even non-root ones.  Child VAROBJs can reference
 +     types from other OBJFILEs through TYPE_IS_OPAQUE resolutions by
 +     check_typedef.  */
@@ -25495,7 +26468,8 @@ index 4a94988..9bfc130 100644
 +
 +static void
 +varobj_revalidate_for_objfile (struct objfile *objfile)
-+{
+ {
+-  all_root_varobjs (varobj_invalidate_iter, NULL);
 +  varobj_revalidate ();
 +}
 +

@@ -25517,29 +26491,58 @@ index 4a94988..9bfc130 100644
 +			    show_varobjdebug,
 +			    &setlist, &showlist);
 +
++
 +  observer_attach_objfile_unloading (varobj_invalidate );
 +  observer_attach_objfile_unloaded (varobj_revalidate);
 +  observer_attach_new_objfile (varobj_revalidate_for_objfile);
 +  observer_attach_mark_used (varobj_types_mark_used);
  }
 diff --git a/gdb/varobj.h b/gdb/varobj.h
-index 7297243..aabd743 100644
+index 7297243..fbe2f2f 100644
 --- a/gdb/varobj.h
 +++ b/gdb/varobj.h
-@@ -112,6 +112,12 @@ extern void varobj_set_frozen (struct varobj *var, int frozen);
+@@ -78,6 +78,12 @@ typedef struct varobj_update_result_t
+      new value of varobj is already computed and installed, or has to
+      be yet installed.  Don't use this outside varobj.c */
+   int value_installed;  
++
++  /* This will be non-NULL when new children were added to the varobj.
++     It lists the new children (which must necessarily come at the end
++     of the child list) added during an update.  The caller is
++     responsible for freeing this vector.  */
++  VEC (varobj_p) *new;
+ } varobj_update_result;
+ 
+ DEF_VEC_O (varobj_update_result);
+@@ -112,13 +118,24 @@ extern void varobj_set_frozen (struct varobj *var, int frozen);
  
  extern int varobj_get_frozen (struct varobj *var);
  
-+extern void varobj_get_child_range (struct varobj *var,
-+				    VEC (varobj_p) *children,
-+				    int *from, int *to);
++extern void varobj_get_child_range (struct varobj *var, int *from, int *to);
 +
 +extern void varobj_set_child_range (struct varobj *var, int from, int to);
 +
  extern char *varobj_get_display_hint (struct varobj *var);
  
  extern int varobj_get_num_children (struct varobj *var);
-@@ -143,12 +149,13 @@ extern void all_root_varobjs (void (*func) (struct varobj *var, void *data),
+ 
+-/* Return the list of children of VAR.  The returned vector
+-   should not be modified in any way.  */
+-extern VEC (varobj_p)* varobj_list_children (struct varobj *var);
++/* Return the list of children of VAR.  The returned vector should not
++   be modified in any way.  FROM and TO are in/out parameters
++   indicating the range of children to return.  If either *FROM or *TO
++   is less than zero on entry, then all children will be returned.  On
++   return, *FROM and *TO will be updated to indicate the real range
++   that was returned.  The resulting VEC will contain at least the
++   children from *FROM to just before *TO; it might contain more
++   children, depending on whether any more were available.  */
++extern VEC (varobj_p)* varobj_list_children (struct varobj *var,
++					     int *from, int *to);
+ 
+ extern char *varobj_get_type (struct varobj *var);
+ 
+@@ -143,12 +160,15 @@ extern void all_root_varobjs (void (*func) (struct varobj *var, void *data),
  extern VEC(varobj_update_result) *varobj_update (struct varobj **varp, 
  						 int explicit);
  
@@ -25554,6 +26557,8 @@ index 7297243..aabd743 100644
 +varobj_set_visualizer (struct varobj *var, const char *visualizer);
 +
 +extern void varobj_enable_pretty_printing (void);
++
++extern int varobj_has_more (struct varobj *var, int to);
  
  #endif /* VAROBJ_H */
 diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c
@@ -25568,3 +26573,68 @@ index c56ab86..dacf913 100644
    xcoff_symfile_finish,		/* sym_finish: finished with file, cleanup */
    xcoff_symfile_offsets,	/* sym_offsets: xlate offsets ext->int form */
    default_symfile_segments,	/* sym_segments: Get segment information from
+diff --git a/include/coff/go32exe.h b/include/coff/go32exe.h
+index c85da0c..2248ff2 100644
+--- a/include/coff/go32exe.h
++++ b/include/coff/go32exe.h
+@@ -16,11 +16,9 @@
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
+ 
+-#define STUBSIZE 2048
+-
+ struct external_filehdr_go32_exe
+   {
+-    char stub[STUBSIZE];/* the stub to load the image	*/
++    char stub[GO32_STUBSIZE]; /* the stub to load the image */
+ 			/* the standard COFF header     */
+     char f_magic[2];	/* magic number			*/
+     char f_nscns[2];	/* number of sections		*/
+@@ -34,4 +32,4 @@ struct external_filehdr_go32_exe
+ #undef FILHDR
+ #define	FILHDR	struct external_filehdr_go32_exe
+ #undef FILHSZ
+-#define	FILHSZ	STUBSIZE+20
++#define	FILHSZ	GO32_STUBSIZE+20
+diff --git a/include/coff/internal.h b/include/coff/internal.h
+index c5d6cd1..36d03eb 100644
+--- a/include/coff/internal.h
++++ b/include/coff/internal.h
+@@ -58,10 +58,19 @@ struct internal_extra_pe_filehdr
+   bfd_vma  nt_signature;   	/* required NT signature, 0x4550 */ 
+ };
+ 
++#define GO32_STUBSIZE 2048
++
+ struct internal_filehdr
+ {
+   struct internal_extra_pe_filehdr pe;
+ 
++  /* coff-stgo32 EXE stub header before BFD tdata has been allocated.
++     Its data is kept in INTERNAL_FILEHDR.GO32STUB afterwards.
++     
++     F_GO32STUB is set iff go32stub contains a valid data.  Artifical headers
++     created in BFD have no pre-set go32stub.  */
++  char go32stub[GO32_STUBSIZE];
++
+   /* Standard coff internal info.  */
+   unsigned short f_magic;	/* magic number			*/
+   unsigned short f_nscns;	/* number of sections		*/
+@@ -84,7 +93,8 @@ struct internal_filehdr
+  	F_AR32W		file is 32-bit big-endian
+  	F_DYNLOAD	rs/6000 aix: dynamically loadable w/imports & exports
+  	F_SHROBJ	rs/6000 aix: file is a shared object
+-        F_DLL           PE format DLL.  */
++	F_DLL           PE format DLL
++	F_GO32STUB      Field go32stub contains valid data.  */
+ 
+ #define	F_RELFLG	(0x0001)
+ #define	F_EXEC		(0x0002)
+@@ -96,6 +106,7 @@ struct internal_filehdr
+ #define	F_DYNLOAD	(0x1000)
+ #define	F_SHROBJ	(0x2000)
+ #define F_DLL           (0x2000)
++#define F_GO32STUB      (0x4000)
+ 
+ /* Extra structure which is used in the optional header.  */
+ typedef struct _IMAGE_DATA_DIRECTORY 


Index: gdb.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb.spec,v
retrieving revision 1.369
retrieving revision 1.370
diff -u -p -r1.369 -r1.370
--- gdb.spec	4 Aug 2009 07:03:44 -0000	1.369
+++ gdb.spec	10 Aug 2009 13:22:51 -0000	1.370
@@ -10,7 +10,7 @@ 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: 6.8.50.20090803
+Version: 6.8.50.20090810
 
 # 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.
@@ -217,8 +217,8 @@ Patch229: gdb-6.3-bz140532-ppc-unwinding
 # Testcase for exec() from threaded program (BZ 202689).
 Patch231: gdb-6.3-bz202689-exec-from-pthread-test.patch
 
-# Backported post gdb-6.8.50.20090803 snapshot fixups.
-#Patch232: gdb-6.8.50.20090803-upstream.patch
+# Backported post gdb-6.8.50.20090810 snapshot fixups.
+#Patch232: gdb-6.8.50.20090810-upstream.patch
 
 # Testcase for PPC Power6/DFP instructions disassembly (BZ 230000).
 Patch234: gdb-6.6-bz230000-power6-disassembly-test.patch
@@ -825,6 +825,10 @@ fi
 %endif
 
 %changelog
+* Mon Aug 10 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090810-1
+- Upgrade to the FSF GDB gdb-6.8.50 snapshot: 6.8.50.20090810
+- archer-jankratochvil-fedora12 commit: 93ec16e6f5000dd64d433d86674e820ed0f35b72
+
 * Tue Aug  4 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090803-2
 - Drop the bundled libstdc++ python - it should be packaged on its own now.
 


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/sources,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -p -r1.32 -r1.33
--- sources	4 Aug 2009 05:37:29 -0000	1.32
+++ sources	10 Aug 2009 13:22:51 -0000	1.33
@@ -1 +1 @@
-f120526b72a3dfd29e9f06a562e34aa1  gdb-6.8.50.20090803.tar.bz2
+b4549498345849458464c8fe2503a37c  gdb-6.8.50.20090810.tar.bz2




More information about the fedora-extras-commits mailing list