rpms/gdb/devel gdb-6.3-pie-20050110.patch, 1.13, 1.14 gdb-6.8-inlining-addon.patch, 1.4, 1.5 gdb-archer.patch, 1.2, 1.3 gdb.spec, 1.326, 1.327

Jan Kratochvil jkratoch at fedoraproject.org
Sat Mar 7 00:33:01 UTC 2009


Author: jkratoch

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

Modified Files:
	gdb-6.3-pie-20050110.patch gdb-6.8-inlining-addon.patch 
	gdb-archer.patch gdb.spec 
Log Message:
* Sat Mar  7 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090302-3
- Archer update to the snapshot: 6cf16c0711e844094ab694b3d929f7bd30b49f61
- Fix crash on the inlined functions support.
- Fix crash from the PIE support, its varobj_refresh() was called only before
  varobj_invalidate() which is sufficient.
- Fix BuildRequires for the `--with testsuite' runs.
- Use the newly introduced `--with-pythondir' option.
- Remove libstdcxx [python] pretty printers (as included in libstdc++ rpm now).


gdb-6.3-pie-20050110.patch:

Index: gdb-6.3-pie-20050110.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.3-pie-20050110.patch,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- gdb-6.3-pie-20050110.patch	2 Mar 2009 00:11:34 -0000	1.13
+++ gdb-6.3-pie-20050110.patch	7 Mar 2009 00:32:30 -0000	1.14
@@ -26,10 +26,10 @@
 
 	Fix scan_dyntag() for binaries provided by valgrind (BZ 460319).
 
-Index: gdb-6.8.50.20090226/gdb/amd64-tdep.c
+Index: gdb-6.8.50.20090302/gdb/amd64-tdep.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/amd64-tdep.c	2009-02-28 07:31:48.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/amd64-tdep.c	2009-02-28 07:38:59.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/amd64-tdep.c	2009-03-07 00:30:09.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/amd64-tdep.c	2009-03-07 00:30:12.000000000 +0100
 @@ -36,6 +36,7 @@
  #include "regcache.h"
  #include "regset.h"
@@ -132,10 +132,10 @@
    return pc;
  }
  
-Index: gdb-6.8.50.20090226/gdb/auxv.c
+Index: gdb-6.8.50.20090302/gdb/auxv.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/auxv.c	2009-02-27 00:04:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/auxv.c	2009-02-28 07:40:35.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/auxv.c	2009-03-07 00:30:06.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/auxv.c	2009-03-07 00:30:12.000000000 +0100
 @@ -81,7 +81,7 @@ procfs_xfer_auxv (struct target_ops *ops
     Return 1 if an entry was read into *TYPEP and *VALP.  */
  static int
@@ -224,10 +224,10 @@
  	break;
      }
  
-Index: gdb-6.8.50.20090226/gdb/auxv.h
+Index: gdb-6.8.50.20090302/gdb/auxv.h
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/auxv.h	2009-01-03 06:57:50.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/auxv.h	2009-02-28 07:38:59.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/auxv.h	2009-01-03 06:57:50.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/auxv.h	2009-03-07 00:30:12.000000000 +0100
 @@ -36,14 +36,14 @@ struct target_ops;		/* Forward declarati
     Return 1 if an entry was read into *TYPEP and *VALP.  */
  extern int target_auxv_parse (struct target_ops *ops,
@@ -245,10 +245,10 @@
  
  /* 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.20090226/gdb/breakpoint.c
+Index: gdb-6.8.50.20090302/gdb/breakpoint.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/breakpoint.c	2009-02-28 07:38:47.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/breakpoint.c	2009-02-28 07:38:59.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/breakpoint.c	2009-03-07 00:30:10.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/breakpoint.c	2009-03-07 00:30:12.000000000 +0100
 @@ -3920,7 +3920,8 @@ describe_other_breakpoints (CORE_ADDR pc
  	      printf_filtered (" (thread %d)", b->thread);
  	    printf_filtered ("%s%s ",
@@ -321,10 +321,10 @@
  static void
  create_fork_vfork_event_catchpoint (int tempflag, char *cond_string,
                                      struct breakpoint_ops *ops)
-Index: gdb-6.8.50.20090226/gdb/breakpoint.h
+Index: gdb-6.8.50.20090302/gdb/breakpoint.h
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/breakpoint.h	2009-02-27 00:04:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/breakpoint.h	2009-02-28 07:38:59.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/breakpoint.h	2009-03-07 00:30:06.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/breakpoint.h	2009-03-07 00:30:12.000000000 +0100
 @@ -127,6 +127,7 @@ enum enable_state
  			   automatically enabled and reset when the call 
  			   "lands" (either completes, or stops at another 
@@ -344,11 +344,11 @@
  /* This function returns TRUE if ep is a catchpoint. */
  extern int ep_is_catchpoint (struct breakpoint *);
  
-Index: gdb-6.8.50.20090226/gdb/dwarf2read.c
+Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/dwarf2read.c	2009-02-28 07:38:48.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/dwarf2read.c	2009-02-28 07:38:59.000000000 +0100
-@@ -1421,7 +1421,7 @@ dwarf2_build_psymtabs (struct objfile *o
+--- gdb-6.8.50.20090302.orig/gdb/dwarf2read.c	2009-03-07 00:30:10.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/dwarf2read.c	2009-03-07 00:30:12.000000000 +0100
+@@ -1413,7 +1413,7 @@ dwarf2_build_psymtabs (struct objfile *o
    else
      dwarf2_per_objfile->loc_buffer = NULL;
  
@@ -357,10 +357,10 @@
        || (objfile->global_psymbols.size == 0
  	  && objfile->static_psymbols.size == 0))
      {
-Index: gdb-6.8.50.20090226/gdb/elfread.c
+Index: gdb-6.8.50.20090302/gdb/elfread.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/elfread.c	2009-02-27 00:04:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/elfread.c	2009-02-28 07:38:59.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/elfread.c	2009-03-07 00:30:06.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/elfread.c	2009-03-07 00:30:12.000000000 +0100
 @@ -680,7 +680,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
@@ -370,11 +370,11 @@
      {
        init_psymbol_list (objfile, 0);
        mainline = 0;
-Index: gdb-6.8.50.20090226/gdb/infrun.c
+Index: gdb-6.8.50.20090302/gdb/infrun.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/infrun.c	2009-02-28 07:37:54.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/infrun.c	2009-02-28 07:38:59.000000000 +0100
-@@ -3328,6 +3328,11 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (
+--- gdb-6.8.50.20090302.orig/gdb/infrun.c	2009-03-07 00:30:10.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/infrun.c	2009-03-07 00:30:12.000000000 +0100
+@@ -3354,6 +3354,11 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (
  #endif
  	  target_terminal_inferior ();
  
@@ -386,10 +386,10 @@
  	  /* 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.20090226/gdb/objfiles.c
+Index: gdb-6.8.50.20090302/gdb/objfiles.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/objfiles.c	2009-02-27 00:04:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/objfiles.c	2009-02-28 07:38:59.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/objfiles.c	2009-03-07 00:30:06.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/objfiles.c	2009-03-07 00:30:12.000000000 +0100
 @@ -51,6 +51,9 @@
  #include "arch-utils.h"
  #include "exec.h"
@@ -431,10 +431,10 @@
    /* 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.20090226/gdb/solib-svr4.c
+Index: gdb-6.8.50.20090302/gdb/solib-svr4.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/solib-svr4.c	2009-02-28 07:31:58.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/solib-svr4.c	2009-02-28 07:38:59.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/solib-svr4.c	2009-03-07 00:30:09.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/solib-svr4.c	2009-03-07 00:30:12.000000000 +0100
 @@ -45,6 +45,7 @@
  #include "exec.h"
  #include "auxv.h"
@@ -1116,10 +1116,10 @@
 +  add_info ("linkmap", info_linkmap_command,
 +	    "Display the inferior's linkmap.");
  }
-Index: gdb-6.8.50.20090226/gdb/solib.c
+Index: gdb-6.8.50.20090302/gdb/solib.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/solib.c	2009-02-21 17:14:49.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/solib.c	2009-02-28 07:38:59.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/solib.c	2009-02-21 17:14:49.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/solib.c	2009-03-07 00:30:12.000000000 +0100
 @@ -81,6 +81,8 @@ set_solib_ops (struct gdbarch *gdbarch, 
  
  /* external data declarations */
@@ -1306,10 +1306,10 @@
 +			   NULL, NULL,
 +			   &setdebuglist, &showdebuglist);
  }
-Index: gdb-6.8.50.20090226/gdb/solist.h
+Index: gdb-6.8.50.20090302/gdb/solist.h
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/solist.h	2009-02-04 09:42:11.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/solist.h	2009-02-28 07:38:59.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/solist.h	2009-02-04 09:42:11.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/solist.h	2009-03-07 00:30:12.000000000 +0100
 @@ -61,6 +61,8 @@ struct so_list
      bfd *abfd;
      char symbols_loaded;	/* flag: symbols read in yet? */
@@ -1330,10 +1330,10 @@
 +extern int debug_solib;
 +
  #endif
-Index: gdb-6.8.50.20090226/gdb/symfile-mem.c
+Index: gdb-6.8.50.20090302/gdb/symfile-mem.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/symfile-mem.c	2009-02-28 07:22:09.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/symfile-mem.c	2009-02-28 07:38:59.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/symfile-mem.c	2009-03-07 00:30:08.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/symfile-mem.c	2009-03-07 00:30:12.000000000 +0100
 @@ -116,7 +116,7 @@ symbol_file_add_from_memory (struct bfd 
        }
  
@@ -1343,10 +1343,10 @@
  
    /* This might change our ideas about frames already looked at.  */
    reinit_frame_cache ();
-Index: gdb-6.8.50.20090226/gdb/symfile.c
+Index: gdb-6.8.50.20090302/gdb/symfile.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/symfile.c	2009-02-28 07:31:58.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/symfile.c	2009-02-28 07:39:59.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/symfile.c	2009-03-07 00:30:09.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/symfile.c	2009-03-07 00:31:24.000000000 +0100
 @@ -47,6 +47,7 @@
  #include "readline/readline.h"
  #include "gdb_assert.h"
@@ -1426,95 +1426,10 @@
  	      /* 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.  */
-@@ -3644,6 +3655,7 @@ clear_symtab_users (void)
-   breakpoint_re_set ();
-   set_default_breakpoint (0, 0, 0, 0);
-   clear_pc_function_cache ();
-+  varobj_refresh ();
-   observer_notify_new_objfile (NULL);
- 
-   /* Clear globals which might have pointed into a removed objfile.
-Index: gdb-6.8.50.20090226/gdb/varobj.c
-===================================================================
---- gdb-6.8.50.20090226.orig/gdb/varobj.c	2009-02-27 00:04:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/varobj.c	2009-02-28 07:41:30.000000000 +0100
-@@ -1505,6 +1505,61 @@ varobj_set_visualizer (struct varobj *va
- #endif
- }
- 
-+void
-+varobj_refresh (void)
-+{
-+  struct varobj *var;
-+  struct varobj_root *croot;
-+  int mycount = rootcount;
-+  char * name;
-+
-+  croot = rootlist;
-+  while ((croot != NULL) && (mycount > 0))
-+    {
-+      var = croot->rootvar;
-+
-+      /* Get rid of the memory for the old expression.  This also
-+         leaves var->root->exp == NULL, which is ok for the parsing
-+         below.  */
-+      free_current_contents (&var->root->exp);
-+
-+      value_free (var->value);
-+      var->type = NULL;
-+
-+      name = xstrdup (var->name);
-+
-+      /* Reparse the expression.  Wrap the call to parse expression,
-+         so we can return a sensible error. */
-+      if (!gdb_parse_exp_1 (&name, var->root->valid_block, 0, &var->root->exp))
-+        {
-+          return;
-+        }
-+
-+      /* We definitively need to catch errors here.
-+         If evaluate_expression succeeds we got the value we wanted.
-+         But if it fails, we still go on with a call to evaluate_type()  */
-+      if (gdb_evaluate_expression (var->root->exp, &var->value))
-+        {
-+          /* no error */
-+          release_value (var->value);
-+          if (value_lazy (var->value))
-+            gdb_value_fetch_lazy (var->value);
-+        }
-+      else
-+        var->value = evaluate_type (var->root->exp);
-+
-+      var->type = value_type (var->value);
-+
-+      mycount--;
-+      croot = croot->next;
-+    }
-+
-+  if (mycount || (croot != NULL))
-+    warning
-+      ("varobj_refresh: assertion failed - wrong tally of root vars (%d:%d)",
-+       rootcount, mycount);
-+}
-+
- /* Update the values for a variable and its children.  This is a
-    two-pronged attack.  First, re-parse the value for the root's
-    expression to see if it's changed.  Then go all the way
-Index: gdb-6.8.50.20090226/gdb/varobj.h
-===================================================================
---- gdb-6.8.50.20090226.orig/gdb/varobj.h	2009-02-27 00:04:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/varobj.h	2009-02-28 07:39:19.000000000 +0100
-@@ -163,4 +163,6 @@ varobj_clear_type_visualizers ();
- extern void 
- varobj_set_visualizer (struct varobj *var, const char *visualizer);
- 
-+extern void varobj_refresh(void);
-+
- #endif /* VAROBJ_H */
-Index: gdb-6.8.50.20090226/gdb/target.h
+Index: gdb-6.8.50.20090302/gdb/target.h
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/target.h	2009-02-28 07:32:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/target.h	2009-02-28 07:38:59.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/target.h	2009-03-07 00:30:09.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/target.h	2009-03-07 00:30:12.000000000 +0100
 @@ -542,7 +542,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.  */

gdb-6.8-inlining-addon.patch:

Index: gdb-6.8-inlining-addon.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.8-inlining-addon.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- gdb-6.8-inlining-addon.patch	2 Mar 2009 00:11:35 -0000	1.4
+++ gdb-6.8-inlining-addon.patch	7 Mar 2009 00:32:30 -0000	1.5
@@ -5,10 +5,10 @@
 resume() -> target_resume() move of clear_inline_frame_state() is for:
 gdb.mi/mi-nsmoribund.exp
 
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-bt.c
+Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.opt/inline-bt.c	2009-02-28 07:34:09.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-bt.c	2009-02-28 07:37:54.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.opt/inline-bt.c	2009-03-06 19:07:30.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.c	2009-03-06 19:07:30.000000000 +0100
 @@ -13,10 +13,16 @@
     You should have received a copy of the GNU General Public License
     along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
@@ -28,10 +28,10 @@
  
  inline int func1(void)
  {
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-bt.exp
+Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.exp
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.opt/inline-bt.exp	2009-02-28 07:34:09.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-bt.exp	2009-02-28 07:37:54.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.opt/inline-bt.exp	2009-03-06 19:07:30.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.exp	2009-03-06 19:07:30.000000000 +0100
 @@ -41,18 +41,19 @@ if { [skip_inline_frame_tests] } {
      return
  }
@@ -60,10 +60,10 @@
  
  gdb_test "continue" ".*set breakpoint 1 here.*" "continue to bar (3)"
  gdb_test "backtrace" "#0  bar.*#1  .*func1.*#2  .*func2.*#3  .*main.*" \
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-cmds.c
+Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.opt/inline-cmds.c	2009-02-28 07:34:09.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-cmds.c	2009-02-28 07:37:54.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.opt/inline-cmds.c	2009-03-06 19:07:30.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.c	2009-03-06 19:07:30.000000000 +0100
 @@ -13,13 +13,19 @@
     You should have received a copy of the GNU General Public License
     along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
@@ -86,10 +86,10 @@
  inline int func1(void)
  {
    bar ();
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-cmds.exp
+Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.exp
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.opt/inline-cmds.exp	2009-02-28 07:34:09.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-cmds.exp	2009-02-28 07:37:54.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.opt/inline-cmds.exp	2009-03-06 19:07:30.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.exp	2009-03-06 19:07:30.000000000 +0100
 @@ -45,28 +45,28 @@ if { [skip_inline_frame_tests] } {
  
  # First, check that the things we expected to be inlined really were,
@@ -180,10 +180,10 @@
 +gdb_test "info frame" "inlined into frame.*" "outer_inline2 inlined"
 +gdb_test "fini" "" "up from outer_inline2"
 +gdb_test "info frame" " in main \[^\n\]*\n source language.*" "main not inlined"
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-locals.c
+Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.opt/inline-locals.c	2009-02-28 07:34:09.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-locals.c	2009-02-28 07:37:54.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.opt/inline-locals.c	2009-03-06 19:07:30.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.c	2009-03-06 19:07:30.000000000 +0100
 @@ -13,11 +13,16 @@
     You should have received a copy of the GNU General Public License
     along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
@@ -203,10 +203,10 @@
  
  inline int func1(int arg1)
  {
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-locals.exp
+Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.exp
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.opt/inline-locals.exp	2009-02-28 07:34:09.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-locals.exp	2009-02-28 07:37:54.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.opt/inline-locals.exp	2009-03-06 19:07:30.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.exp	2009-03-06 19:07:30.000000000 +0100
 @@ -43,8 +43,8 @@ if { [skip_inline_var_tests] } {
  
  set no_frames [skip_inline_frame_tests]
@@ -236,10 +236,10 @@
 +    setup_kfail *-*-* "gcc/debug.optimization"
 +}
  gdb_test "print array\[0\]" "\\\$$decimal = 184" "print local (3)"
-Index: gdb-6.8.50.20090226/gdb/frame.c
+Index: gdb-6.8.50.20090302/gdb/frame.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/frame.c	2009-02-28 07:34:09.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/frame.c	2009-02-28 07:37:54.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/frame.c	2009-03-06 19:07:30.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/frame.c	2009-03-06 19:07:30.000000000 +0100
 @@ -269,7 +269,7 @@ fprint_frame (struct ui_file *file, stru
  static struct frame_info *
  skip_inlined_frames (struct frame_info *frame)
@@ -276,10 +276,10 @@
  	{
  	  sal->symtab = SYMBOL_SYMTAB (sym);
  	  sal->line = SYMBOL_LINE (sym);
-Index: gdb-6.8.50.20090226/gdb/breakpoint.c
+Index: gdb-6.8.50.20090302/gdb/breakpoint.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/breakpoint.c	2009-02-28 07:34:09.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/breakpoint.c	2009-02-28 07:37:54.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/breakpoint.c	2009-03-06 19:07:30.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/breakpoint.c	2009-03-06 19:07:30.000000000 +0100
 @@ -57,6 +57,7 @@
  #include "top.h"
  #include "wrapper.h"
@@ -343,10 +343,10 @@
  
    b = set_raw_breakpoint (sal, type);
    b->enable_state = bp_enabled;
-Index: gdb-6.8.50.20090226/gdb/inline-frame.c
+Index: gdb-6.8.50.20090302/gdb/inline-frame.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/inline-frame.c	2009-02-28 07:34:09.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/inline-frame.c	2009-02-28 07:37:54.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/inline-frame.c	2009-03-06 19:07:30.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/inline-frame.c	2009-03-06 19:07:30.000000000 +0100
 @@ -183,6 +183,12 @@ inline_frame_sniffer (const struct frame
    if (frame_block == NULL)
      return 0;
@@ -423,10 +423,10 @@
  /* Return the number of hidden functions inlined into the current
     frame.  */
  
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-markers.c
+Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-markers.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.opt/inline-markers.c	2009-02-28 07:34:09.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-markers.c	2009-02-28 07:37:54.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.opt/inline-markers.c	2009-03-06 19:07:30.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-markers.c	2009-03-06 19:07:30.000000000 +0100
 @@ -15,11 +15,6 @@
  
  extern int x, y;
@@ -439,10 +439,10 @@
  void marker(void)
  {
    x += y; /* set breakpoint 2 here */
-Index: gdb-6.8.50.20090226/gdb/gdbthread.h
+Index: gdb-6.8.50.20090302/gdb/gdbthread.h
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/gdbthread.h	2009-02-28 07:34:09.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/gdbthread.h	2009-02-28 07:37:54.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/gdbthread.h	2009-03-06 19:07:30.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/gdbthread.h	2009-03-06 19:07:30.000000000 +0100
 @@ -180,6 +180,12 @@ struct thread_info
  
    /* Private data used by the target vector implementation.  */
@@ -456,10 +456,10 @@
  };
  
  /* Create an empty thread list, or empty the existing one.  */
-Index: gdb-6.8.50.20090226/gdb/infcmd.c
+Index: gdb-6.8.50.20090302/gdb/infcmd.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/infcmd.c	2009-02-28 07:34:09.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/infcmd.c	2009-02-28 07:37:54.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/infcmd.c	2009-03-06 19:07:30.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/infcmd.c	2009-03-06 19:07:30.000000000 +0100
 @@ -1391,11 +1391,11 @@ finish_command_continuation (void *arg)
        struct type *value_type;
  
@@ -600,10 +600,10 @@
  }
  
  
-Index: gdb-6.8.50.20090226/gdb/infrun.c
+Index: gdb-6.8.50.20090302/gdb/infrun.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/infrun.c	2009-02-28 07:37:36.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/infrun.c	2009-02-28 07:37:54.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/infrun.c	2009-03-06 19:07:30.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/infrun.c	2009-03-06 19:07:30.000000000 +0100
 @@ -1152,8 +1152,6 @@ a command like `return' or `jump' to con
  	    step = 0;
  	}
@@ -622,10 +622,10 @@
  }
  
  static int
-Index: gdb-6.8.50.20090226/gdb/target.c
+Index: gdb-6.8.50.20090302/gdb/target.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/target.c	2009-02-28 07:31:48.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/target.c	2009-02-28 07:38:36.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/target.c	2009-03-06 19:07:26.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/target.c	2009-03-06 19:07:30.000000000 +0100
 @@ -41,6 +41,7 @@
  #include "target-descriptions.h"
  #include "gdbthread.h"
@@ -642,10 +642,10 @@
    dcache_invalidate (target_dcache);
  
    for (t = current_target.beneath; t != NULL; t = t->beneath)
-Index: gdb-6.8.50.20090226/gdb/inline-frame.h
+Index: gdb-6.8.50.20090302/gdb/inline-frame.h
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/inline-frame.h	2009-02-28 07:34:09.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/inline-frame.h	2009-02-28 07:37:54.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/inline-frame.h	2009-03-06 19:07:30.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/inline-frame.h	2009-03-06 19:07:30.000000000 +0100
 @@ -43,6 +43,10 @@ void clear_inline_frame_state (ptid_t pt
  
  void step_into_inline_frame (ptid_t ptid);
@@ -657,10 +657,10 @@
  /* Return the number of hidden functions inlined into the current
     frame.  */
  
-Index: gdb-6.8.50.20090226/gdb/infcall.c
+Index: gdb-6.8.50.20090302/gdb/infcall.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/infcall.c	2009-02-28 07:34:09.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/infcall.c	2009-02-28 07:37:54.000000000 +0100
+--- gdb-6.8.50.20090302.orig/gdb/infcall.c	2009-03-06 19:07:30.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/infcall.c	2009-03-06 19:07:30.000000000 +0100
 @@ -898,8 +898,15 @@ The program being debugged exited while 
  
  	  if (unwind_on_signal_p)
@@ -679,3 +679,35 @@
  
  	      /* FIXME: Insert a bunch of wrap_here; name can be very
  		 long if it's a C++ name with arguments and stuff.  */
+Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
+===================================================================
+--- gdb-6.8.50.20090302.orig/gdb/dwarf2read.c	2009-03-06 19:07:30.000000000 +0100
++++ gdb-6.8.50.20090302/gdb/dwarf2read.c	2009-03-06 19:07:40.000000000 +0100
+@@ -3463,6 +3463,7 @@ read_func_scope (struct die_info *die, s
+   unsigned die_children = 0;
+   struct attribute *call_line, *call_file;
+   int inlined_func = (die->tag == DW_TAG_inlined_subroutine);
++  struct type *type;
+ 
+   if (inlined_func)
+     {
+@@ -3504,7 +3505,10 @@ read_func_scope (struct die_info *die, s
+   add_to_cu_func_list (name, lowpc, highpc, cu);
+ 
+   new = push_context (0, lowpc);
+-  new->name = new_symbol (die, read_type_die (die, cu), cu);
++  type = read_type_die (die, cu);
++  gdb_assert (type != NULL);
++  new->name = new_symbol (die, type, cu);
++  gdb_assert (TYPE_CODE (SYMBOL_TYPE (new->name)) == TYPE_CODE_FUNC);
+ 
+   /* If there is a location expression for DW_AT_frame_base, record
+      it.  */
+@@ -8746,6 +8750,7 @@ read_type_die (struct die_info *die, str
+       break;
+     case DW_TAG_subprogram:
+     case DW_TAG_subroutine_type:
++    case DW_TAG_inlined_subroutine:
+       this_type = read_subroutine_type (die, cu);
+       break;
+     case DW_TAG_array_type:

gdb-archer.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.2 -r 1.3 gdb-archer.patch
Index: gdb-archer.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-archer.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- gdb-archer.patch	2 Mar 2009 23:14:15 -0000	1.2
+++ gdb-archer.patch	7 Mar 2009 00:32:30 -0000	1.3
@@ -2,7 +2,7 @@
 http://sourceware.org/gdb/wiki/ArcherBranchManagement
 
 GIT snapshot:
-commit 8cc3753a9aad85bf53bef54c04334c60d16cb251
+commit 6cf16c0711e844094ab694b3d929f7bd30b49f61
 
 branch `archer' - the merge of branches:
 archer-jankratochvil-merge-expr
@@ -21,10 +21,10 @@
 
 
 diff --git a/gdb/Makefile.in b/gdb/Makefile.in
-index 74aa72e..fdb0582 100644
+index 74aa72e..c84a4ac 100644
 --- a/gdb/Makefile.in
 +++ b/gdb/Makefile.in
-@@ -167,11 +167,18 @@ INTL_CFLAGS = @INCINTL@
+@@ -167,11 +167,20 @@ INTL_CFLAGS = @INCINTL@
  
  # Where is the ICONV library?  This can be empty if libc has iconv.
  LIBICONV = @LIBICONV@
@@ -38,12 +38,14 @@
 +# Did the user give us a --with-gdb-datadir option?
 +GDB_DATADIR_PATH = @GDB_DATADIR_PATH@
 +
-+GDB_PYTHONDIR_PATH = @GDB_PYTHONDIR_PATH@
++# The argument to --with-pythondir.  If not given, this is
++# GDB_DATADIR_PATH/python.
++pythondir = @pythondir@
 +
  # Helper code from gnulib.
  LIBGNU = gnulib/libgnu.a
  INCGNU = -I$(srcdir)/gnulib -Ignulib
-@@ -270,12 +277,34 @@ SUBDIR_TUI_CFLAGS= \
+@@ -270,12 +279,34 @@ SUBDIR_TUI_CFLAGS= \
  #
  SUBDIR_PYTHON_OBS = \
  	python.o \
@@ -78,7 +80,7 @@
  	python/python-utils.c \
  	python/python-value.c
  SUBDIR_PYTHON_DEPS =
-@@ -390,7 +419,8 @@ INTERNAL_CFLAGS_BASE = \
+@@ -390,7 +421,8 @@ INTERNAL_CFLAGS_BASE = \
  	$(CFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) \
  	$(GDB_CFLAGS) $(OPCODES_CFLAGS) $(READLINE_CFLAGS) \
  	$(BFD_CFLAGS) $(INCLUDE_CFLAGS) $(LIBDECNUMBER_CFLAGS) \
@@ -88,7 +90,7 @@
  INTERNAL_WARN_CFLAGS = $(INTERNAL_CFLAGS_BASE) $(GDB_WARN_CFLAGS)
  INTERNAL_CFLAGS = $(INTERNAL_WARN_CFLAGS) $(GDB_WERROR_CFLAGS)
  
-@@ -402,7 +432,7 @@ LDFLAGS = @LDFLAGS@
+@@ -402,7 +434,7 @@ LDFLAGS = @LDFLAGS@
  # I think it's perfectly reasonable for a user to set -pg in CFLAGS
  # and have it work; that's why CFLAGS is here.
  # PROFILE_CFLAGS is _not_ included, however, because we use monstartup.
@@ -97,7 +99,7 @@
  
  # If your system is missing alloca(), or, more likely, it's there but
  # it doesn't work, then refer to libiberty.
-@@ -663,6 +693,7 @@ SFILES = ada-exp.y ada-lang.c ada-typeprint.c ada-valprint.c ada-tasks.c \
+@@ -663,6 +695,7 @@ SFILES = ada-exp.y ada-lang.c ada-typeprint.c ada-valprint.c ada-tasks.c \
  	valarith.c valops.c valprint.c value.c varobj.c vec.c \
  	wrapper.c \
  	xml-tdesc.c xml-support.c \
@@ -105,7 +107,7 @@
  	inferior.c
  
  LINTFILES = $(SFILES) $(YYFILES) $(CONFIG_SRCS) init.c
-@@ -733,7 +764,8 @@ config/sparc/nm-sol2.h config/nm-linux.h config/mips/nm-irix5.h	\
+@@ -733,7 +766,8 @@ config/sparc/nm-sol2.h config/nm-linux.h config/mips/nm-irix5.h	\
  config/rs6000/nm-rs6000.h top.h bsd-kvm.h gdb-stabs.h reggroups.h \
  annotate.h sim-regno.h dictionary.h dfp.h main.h frame-unwind.h	\
  remote-fileio.h i386-linux-tdep.h vax-tdep.h objc-lang.h \
@@ -115,7 +117,7 @@
  
  # Header files that already have srcdir in them, or which are in objdir.
  
-@@ -812,10 +844,16 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \
+@@ -812,10 +846,16 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \
  	trad-frame.o \
  	tramp-frame.o \
  	solib.o solib-null.o \
@@ -133,7 +135,7 @@
  TSOBS = inflow.o
  
  SUBDIRS = @subdirs@
-@@ -849,11 +887,38 @@ generated_files = config.h observer.h observer.inc ada-lex.c \
+@@ -849,11 +889,38 @@ generated_files = config.h observer.h observer.inc ada-lex.c \
  	$(COMPILE) $<
  	$(POSTCOMPILE)
  
@@ -173,7 +175,7 @@
  installcheck:
  
  # The check target can not use subdir_do, because subdir_do does not
-@@ -907,8 +972,11 @@ gdb.z:gdb.1
+@@ -907,8 +974,11 @@ gdb.z:gdb.1
  # source file and doesn't care about rebuilding or just wants to save the
  # time it takes for make to check that all is up to date.
  # install-only is intended to address that need.
@@ -187,7 +189,7 @@
  	transformed_name=`t='$(program_transform_name)'; \
  			  echo gdb | sed -e "$$t"` ; \
  		if test "x$$transformed_name" = x; then \
-@@ -1202,6 +1270,12 @@ stamp-h: config.in config.status
+@@ -1202,6 +1272,12 @@ stamp-h: config.in config.status
  	  CONFIG_LINKS= \
  	  $(SHELL) config.status
  
@@ -200,7 +202,7 @@
  config.status: configure configure.tgt configure.host
  	$(SHELL) config.status --recheck
  
-@@ -1845,10 +1919,54 @@ python.o: $(srcdir)/python/python.c
+@@ -1845,10 +1921,54 @@ python.o: $(srcdir)/python/python.c
  	$(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/python.c
  	$(POSTCOMPILE)
  
@@ -255,7 +257,7 @@
  python-utils.o: $(srcdir)/python/python-utils.c
  	$(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/python-utils.c
  	$(POSTCOMPILE)
-@@ -1857,6 +1975,39 @@ python-value.o: $(srcdir)/python/python-value.c
+@@ -1857,6 +1977,38 @@ python-value.o: $(srcdir)/python/python-value.c
  	$(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/python-value.c
  	$(POSTCOMPILE)
  
@@ -271,24 +273,23 @@
 +    gdb/__init__.py
 +
 +# Install the Python library.  Python library files go under
-+# $(GDB_PYTHONDIR_PATH)/python.
++# $(pythondir).
 +install-python:
 +	files='$(PY_FILES)'; for file in $$files; do \
 +	  dir=`echo "$$file" | sed 's,/[^/]*$$,,'`; \
-+	  $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_PYTHONDIR_PATH)/$$dir; \
-+	  $(INSTALL_DATA) $(srcdir)/python/lib/$$file $(DESTDIR)$(GDB_PYTHONDIR_PATH)/$$file; \
++	  $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(pythondir)/$$dir; \
++	  $(INSTALL_DATA) $(srcdir)/python/lib/$$file $(DESTDIR)$(pythondir)/$$file; \
 +	done
 +
-+# Other packages may have their files installed in $(GDB_PYTHONDIR_PATH).
++# Other packages may have their files installed in $(pythondir).
 +uninstall-python:
-+	rm -rf $(DESTDIR)/$(GDB_PYTHONDIR_PATH)/python
 +	files='$(PY_FILES)'; for file in $$files; do \
-+	  dir=`echo "$$file" | sed 's,/[^/]*$$,,'`; \
-+	  rm -f $(DESTDIR)$(GDB_PYTHONDIR_PATH)/$$file; \
-+	  while test "x$$file" != "x$$dir"; do \
-+	    rmdir 2>/dev/null "$(DESTDIR)$(GDB_PYTHONDIR_PATH)/$$dir"; \
-+	    file="$$dir"; \
-+	    dir=`echo "$$file" | sed 's,/[^/]*$$,,'`; \
++	  slashdir=`echo "/$$file" | sed 's,/[^/]*$$,,'`; \
++	  rm -f $(DESTDIR)$(pythondir)/$$file; \
++	  while test "x$$file" != "x$$slashdir"; do \
++	    rmdir 2>/dev/null "$(DESTDIR)$(pythondir)$$slashdir"; \
++	    file="$$slashdir"; \
++	    slashdir=`echo "$$file" | sed 's,/[^/]*$$,,'`; \
 +	  done \
 +	done
 +
@@ -7099,7 +7100,7 @@
    default_symfile_offsets,	/* sym_offsets:  xlate external to internal form */
    default_symfile_segments,	/* sym_segments: Get segment information from
 diff --git a/gdb/config.in b/gdb/config.in
-index 6aaf77a..1cfb12b 100644
+index 6aaf77a..0c8ccab 100644
 --- a/gdb/config.in
 +++ b/gdb/config.in
 @@ -42,6 +42,12 @@
@@ -7115,17 +7116,7 @@
  /* Define to be a string naming the default host character set. */
  #undef GDB_DEFAULT_HOST_CHARSET
  
-@@ -60,6 +66,9 @@
- /* Define to the default OS ABI for this configuration. */
- #undef GDB_OSABI_DEFAULT
- 
-+/* Base directory for GDB Python modules. */
-+#undef GDB_PYTHONDIR_PATH
-+
- /* Define to 1 if you have `alloca', as a function or macro. */
- #undef HAVE_ALLOCA
- 
-@@ -169,12 +178,18 @@
+@@ -169,12 +175,18 @@
  /* Define if you have the iconv() function. */
  #undef HAVE_ICONV
  
[...2376 lines suppressed...]
@@ -38716,7 +38833,7 @@
  
    /* If the type is changeable, compare the old and the new values.
       If this is the initial assignment, we don't have any old value
-@@ -1123,6 +1361,150 @@ install_new_value (struct varobj *var, struct value *value, int initial)
+@@ -1123,6 +1364,150 @@ install_new_value (struct varobj *var, struct value *value, int initial)
    return changed;
  }
  
@@ -38810,7 +38927,7 @@
 +  install_visualizer (var, pretty_printer);
 +  do_cleanups (cleanup);
 +#else
-+  error ("Python support required");
++  /* No error is right as this function is inserted just as a hook.  */
 +#endif
 +}
 +
@@ -38867,7 +38984,7 @@
  /* Update the values for a variable and its children.  This is a
     two-pronged attack.  First, re-parse the value for the root's
     expression to see if it's changed.  Then go all the way
-@@ -1148,7 +1530,7 @@ VEC(varobj_update_result) *varobj_update (struct varobj **varp, int explicit)
+@@ -1148,7 +1533,7 @@ VEC(varobj_update_result) *varobj_update (struct varobj **varp, int explicit)
    struct varobj **cv;
    struct varobj **templist = NULL;
    struct value *new;
@@ -38876,7 +38993,7 @@
    VEC (varobj_update_result) *result = NULL;
    struct frame_info *fi;
  
-@@ -1187,20 +1569,85 @@ VEC(varobj_update_result) *varobj_update (struct varobj **varp, int explicit)
+@@ -1187,20 +1572,85 @@ VEC(varobj_update_result) *varobj_update (struct varobj **varp, int explicit)
        
        if (new == NULL)
  	r.status = VAROBJ_NOT_IN_SCOPE;
@@ -38970,7 +39087,7 @@
  
        /* Push any children.  Use reverse order so that the first
  	 child is popped from the work stack first, and so
-@@ -1211,26 +1658,18 @@ VEC(varobj_update_result) *varobj_update (struct varobj **varp, int explicit)
+@@ -1211,26 +1661,18 @@ VEC(varobj_update_result) *varobj_update (struct varobj **varp, int explicit)
  	  varobj_p c = VEC_index (varobj_p, v->children, i);
  	  /* Child may be NULL if explicitly deleted by -var-delete.  */
  	  if (c != NULL && !c->frozen)
@@ -39004,7 +39121,7 @@
    return result;
  }
  
-@@ -1429,16 +1868,23 @@ uninstall_variable (struct varobj *var)
+@@ -1429,16 +1871,23 @@ uninstall_variable (struct varobj *var)
  static struct varobj *
  create_child (struct varobj *parent, int index, char *name)
  {
@@ -39031,7 +39148,7 @@
    child->parent = parent;
    child->root = parent->root;
    childs_name = xstrprintf ("%s.%s", parent->obj_name, name);
-@@ -1487,6 +1933,10 @@ new_variable (void)
+@@ -1487,6 +1936,10 @@ new_variable (void)
    var->print_value = NULL;
    var->frozen = 0;
    var->not_fetched = 0;
@@ -39042,7 +39159,7 @@
  
    return var;
  }
-@@ -1519,6 +1969,14 @@ free_variable (struct varobj *var)
+@@ -1519,6 +1972,14 @@ free_variable (struct varobj *var)
        xfree (var->root);
      }
  
@@ -39057,7 +39174,26 @@
    xfree (var->name);
    xfree (var->obj_name);
    xfree (var->print_value);
-@@ -1792,24 +2250,71 @@ my_value_of_variable (struct varobj *var, enum varobj_display_formats format)
+@@ -1538,6 +1999,18 @@ make_cleanup_free_variable (struct varobj *var)
+   return make_cleanup (do_free_variable_cleanup, var);
+ }
+ 
++static void
++do_uninstall_variable_cleanup (void *var)
++{
++  uninstall_variable (var);
++}
++
++static struct cleanup *
++make_cleanup_uninstall_variable (struct varobj *var)
++{
++  return make_cleanup (do_uninstall_variable_cleanup, var);
++}
++
+ /* This returns the type of the variable. It also skips past typedefs
+    to return the real type of the variable.
+ 
+@@ -1792,24 +2265,71 @@ my_value_of_variable (struct varobj *var, enum varobj_display_formats format)
      return NULL;
  }
  
@@ -39133,7 +39269,7 @@
    thevalue = ui_file_xstrdup (stb, &dummy);
  
    do_cleanups (old_chain);
-@@ -1900,7 +2405,7 @@ varobj_floating_p (struct varobj *var)
+@@ -1900,7 +2420,7 @@ varobj_floating_p (struct varobj *var)
     value is not known.  
  
     If WAS_PTR is not NULL, set *WAS_PTR to 0 or 1
@@ -39142,7 +39278,7 @@
     in this function.  */
  static void
  adjust_value_for_child_access (struct value **value,
-@@ -2269,6 +2774,11 @@ c_value_of_variable (struct varobj *var, enum varobj_display_formats format)
+@@ -2269,6 +2789,11 @@ c_value_of_variable (struct varobj *var, enum varobj_display_formats format)
       catch that case explicitly.  */
    struct type *type = get_type (var);
  
@@ -39154,7 +39290,7 @@
    /* Strip top-level references. */
    while (TYPE_CODE (type) == TYPE_CODE_REF)
      type = check_typedef (TYPE_TARGET_TYPE (type));
-@@ -2313,7 +2823,8 @@ c_value_of_variable (struct varobj *var, enum varobj_display_formats format)
+@@ -2313,7 +2838,8 @@ c_value_of_variable (struct varobj *var, enum varobj_display_formats format)
  	    if (format == var->format)
  	      return xstrdup (var->print_value);
  	    else
@@ -39721,3 +39857,72 @@
 +const char **xml_list_of_syscalls (const struct syscalls_info *sysinfo);
 +
 +#endif /* XML_SYSCALL_H */
+diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
+index c872db5..5e70395 100644
+--- a/opcodes/ppc-opc.c
++++ b/opcodes/ppc-opc.c
+@@ -4560,8 +4560,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
+ 
+ {"lhbrx",	X(31,790),	X_MASK,      COM,	PPCNONE,	{RT, RA0, RB}},
+ 
+-{"lfqx",	X(31,791),	X_MASK,      POWER2,	PPCNONE,	{FRT, RA, RB}},
+ {"lfdpx",	X(31,791),	X_MASK,      POWER6,	POWER7,		{FRT, RA, RB}},
++{"lfqx",	X(31,791),	X_MASK,      POWER2,	PPCNONE,	{FRT, RA, RB}},
+ 
+ {"sraw",	XRC(31,792,0),	X_MASK,      PPCCOM,	PPCNONE,	{RA, RS, RB}},
+ {"sra",		XRC(31,792,0),	X_MASK,      PWRCOM,	PPCNONE,	{RA, RS, RB}},
+@@ -4638,8 +4638,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
+ 
+ {"sthbrx",	X(31,918),	X_MASK,      COM,	PPCNONE,	{RS, RA0, RB}},
+ 
+-{"stfqx",	X(31,919),	X_MASK,      POWER2,	PPCNONE,	{FRS, RA, RB}},
+ {"stfdpx",	X(31,919),	X_MASK,      POWER6,	PPCNONE,	{FRS, RA, RB}},
++{"stfqx",	X(31,919),	X_MASK,      POWER2,	PPCNONE,	{FRS, RA, RB}},
+ 
+ {"sraq",	XRC(31,920,0),	X_MASK,      M601,	PPCNONE,	{RA, RS, RB}},
+ {"sraq.",	XRC(31,920,1),	X_MASK,      M601,	PPCNONE,	{RA, RS, RB}},
+@@ -4801,12 +4801,12 @@ const struct powerpc_opcode powerpc_opcodes[] = {
+ 
+ {"psq_l",	OP(56),		OP_MASK,     PPCPS,	PPCNONE,	{FRT,PSD,RA,PSW,PSQ}},
+ 
++{"lfdp",	OP(57),		OP_MASK,     POWER6,	POWER7,		{FRT, D, RA0}},
++
+ {"lfqu",	OP(57),		OP_MASK,     POWER2,	PPCNONE,	{FRT, D, RA0}},
+ 
+ {"psq_lu",	OP(57),		OP_MASK,     PPCPS,	PPCNONE,	{FRT,PSD,RA,PSW,PSQ}},
+ 
+-{"lfdp",	OP(57),		OP_MASK,     POWER6,	POWER7,		{FRT, D, RA0}},
+-
+ {"ld",		DSO(58,0),	DS_MASK,     PPC64,	PPCNONE,	{RT, DS, RA0}},
+ {"ldu",		DSO(58,1),	DS_MASK,     PPC64,	PPCNONE,	{RT, DS, RAL}},
+ {"lwa",		DSO(58,2),	DS_MASK,     PPC64,	PPCNONE,	{RT, DS, RA0}},
+@@ -4921,10 +4921,6 @@ const struct powerpc_opcode powerpc_opcodes[] = {
+ {"fcfidus",	XRC(59,974,0),	XRA_MASK,    POWER7,	PPCNONE,	{FRT, FRB}},
+ {"fcfidus.",	XRC(59,974,1),	XRA_MASK,    POWER7,	PPCNONE,	{FRT, FRB}},
+ 
+-{"stfq",	OP(60),		OP_MASK,     POWER2,	PPCNONE,	{FRS, D, RA}},
+-
+-{"psq_st",	OP(60),		OP_MASK,     PPCPS,	PPCNONE,	{FRS,PSD,RA,PSW,PSQ}},
+-
+ {"xxsldwi",	XX3(60,2),	XX3SHW_MASK, PPCVSX,	PPCNONE,	{XT6, XA6, XB6, SHW}},
+ {"xxsel",	XX4(60,3),	XX4_MASK,    PPCVSX,	PPCNONE,	{XT6, XA6, XB6, XC6}},
+ {"xxspltd",	XX3(60,10),	XX3DM_MASK,  PPCVSX,	PPCNONE,	{XT6, XA6, XB6S, DMEX}},
+@@ -5067,12 +5063,16 @@ const struct powerpc_opcode powerpc_opcodes[] = {
+ {"xvcvsxddp",	XX2(60,504),	XX2_MASK,    PPCVSX,	PPCNONE,	{XT6, XB6}},
+ {"xvnegdp",	XX2(60,505),	XX2_MASK,    PPCVSX,	PPCNONE,	{XT6, XB6}},
+ 
+-{"psq_stu",	OP(61),		OP_MASK,     PPCPS,	PPCNONE,	{FRS,PSD,RA,PSW,PSQ}},
++{"stfq",	OP(60),		OP_MASK,     POWER2,	PPCNONE,	{FRS, D, RA}},
+ 
+-{"stfqu",	OP(61),		OP_MASK,     POWER2,	PPCNONE,	{FRS, D, RA}},
++{"psq_st",	OP(60),		OP_MASK,     PPCPS,	PPCNONE,	{FRS,PSD,RA,PSW,PSQ}},
+ 
+ {"stfdp",	OP(61),		OP_MASK,     POWER6,	PPCNONE,	{FRT, D, RA0}},
+ 
++{"stfqu",	OP(61),		OP_MASK,     POWER2,	PPCNONE,	{FRS, D, RA}},
++
++{"psq_stu",	OP(61),		OP_MASK,     PPCPS,	PPCNONE,	{FRS,PSD,RA,PSW,PSQ}},
++
+ {"std",		DSO(62,0),	DS_MASK,     PPC64,	PPCNONE,	{RS, DS, RA0}},
+ {"stdu",	DSO(62,1),	DS_MASK,     PPC64,	PPCNONE,	{RS, DS, RAS}},
+ {"stq",		DSO(62,2),	DS_MASK,     POWER4,	PPCNONE,	{RSQ, DS, RA0}},


Index: gdb.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb.spec,v
retrieving revision 1.326
retrieving revision 1.327
diff -u -r1.326 -r1.327
--- gdb.spec	6 Mar 2009 22:49:37 -0000	1.326
+++ gdb.spec	7 Mar 2009 00:32:30 -0000	1.327
@@ -13,7 +13,7 @@
 
 # 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: 2%{?_with_upstream:.upstream}%{?dist}
+Release: 3%{?_with_upstream:.upstream}%{?dist}
 
 License: GPLv3+
 Group: Development/Debuggers
@@ -386,21 +386,23 @@
 %if 0%{?_with_testsuite:1}
 BuildRequires: sharutils dejagnu
 # gcc-objc++ is not covered by the GDB testsuite.
-BuildRequires: gcc gcc-c++ gcc-gfortran gcc-java gcc-objc fpc
+BuildRequires: gcc gcc-c++ gcc-gfortran gcc-java gcc-objc fpc glibc-static
 # Ensure the devel libraries are installed for both multilib arches.
 %define multilib_64_archs sparc64 ppc64 s390x x86_64
 # Copied from gcc-4.1.2-32
 %ifarch %{ix86} x86_64 ia64 ppc alpha
 BuildRequires: gcc-gnat
 %ifarch %{multilib_64_archs} ppc
-BuildRequires: %{_exec_prefix}/lib64/libgnat-4.3.so %{_exec_prefix}/lib/libgnat-4.3.so
+BuildRequires: %{_exec_prefix}/lib64/libgnat-4.4.so %{_exec_prefix}/lib/libgnat-4.4.so
 %endif
 %endif
 %ifarch %{multilib_64_archs} sparc sparcv9 ppc
 BuildRequires: /lib/libc.so.6 %{_exec_prefix}/lib/libc.so /lib64/libc.so.6 %{_exec_prefix}/lib64/libc.so
 BuildRequires: /lib/libgcc_s.so.1 /lib64/libgcc_s.so.1
 BuildRequires: %{_exec_prefix}/lib/libstdc++.so.6 %{_exec_prefix}/lib64/libstdc++.so.6
-BuildRequires: %{_exec_prefix}/lib64/libgcj.so.9 %{_exec_prefix}/lib/libgcj.so.9
+BuildRequires: %{_exec_prefix}/lib64/libgcj.so.10 %{_exec_prefix}/lib/libgcj.so.10
+# multilib glibc-static is open Bug 488472:
+#BuildRequires: %{_exec_prefix}/lib64/libc.a %{_exec_prefix}/lib/libc.a
 # for gcc-java:
 BuildRequires: %{_exec_prefix}/lib64/libz.so %{_exec_prefix}/lib/libz.so
 %endif
@@ -612,7 +614,8 @@
 	--sysconfdir=%{_sysconfdir}			\
 	--mandir=%{_mandir}				\
 	--infodir=%{_infodir}				\
-	--with-gdb-datadir=%{_datadir}/%{name}		\
+	--with-gdb-datadir=%{_datadir}/gdb		\
+	--with-pythondir=%{python_sitelib}		\
 	--enable-gdb-build-warnings=,-Wno-unused	\
 %ifnarch %{ix86} alpha ia64 ppc s390 s390x x86_64 ppc64 sparcv9 sparc64
 	--disable-werror				\
@@ -755,6 +758,9 @@
 cmp $RPM_BUILD_ROOT%{_mandir}/*/gdb.1 $RPM_BUILD_ROOT%{_mandir}/*/gdbtui.1
 ln -sf gdb.1 $RPM_BUILD_ROOT%{_mandir}/*/gdbtui.1
 
+# A part of the libstdc++ rpm.
+rm -rf $RPM_BUILD_ROOT%{python_sitelib}/gdb/libstdcxx
+
 # Remove the files that are part of a gdb build but that are owned and
 # provided by other packages.
 # These are part of binutils
@@ -830,11 +836,21 @@
 %endif
 
 %changelog
+* Sat Mar  7 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090302-3
+- Archer update to the snapshot: 6cf16c0711e844094ab694b3d929f7bd30b49f61
+- Fix crash on the inlined functions support.
+- Fix crash from the PIE support, its varobj_refresh() was called only before
+  varobj_invalidate() which is sufficient.
+- Fix BuildRequires for the `--with testsuite' runs.
+- Use the newly introduced `--with-pythondir' option.
+- Remove libstdcxx [python] pretty printers (as included in libstdc++ rpm now).
+
 * Fri Mar 06 2009 Jesse Keating <jkeating at redhat.com> - 6.8.50.20090302-2
 - Rebuild for new rpm libs
 
 * Mon Mar  2 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090302-1
 - Include the Archer Project: http://sourceware.org/gdb/wiki/ProjectArcher
+  snapshot: 8cc3753a9aad85bf53bef54c04334c60d16cb251
   * [python] Python scripting support: http://sourceware.org/gdb/wiki/PythonGdb
   * [catch-syscall] Trap and display syscalls.
   * [delayed-symfile] Improve startup performance by lazily read psymtabs.




More information about the fedora-extras-commits mailing list