rpms/gdb/devel .cvsignore, 1.46, 1.47 gdb-6.3-test-pie-20050107.patch, 1.12, 1.13 gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch, 1.11, 1.12 gdb-6.6-buildid-locate-core-as-arg.patch, 1.1, 1.2 gdb-archer-pie-addons.patch, 1.3, 1.4 gdb-archer.patch, 1.37, 1.38 gdb-fortran-common.patch, 1.1, 1.2 gdb.spec, 1.403, 1.404 sources, 1.45, 1.46 gdb-bz539590-gnu-ifunc.patch, 1.3, NONE gdb-gdbserver-tracepoint-revert.patch, 1.1, NONE gdb-solib-display.patch, 1.1, NONE gdb-upstream.patch, 1.1, NONE

Jan Kratochvil jkratoch at fedoraproject.org
Thu Jan 28 22:26:15 UTC 2010


Author: jkratoch

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

Modified Files:
	.cvsignore gdb-6.3-test-pie-20050107.patch 
	gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch 
	gdb-6.6-buildid-locate-core-as-arg.patch 
	gdb-archer-pie-addons.patch gdb-archer.patch 
	gdb-fortran-common.patch gdb.spec sources 
Removed Files:
	gdb-bz539590-gnu-ifunc.patch 
	gdb-gdbserver-tracepoint-revert.patch gdb-solib-display.patch 
	gdb-upstream.patch 
Log Message:
* Thu Jan 28 2010 Jan Kratochvil <jan.kratochvil at redhat.com> - 7.0.50.20100128-10.fc13
- Upgrade to the FSF GDB snapshot: 7.0.50.20100128
- archer-jankratochvil-fedora13 commit: 39c5a8b75fad3acd7204903db5dee025055a4594
  - Fix a regression on "AAA::ALPHA" test due to a merge from FSF GDB.
- Fix a regression of previous release due to false identification as core file.
- Move ifunc .patch into the GIT-managed archer-jankratochvil-fedora13 branch.
- Update gdb.pie/corefile.exp from 2007-01-26 FSF GDB commit by Andreas Schwab.



Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/.cvsignore,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -p -r1.46 -r1.47
--- .cvsignore	21 Jan 2010 16:09:09 -0000	1.46
+++ .cvsignore	28 Jan 2010 22:26:13 -0000	1.47
@@ -1,2 +1,2 @@
-gdb-7.0.50.20100121.tar.bz2
+gdb-7.0.50.20100128.tar.bz2
 libstdc++-v3-python-r155978.tar.bz2

gdb-6.3-test-pie-20050107.patch:
 configure            |    3 
 configure.ac         |    2 
 gdb.pie/Makefile.in  |   19 
 gdb.pie/attach.c     |   20 +
 gdb.pie/attach.exp   |  433 ++++++++++++++++++++++
 gdb.pie/attach2.c    |   24 +
 gdb.pie/break.c      |  146 +++++++
 gdb.pie/break.exp    |  977 +++++++++++++++++++++++++++++++++++++++++++++++++++
 gdb.pie/break1.c     |   44 ++
 gdb.pie/corefile.exp |  243 ++++++++++++
 gdb.pie/coremaker.c  |  142 +++++++
 11 files changed, 2051 insertions(+), 2 deletions(-)

Index: gdb-6.3-test-pie-20050107.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.3-test-pie-20050107.patch,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -p -r1.12 -r1.13
--- gdb-6.3-test-pie-20050107.patch	12 Jan 2010 22:15:54 -0000	1.12
+++ gdb-6.3-test-pie-20050107.patch	28 Jan 2010 22:26:13 -0000	1.13
@@ -2097,7 +2097,7 @@ Index: gdb-6.8.50.20090909/gdb/testsuite
 +# test reinit_frame_cache
 +
 +gdb_load ${binfile}
-+gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(\\).*" "up in corefile.exp (reinit)"
++gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(.*\\).*" "up in corefile.exp (reinit)"
 +
 +gdb_test "core" "No core file now."
 Index: gdb-6.8.50.20090909/gdb/testsuite/gdb.pie/Makefile.in

gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch:
 gdbtypes.c                         |    3 +
 gdbtypes.h                         |    2 +
 parse.c                            |    6 ++-
 target.c                           |   42 ++++++++++++++++++++++-
 testsuite/gdb.dwarf2/dw2-errno.c   |   28 +++++++++++++++
 testsuite/gdb.dwarf2/dw2-errno.exp |   67 +++++++++++++++++++++++++++++++++++++
 6 files changed, 146 insertions(+), 2 deletions(-)

Index: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -p -r1.11 -r1.12
--- gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch	4 Aug 2009 05:37:28 -0000	1.11
+++ gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch	28 Jan 2010 22:26:13 -0000	1.12
@@ -30,11 +30,11 @@ glibc-debuginfo-2.7-2.x86_64: /usr/lib/d
   <81a2>     DW_AT_name        : (indirect string, offset: 0x280e): __errno_location
   <81a8>     DW_AT_MIPS_linkage_name: (indirect string, offset: 0x2808): *__GI___errno_location
 
-Index: gdb-6.8.50.20090802/gdb/gdbtypes.c
+Index: gdb-7.0.50.20100128/gdb/gdbtypes.c
 ===================================================================
---- gdb-6.8.50.20090802.orig/gdb/gdbtypes.c	2009-08-03 09:50:57.000000000 +0200
-+++ gdb-6.8.50.20090802/gdb/gdbtypes.c	2009-08-03 15:42:51.000000000 +0200
-@@ -3769,6 +3769,9 @@ gdbtypes_post_init (struct gdbarch *gdba
+--- gdb-7.0.50.20100128.orig/gdb/gdbtypes.c	2010-01-28 12:52:17.000000000 +0100
++++ gdb-7.0.50.20100128/gdb/gdbtypes.c	2010-01-28 12:52:48.000000000 +0100
+@@ -3978,6 +3978,9 @@ gdbtypes_post_init (struct gdbarch *gdba
      = arch_type (gdbarch, TYPE_CODE_INTERNAL_FUNCTION, 0,
  		 "<internal function>");
  
@@ -44,11 +44,11 @@ Index: gdb-6.8.50.20090802/gdb/gdbtypes.
    return builtin_type;
  }
  
-Index: gdb-6.8.50.20090802/gdb/gdbtypes.h
+Index: gdb-7.0.50.20100128/gdb/gdbtypes.h
 ===================================================================
---- gdb-6.8.50.20090802.orig/gdb/gdbtypes.h	2009-08-03 09:50:57.000000000 +0200
-+++ gdb-6.8.50.20090802/gdb/gdbtypes.h	2009-08-03 15:40:02.000000000 +0200
-@@ -1128,6 +1128,8 @@ struct builtin_type
+--- gdb-7.0.50.20100128.orig/gdb/gdbtypes.h	2010-01-28 12:52:17.000000000 +0100
++++ gdb-7.0.50.20100128/gdb/gdbtypes.h	2010-01-28 12:52:48.000000000 +0100
+@@ -1245,6 +1245,8 @@ struct builtin_type
  
    /* This type is used to represent a GDB internal function.  */
    struct type *internal_fn;
@@ -57,11 +57,11 @@ Index: gdb-6.8.50.20090802/gdb/gdbtypes.
  };
  
  /* Return the type table for the specified architecture.  */
-Index: gdb-6.8.50.20090802/gdb/parse.c
+Index: gdb-7.0.50.20100128/gdb/parse.c
 ===================================================================
---- gdb-6.8.50.20090802.orig/gdb/parse.c	2009-08-03 09:50:57.000000000 +0200
-+++ gdb-6.8.50.20090802/gdb/parse.c	2009-08-03 15:41:54.000000000 +0200
-@@ -510,7 +510,11 @@ write_exp_msymbol (struct minimal_symbol
+--- gdb-7.0.50.20100128.orig/gdb/parse.c	2010-01-28 12:52:19.000000000 +0100
++++ gdb-7.0.50.20100128/gdb/parse.c	2010-01-28 12:53:20.000000000 +0100
+@@ -509,7 +509,11 @@ write_exp_msymbol (struct minimal_symbol
      case mst_text:
      case mst_file_text:
      case mst_solib_trampoline:
@@ -73,12 +73,12 @@ Index: gdb-6.8.50.20090802/gdb/parse.c
 +	write_exp_elt_type (objfile_type (objfile)->nodebug_text_symbol);
        break;
  
-     case mst_data:
-Index: gdb-6.8.50.20090802/gdb/target.c
+     case mst_text_gnu_ifunc:
+Index: gdb-7.0.50.20100128/gdb/target.c
 ===================================================================
---- gdb-6.8.50.20090802.orig/gdb/target.c	2009-08-03 12:38:47.000000000 +0200
-+++ gdb-6.8.50.20090802/gdb/target.c	2009-08-03 12:49:33.000000000 +0200
-@@ -933,6 +933,25 @@ pop_all_targets (int quitting)
+--- gdb-7.0.50.20100128.orig/gdb/target.c	2010-01-28 12:52:29.000000000 +0100
++++ gdb-7.0.50.20100128/gdb/target.c	2010-01-28 12:52:48.000000000 +0100
+@@ -1000,6 +1000,25 @@ pop_all_targets (int quitting)
    pop_all_targets_above (dummy_stratum, quitting);
  }
  
@@ -104,7 +104,7 @@ Index: gdb-6.8.50.20090802/gdb/target.c
  /* Using the objfile specified in OBJFILE, find the address for the
     current thread's thread-local storage with offset OFFSET.  */
  CORE_ADDR
-@@ -1023,7 +1042,28 @@ target_translate_tls_address (struct obj
+@@ -1090,7 +1109,28 @@ target_translate_tls_address (struct obj
    /* It wouldn't be wrong here to try a gdbarch method, too; finding
       TLS is an ABI-specific thing.  But we don't do that yet.  */
    else
@@ -134,10 +134,10 @@ Index: gdb-6.8.50.20090802/gdb/target.c
  
    return addr;
  }
-Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.dwarf2/dw2-errno.c
+Index: gdb-7.0.50.20100128/gdb/testsuite/gdb.dwarf2/dw2-errno.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090802/gdb/testsuite/gdb.dwarf2/dw2-errno.c	2009-08-03 12:49:33.000000000 +0200
++++ gdb-7.0.50.20100128/gdb/testsuite/gdb.dwarf2/dw2-errno.c	2010-01-28 12:52:48.000000000 +0100
 @@ -0,0 +1,28 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -167,10 +167,10 @@ Index: gdb-6.8.50.20090802/gdb/testsuite
 +
 +  return 0;	/* breakpoint */
 +}
-Index: gdb-6.8.50.20090802/gdb/testsuite/gdb.dwarf2/dw2-errno.exp
+Index: gdb-7.0.50.20100128/gdb/testsuite/gdb.dwarf2/dw2-errno.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090802/gdb/testsuite/gdb.dwarf2/dw2-errno.exp	2009-08-03 12:49:33.000000000 +0200
++++ gdb-7.0.50.20100128/gdb/testsuite/gdb.dwarf2/dw2-errno.exp	2010-01-28 12:52:48.000000000 +0100
 @@ -0,0 +1,67 @@
 +# Copyright 2007 Free Software Foundation, Inc.
 +

gdb-6.6-buildid-locate-core-as-arg.patch:
 exceptions.h |    3 +++
 exec.c       |   12 ++++++++++++
 main.c       |   53 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 3 files changed, 65 insertions(+), 3 deletions(-)

Index: gdb-6.6-buildid-locate-core-as-arg.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.6-buildid-locate-core-as-arg.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- gdb-6.6-buildid-locate-core-as-arg.patch	25 Jan 2010 17:13:15 -0000	1.1
+++ gdb-6.6-buildid-locate-core-as-arg.patch	28 Jan 2010 22:26:13 -0000	1.2
@@ -58,8 +58,10 @@ Http://sourceware.org/ml/gdb-patches/201
 	* exec.c (exec_file_attach): Print a more useful error message if the
 	user did "gdb core".
 
---- a/gdb/exceptions.h
-+++ b/gdb/exceptions.h
+Index: gdb-7.0.50.20100128/gdb/exceptions.h
+===================================================================
+--- gdb-7.0.50.20100128.orig/gdb/exceptions.h	2010-01-18 07:25:22.000000000 +0100
++++ gdb-7.0.50.20100128/gdb/exceptions.h	2010-01-28 22:49:00.000000000 +0100
 @@ -78,6 +78,9 @@ enum errors {
    /* Feature is not supported in this copy of GDB.  */
    UNSUPPORTED_ERROR,
@@ -70,39 +72,41 @@ Http://sourceware.org/ml/gdb-patches/201
    /* Add more errors here.  */
    NR_ERRORS
  };
---- a/gdb/exec.c
-+++ b/gdb/exec.c
+Index: gdb-7.0.50.20100128/gdb/exec.c
+===================================================================
+--- gdb-7.0.50.20100128.orig/gdb/exec.c	2010-01-28 22:48:59.000000000 +0100
++++ gdb-7.0.50.20100128/gdb/exec.c	2010-01-28 22:58:45.000000000 +0100
 @@ -34,6 +34,7 @@
- #include "arch-utils.h"
  #include "gdbthread.h"
  #include "progspace.h"
+ #include "solib.h"
 +#include "exceptions.h"
  
  #include <fcntl.h>
  #include "readline/readline.h"
-@@ -253,6 +254,19 @@ exec_file_attach (char *filename, int from_tty)
-       scratch_pathname = xstrdup (scratch_pathname);
-       cleanups = make_cleanup (xfree, scratch_pathname);
- 
-+      /* If the user accidentally did "gdb core", print a useful
-+	 error message.  */
-+      if (bfd_check_format (exec_bfd, bfd_core))
-+       {
-+	 /* Make sure to close exec_bfd, or else "run" might try to use
-+	    it.  */
-+	 exec_close ();
-+	 throw_error (IS_CORE_ERROR,
-+		      _("\"%s\" is a core file.\n"
-+			"Please specify an executable to debug."),
-+		      scratch_pathname);
-+       }
-+
-       if (!bfd_check_format (exec_bfd, bfd_object))
- 	{
+@@ -258,6 +259,17 @@ exec_file_attach (char *filename, int fr
  	  /* Make sure to close exec_bfd, or else "run" might try to use
---- a/gdb/main.c
-+++ b/gdb/main.c
-@@ -240,6 +240,36 @@ captured_command_loop (void *data)
+ 	     it.  */
+ 	  exec_close ();
++
++	  /* If the user accidentally did "gdb core", print a useful
++	     error message.  Check it only after bfd_object has been checked as
++	     a valid executable may get recognized for example also as
++	     "trad-core".  */
++	  if (bfd_check_format (exec_bfd, bfd_core))
++	    throw_error (IS_CORE_ERROR,
++			 _("\"%s\" is a core file.\n"
++			   "Please specify an executable to debug."),
++			 scratch_pathname);
++
+ 	  error (_("\"%s\": not in executable format: %s"),
+ 		 scratch_pathname, bfd_errmsg (bfd_get_error ()));
+ 	}
+Index: gdb-7.0.50.20100128/gdb/main.c
+===================================================================
+--- gdb-7.0.50.20100128.orig/gdb/main.c	2010-01-28 22:48:59.000000000 +0100
++++ gdb-7.0.50.20100128/gdb/main.c	2010-01-28 22:49:00.000000000 +0100
+@@ -241,6 +241,36 @@ captured_command_loop (void *data)
    return 1;
  }
  
@@ -139,7 +143,7 @@ Http://sourceware.org/ml/gdb-patches/201
  static int
  captured_main (void *data)
  {
-@@ -668,6 +698,8 @@ extern int gdbtk_test (char *);
+@@ -703,6 +733,8 @@ extern int gdbtk_test (char *);
  	{
  	  symarg = argv[optind];
  	  execarg = argv[optind];
@@ -148,7 +152,7 @@ Http://sourceware.org/ml/gdb-patches/201
  	  optind++;
  	}
  
-@@ -800,10 +831,25 @@ Excess command line arguments ignored. (%s%s)\n"),
+@@ -835,10 +867,25 @@ Excess command line arguments ignored. (
        && symarg != NULL
        && strcmp (execarg, symarg) == 0)
      {

gdb-archer-pie-addons.patch:
 dwarf2read.c |   17 +++++++++++++----
 exec.c       |   20 ++++++++++++++++++--
 gdbtypes.h   |    5 +++++
 jv-lang.c    |    6 ++++--
 solib-svr4.c |    8 ++++++--
 solib.c      |   13 +++++++++++++
 solib.h      |    2 ++
 solist.h     |    3 +++
 symfile.c    |   35 ++++++++++++++++++++++++++++-------
 value.c      |    6 ++++--
 10 files changed, 96 insertions(+), 19 deletions(-)

Index: gdb-archer-pie-addons.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-archer-pie-addons.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- gdb-archer-pie-addons.patch	25 Jan 2010 17:13:15 -0000	1.3
+++ gdb-archer-pie-addons.patch	28 Jan 2010 22:26:13 -0000	1.4
@@ -56,9 +56,9 @@ Index: gdb-7.0.50.20100115/gdb/exec.c
 --- gdb-7.0.50.20100115.orig/gdb/exec.c	2010-01-15 21:35:14.000000000 +0100
 +++ gdb-7.0.50.20100115/gdb/exec.c	2010-01-15 21:47:19.000000000 +0100
 @@ -35,6 +35,7 @@
+ #include "arch-utils.h"
  #include "gdbthread.h"
  #include "progspace.h"
- #include "exceptions.h"
 +#include "solib.h"
  
  #include <fcntl.h>

gdb-archer.patch:
 Makefile.in                                              |   93 
 ada-lang.c                                               |   41 
 alpha-linux-tdep.c                                       |    4 
 amd64-linux-nat.c                                        |   15 
 amd64-linux-tdep.c                                       |    3 
 arm-linux-tdep.c                                         |    3 
 ax-gdb.c                                                 |    2 
 block.c                                                  |   24 
 block.h                                                  |   12 
 breakpoint.c                                             |  231 +-
 breakpoint.h                                             |   17 
 c-exp.y                                                  |   81 
 c-lang.c                                                 |    1 
 c-typeprint.c                                            |   47 
 coffread.c                                               |    1 
 config.in                                                |    8 
 configure                                                |   76 
 configure.ac                                             |   47 
 cp-name-parser.y                                         |    2 
 cp-namespace.c                                           |  369 ++-
 cp-support.c                                             |    7 
 cp-support.h                                             |   46 
 dbxread.c                                                |    1 
 doc/gdb.texinfo                                          |  407 ++++
 doc/gdbint.texinfo                                       |   62 
 doc/observer.texi                                        |    5 
 dwarf2-frame.c                                           |    9 
 dwarf2expr.c                                             |    7 
 dwarf2expr.h                                             |    2 
 dwarf2loc.c                                              |  227 +-
 dwarf2loc.h                                              |    6 
 dwarf2read.c                                             | 1486 +++++++++++----
 elfread.c                                                |   36 
 eval.c                                                   |  162 +
 expression.h                                             |    6 
 f-lang.c                                                 |   44 
 f-lang.h                                                 |   11 
 f-typeprint.c                                            |   36 
 f-valprint.c                                             |   59 
 findcmd.c                                                |  111 -
 findvar.c                                                |  126 -
 frv-linux-tdep.c                                         |   21 
 frv-tdep.c                                               |    2 
 frv-tdep.h                                               |    3 
 gdbinit.in                                               |   10 
 gdbthread.h                                              |    7 
 gdbtypes.c                                               |  650 +++++-
 gdbtypes.h                                               |  181 +
 gnu-v3-abi.c                                             |   18 
 hppa-linux-tdep.c                                        |   21 
 hppa-tdep.c                                              |    2 
 hppa-tdep.h                                              |    4 
 i386-linux-nat.c                                         |   16 
 i386-linux-tdep.c                                        |    3 
 i386-nat.c                                               |   12 
 i386-nat.h                                               |    5 
 ia64-linux-tdep.c                                        |    4 
 infcall.c                                                |   14 
 infcmd.c                                                 |   34 
 inferior.h                                               |    2 
 infrun.c                                                 |  183 +
 jv-lang.c                                                |    1 
 language.h                                               |    1 
 linespec.c                                               |  187 -
 linux-nat.c                                              |   35 
 linux-tdep.c                                             |   42 
 linux-tdep.h                                             |    7 
 m2-lang.c                                                |    1 
 m32r-linux-tdep.c                                        |    4 
 machoread.c                                              |    1 
 main.c                                                   |   80 
 maint.c                                                  |    8 
 mi/mi-cmd-var.c                                          |    1 
 microblaze-linux-tdep.c                                  |    4 
 minsyms.c                                                |   19 
 mips-linux-tdep.c                                        |    4 
 mipsread.c                                               |    1 
 mn10300-linux-tdep.c                                     |    4 
 objc-lang.c                                              |   21 
 objfiles.c                                               |   20 
 objfiles.h                                               |   21 
 parse.c                                                  |  155 +
 parser-defs.h                                            |   25 
 ppc-linux-nat.c                                          |   19 
 ppc-linux-tdep.c                                         |   16 
 printcmd.c                                               |   91 
 python/lib/gdb/FrameIterator.py                          |   33 
 python/lib/gdb/FrameWrapper.py                           |  112 +
 python/lib/gdb/__init__.py                               |   19 
 python/lib/gdb/backtrace.py                              |   42 
 python/lib/gdb/command/__init__.py                       |    1 
 python/lib/gdb/command/alias.py                          |   59 
 python/lib/gdb/command/backtrace.py                      |  106 +
 python/lib/gdb/command/ignore_errors.py                  |   37 
 python/lib/gdb/command/pahole.py                         |   75 
 python/lib/gdb/command/require.py                        |   57 
 python/lib/gdb/command/save_breakpoints.py               |   65 
 python/lib/gdb/command/upto.py                           |  129 +
 python/lib/gdb/function/__init__.py                      |    1 
 python/lib/gdb/function/caller_is.py                     |   58 
 python/lib/gdb/function/in_scope.py                      |   47 
 python/py-block.c                                        |  265 ++
 python/py-breakpoint.c                                   |  666 ++++++
 python/py-cmd.c                                          |   16 
 python/py-frame.c                                        |  116 +
 python/py-hooks.c                                        |   50 
 python/py-inferior.c                                     |  934 +++++++++
 python/py-infthread.c                                    |  285 ++
 python/py-membuf.c                                       |  268 ++
 python/py-param.c                                        |  606 ++++++
 python/py-prettyprint.c                                  |   20 
 python/py-symbol.c                                       |  336 +++
 python/py-symtab.c                                       |  322 +++
 python/py-type.c                                         |  165 +
 python/py-utils.c                                        |   46 
 python/py-value.c                                        |   55 
 python/python-internal.h                                 |   69 
 python/python.c                                          |  340 +++
 python/python.h                                          |    2 
 scm-lang.c                                               |    1 
 scm-valprint.c                                           |    4 
 sh-linux-tdep.c                                          |    4 
 solib-darwin.c                                           |    1 
 solib-spu.c                                              |    7 
 solib-svr4.c                                             |    7 
 solib.c                                                  |    3 
 solist.h                                                 |    2 
 somread.c                                                |    1 
 sparc-linux-tdep.c                                       |    4 
 sparc64-linux-tdep.c                                     |    4 
 spu-tdep.c                                               |    2 
 stack.c                                                  |   36 
 symfile.c                                                |   12 
 symfile.h                                                |   11 
 symmisc.c                                                |    7 
 symtab.c                                                 |  320 +--
 symtab.h                                                 |   18 
 target.c                                                 |   20 
 target.h                                                 |   24 
 testsuite/gdb.arch/x86_64-vla-pointer-foo.S              |  457 ++++
 testsuite/gdb.arch/x86_64-vla-pointer.c                  |   43 
 testsuite/gdb.arch/x86_64-vla-pointer.exp                |   66 
 testsuite/gdb.arch/x86_64-vla-typedef-foo.S              |  455 ++++
 testsuite/gdb.arch/x86_64-vla-typedef.c                  |   43 
 testsuite/gdb.arch/x86_64-vla-typedef.exp                |   64 
 testsuite/gdb.base/arrayidx.c                            |    7 
 testsuite/gdb.base/arrayidx.exp                          |   10 
 testsuite/gdb.base/gnu-ifunc-lib.c                       |   54 
 testsuite/gdb.base/gnu-ifunc.c                           |   36 
 testsuite/gdb.base/gnu-ifunc.exp                         |  115 +
 testsuite/gdb.base/internal-var-field-address.c          |   20 
 testsuite/gdb.base/internal-var-field-address.exp        |   26 
 testsuite/gdb.base/vla-overflow.c                        |   30 
 testsuite/gdb.base/vla-overflow.exp                      |  108 +
 testsuite/gdb.base/vla.c                                 |   55 
 testsuite/gdb.base/vla.exp                               |   62 
 testsuite/gdb.cp/Makefile.in                             |    2 
 testsuite/gdb.cp/cp-relocate.exp                         |    6 
 testsuite/gdb.cp/cplusfuncs.cc                           |    6 
 testsuite/gdb.cp/cplusfuncs.exp                          |  195 +
 testsuite/gdb.cp/ctti.exp                                |    5 
 testsuite/gdb.cp/exception.exp                           |   10 
 testsuite/gdb.cp/expand-sals.exp                         |    2 
 testsuite/gdb.cp/gdb9593.cc                              |  180 +
 testsuite/gdb.cp/gdb9593.exp                             |  185 +
 testsuite/gdb.cp/m-static.cc                             |   11 
 testsuite/gdb.cp/m-static.exp                            |    5 
 testsuite/gdb.cp/member-ptr.cc                           |   17 
 testsuite/gdb.cp/member-ptr.exp                          |   34 
 testsuite/gdb.cp/namespace-multiple-imports.cc           |   20 
 testsuite/gdb.cp/namespace-multiple-imports.exp          |   49 
 testsuite/gdb.cp/namespace-nested-imports.cc             |   36 
 testsuite/gdb.cp/namespace-nested-imports.exp            |   57 
 testsuite/gdb.cp/namespace-no-imports.cc                 |   37 
 testsuite/gdb.cp/namespace-no-imports.exp                |   76 
 testsuite/gdb.cp/namespace-recursive.cc                  |   47 
 testsuite/gdb.cp/namespace-recursive.exp                 |   75 
 testsuite/gdb.cp/namespace-stress-declarations.cc        |   93 
 testsuite/gdb.cp/namespace-stress-declarations.exp       |   50 
 testsuite/gdb.cp/namespace-stress.cc                     |   60 
 testsuite/gdb.cp/namespace-stress.exp                    |   50 
 testsuite/gdb.cp/namespace.exp                           |   23 
 testsuite/gdb.cp/nsusing.cc                              |  124 -
 testsuite/gdb.cp/nsusing.exp                             |  115 +
 testsuite/gdb.cp/overload.exp                            |    8 
 testsuite/gdb.cp/ovldbreak.exp                           |   46 
 testsuite/gdb.cp/realcpp.cc                              |  409 ++++
 testsuite/gdb.cp/realcpp.exp                             |  891 ++++++++
 testsuite/gdb.cp/shadow.exp                              |    1 
 testsuite/gdb.cp/shadowing.cc                            |   48 
 testsuite/gdb.cp/shadowing.exp                           |   91 
 testsuite/gdb.cp/userdef.cc                              |    9 
 testsuite/gdb.cp/userdef.exp                             |    4 
 testsuite/gdb.dwarf2/dw2-aranges.S                       |  140 +
 testsuite/gdb.dwarf2/dw2-aranges.exp                     |   40 
 testsuite/gdb.dwarf2/dw2-empty-namespace.S               |  108 +
 testsuite/gdb.dwarf2/dw2-empty-namespace.exp             |   43 
 testsuite/gdb.dwarf2/dw2-stripped.c                      |   42 
 testsuite/gdb.dwarf2/dw2-stripped.exp                    |   79 
 testsuite/gdb.dwarf2/dw2-struct-member-data-location.S   |   83 
 testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp |   37 
 testsuite/gdb.fortran/dwarf-stride.exp                   |   42 
 testsuite/gdb.fortran/dwarf-stride.f90                   |   40 
 testsuite/gdb.fortran/dynamic.exp                        |  145 +
 testsuite/gdb.fortran/dynamic.f90                        |   98 
 testsuite/gdb.fortran/library-module-lib.f90             |   28 
 testsuite/gdb.fortran/library-module-main.f90            |   23 
 testsuite/gdb.fortran/library-module.exp                 |   53 
 testsuite/gdb.fortran/module.exp                         |   28 
 testsuite/gdb.fortran/module.f90                         |   37 
 testsuite/gdb.fortran/string.exp                         |   59 
 testsuite/gdb.fortran/string.f90                         |   37 
 testsuite/gdb.gdb/selftest.exp                           |    4 
 testsuite/gdb.java/jnpe.exp                              |   77 
 testsuite/gdb.java/jnpe.java                             |   38 
 testsuite/gdb.opt/array-from-register-func.c             |   22 
 testsuite/gdb.opt/array-from-register.c                  |   28 
 testsuite/gdb.opt/array-from-register.exp                |   33 
 testsuite/gdb.opt/fortran-string.exp                     |   41 
 testsuite/gdb.opt/fortran-string.f90                     |   28 
 testsuite/gdb.python/py-cmd.exp                          |   27 
 testsuite/gdb.python/py-frame.exp                        |   48 
 testsuite/gdb.python/py-function.exp                     |   27 
 testsuite/gdb.python/py-inferior.c                       |   49 
 testsuite/gdb.python/py-inferior.exp                     |  201 ++
 testsuite/gdb.python/py-infthread.c                      |   14 
 testsuite/gdb.python/py-infthread.exp                    |   58 
 testsuite/gdb.python/py-prettyprint.exp                  |   22 
 testsuite/gdb.python/py-template.exp                     |   25 
 testsuite/gdb.python/py-value.exp                        |   31 
 testsuite/gdb.threads/watchpoint-fork-forkoff.c          |  175 +
 testsuite/gdb.threads/watchpoint-fork-mt.c               |  157 +
 testsuite/gdb.threads/watchpoint-fork.c                  |   57 
 testsuite/gdb.threads/watchpoint-fork.exp                |  130 +
 testsuite/lib/cp-support.exp                             |    3 
 testsuite/lib/gdb.exp                                    |    1 
 testsuite/lib/python-support.exp                         |   53 
 thread.c                                                 |    3 
 top.c                                                    |    1 
 typeprint.c                                              |   13 
 typeprint.h                                              |    3 
 ui-file.c                                                |   20 
 ui-file.h                                                |    6 
 utils.c                                                  |    7 
 valarith.c                                               |   45 
 valops.c                                                 |  163 +
 valprint.c                                               |    4 
 value.c                                                  |  146 +
 value.h                                                  |    7 
 varobj.c                                                 |    4 
 xcoffread.c                                              |    1 
 xtensa-linux-tdep.c                                      |    4 
 252 files changed, 17821 insertions(+), 1628 deletions(-)

View full diff with command:
/usr/bin/cvs -n -f diff -kk -u -p -N -r 1.37 -r 1.38 gdb-archer.patchIndex: gdb-archer.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-archer.patch,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -p -r1.37 -r1.38
--- gdb-archer.patch	21 Jan 2010 18:25:33 -0000	1.37
+++ gdb-archer.patch	28 Jan 2010 22:26:13 -0000	1.38
@@ -2,7 +2,7 @@ http://sourceware.org/gdb/wiki/ProjectAr
 http://sourceware.org/gdb/wiki/ArcherBranchManagement
 
 GIT snapshot:
-commit 21e418c04290aa5d2e75543d31fe3fe5d70d6d41
+commit 39c5a8b75fad3acd7204903db5dee025055a4594
 
 branch `archer' - the merge of branches:
 archer-tromey-delayed-symfile
@@ -12,6 +12,7 @@ archer-jankratochvil-fortran-module
 archer-jankratochvil-watchpoint
 archer-jankratochvil-vla
 archer-keiths-expr-cumulative
+archer-jankratochvil-ifunc
 
 
 diff --git a/gdb/Makefile.in b/gdb/Makefile.in
@@ -257,6 +258,28 @@ index 40b70ab..b291d40 100644
    ada_op_name,
    ada_dump_subexp_body,
    ada_evaluate_subexp
+diff --git a/gdb/alpha-linux-tdep.c b/gdb/alpha-linux-tdep.c
+index 3c71f2f..bbfe5a1 100644
+--- a/gdb/alpha-linux-tdep.c
++++ b/gdb/alpha-linux-tdep.c
+@@ -26,6 +26,7 @@
+ #include "symtab.h"
+ #include "regset.h"
+ #include "regcache.h"
++#include "linux-tdep.h"
+ 
+ #include "alpha-tdep.h"
+ 
+@@ -236,6 +237,9 @@ alpha_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+ 
+   set_gdbarch_regset_from_core_section
+     (gdbarch, alpha_linux_regset_from_core_section);
++
++  set_gdbarch_convert_from_func_ptr_addr (gdbarch,
++					  linux_convert_from_func_ptr_addr);
+ }
+ 
+ /* Provide a prototype to silence -Wmissing-prototypes.  */
 diff --git a/gdb/amd64-linux-nat.c b/gdb/amd64-linux-nat.c
 index 5c9e558..55a1873 100644
 --- a/gdb/amd64-linux-nat.c
@@ -290,6 +313,34 @@ index 5c9e558..55a1873 100644
    i386_set_debug_register_length (8);
  
    /* Override the GNU/Linux inferior startup hook.  */
+diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c
+index 01cc1ce..2a0fa84 100644
+--- a/gdb/amd64-linux-tdep.c
++++ b/gdb/amd64-linux-tdep.c
+@@ -1481,6 +1481,9 @@ amd64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+   amd64_linux_record_tdep.arg6 = AMD64_R9_REGNUM;
+ 
+   tdep->i386_syscall_record = amd64_linux_syscall_record;
++
++  set_gdbarch_convert_from_func_ptr_addr (gdbarch,
++					  linux_convert_from_func_ptr_addr);
+ }
+ 
+ 
+diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c
+index 661a5bd..dc91ab1 100644
+--- a/gdb/arm-linux-tdep.c
++++ b/gdb/arm-linux-tdep.c
+@@ -907,6 +907,9 @@ arm_linux_init_abi (struct gdbarch_info info,
+   set_gdbarch_displaced_step_free_closure (gdbarch,
+ 					   simple_displaced_step_free_closure);
+   set_gdbarch_displaced_step_location (gdbarch, displaced_step_at_entry_point);
++
++  set_gdbarch_convert_from_func_ptr_addr (gdbarch,
++					  linux_convert_from_func_ptr_addr);
+ }
+ 
+ /* Provide a prototype to silence -Wmissing-prototypes.  */
 diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c
 index 5776bb0..6099e99 100644
 --- a/gdb/ax-gdb.c
@@ -381,7 +432,7 @@ index 7eedb6c..b147826 100644
 +
  #endif /* BLOCK_H */
 diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
-index d404ee7..2be397f 100644
+index 0d55862..9258c6a 100644
 --- a/gdb/breakpoint.c
 +++ b/gdb/breakpoint.c
 @@ -61,6 +61,7 @@
@@ -671,7 +722,7 @@ index d404ee7..2be397f 100644
  	    /* We do not stop for these.  */
  	    bs->stop = 0;
  	  else
-@@ -3827,6 +3902,7 @@ bpstat_what (bpstat bs)
+@@ -3826,6 +3901,7 @@ bpstat_what (bpstat bs)
    struct bpstat_what retval;
  
    retval.call_dummy = 0;
@@ -679,7 +730,7 @@ index d404ee7..2be397f 100644
    for (; bs != NULL; bs = bs->next)
      {
        enum class bs_class = no_effect;
-@@ -3873,10 +3949,15 @@ bpstat_what (bpstat bs)
+@@ -3872,10 +3948,15 @@ bpstat_what (bpstat bs)
  	    bs_class = no_effect;
  	  break;
  	case bp_longjmp:
@@ -695,7 +746,7 @@ index d404ee7..2be397f 100644
  	  break;
  	case bp_step_resume:
  	  if (bs->stop)
-@@ -3899,6 +3980,7 @@ bpstat_what (bpstat bs)
+@@ -3898,6 +3979,7 @@ bpstat_what (bpstat bs)
  	case bp_thread_event:
  	case bp_overlay_event:
  	case bp_longjmp_master:
@@ -703,7 +754,7 @@ index d404ee7..2be397f 100644
  	  bs_class = bp_nostop;
  	  break;
  	case bp_catchpoint:
-@@ -4043,6 +4125,8 @@ print_one_breakpoint_location (struct breakpoint *b,
+@@ -4042,6 +4124,8 @@ print_one_breakpoint_location (struct breakpoint *b,
      {bp_access_watchpoint, "acc watchpoint"},
      {bp_longjmp, "longjmp"},
      {bp_longjmp_resume, "longjmp resume"},
@@ -712,7 +763,7 @@ index d404ee7..2be397f 100644
      {bp_step_resume, "step resume"},
      {bp_watchpoint_scope, "watchpoint scope"},
      {bp_call_dummy, "call dummy"},
-@@ -4050,6 +4134,7 @@ print_one_breakpoint_location (struct breakpoint *b,
+@@ -4049,6 +4133,7 @@ print_one_breakpoint_location (struct breakpoint *b,
      {bp_thread_event, "thread events"},
      {bp_overlay_event, "overlay events"},
      {bp_longjmp_master, "longjmp master"},
@@ -720,7 +771,7 @@ index d404ee7..2be397f 100644
      {bp_catchpoint, "catchpoint"},
      {bp_tracepoint, "tracepoint"},
      {bp_fast_tracepoint, "fast tracepoint"},
-@@ -4174,6 +4259,8 @@ print_one_breakpoint_location (struct breakpoint *b,
+@@ -4173,6 +4258,8 @@ print_one_breakpoint_location (struct breakpoint *b,
        case bp_finish:
        case bp_longjmp:
        case bp_longjmp_resume:
@@ -729,7 +780,7 @@ index d404ee7..2be397f 100644
        case bp_step_resume:
        case bp_watchpoint_scope:
        case bp_call_dummy:
-@@ -4181,6 +4268,7 @@ print_one_breakpoint_location (struct breakpoint *b,
+@@ -4180,6 +4267,7 @@ print_one_breakpoint_location (struct breakpoint *b,
        case bp_thread_event:
        case bp_overlay_event:
        case bp_longjmp_master:
@@ -737,7 +788,7 @@ index d404ee7..2be397f 100644
        case bp_tracepoint:
        case bp_fast_tracepoint:
        case bp_jit_event:
-@@ -4819,6 +4907,8 @@ allocate_bp_location (struct breakpoint *bpt)
+@@ -4818,6 +4906,8 @@ allocate_bp_location (struct breakpoint *bpt)
      case bp_finish:
      case bp_longjmp:
      case bp_longjmp_resume:
@@ -746,7 +797,7 @@ index d404ee7..2be397f 100644
      case bp_step_resume:
      case bp_watchpoint_scope:
      case bp_call_dummy:
-@@ -4827,6 +4917,7 @@ allocate_bp_location (struct breakpoint *bpt)
+@@ -4826,6 +4916,7 @@ allocate_bp_location (struct breakpoint *bpt)
      case bp_overlay_event:
      case bp_jit_event:
      case bp_longjmp_master:
@@ -754,7 +805,7 @@ index d404ee7..2be397f 100644
        loc->loc_type = bp_loc_software_breakpoint;
        break;
      case bp_hardware_breakpoint:
-@@ -5013,8 +5104,7 @@ make_breakpoint_permanent (struct breakpoint *b)
+@@ -5012,8 +5103,7 @@ make_breakpoint_permanent (struct breakpoint *b)
  }
  
  /* Call this routine when stepping and nexting to enable a breakpoint
@@ -764,7 +815,7 @@ index d404ee7..2be397f 100644
  
  void
  set_longjmp_breakpoint (int thread)
-@@ -5027,10 +5117,11 @@ set_longjmp_breakpoint (int thread)
+@@ -5026,10 +5116,11 @@ set_longjmp_breakpoint (int thread)
       clones of those and enable them for the requested thread.  */
    ALL_BREAKPOINTS_SAFE (b, temp)
      if (b->pspace == current_program_space
@@ -778,7 +829,7 @@ index d404ee7..2be397f 100644
  	clone->thread = thread;
        }
[...3830 lines suppressed...]
+-    perror "couldn't run to PQ::marker6"
 +if ![runto I::marker7] then {
 +    perror "couldn't run to breakpoint I::marker7"
-+    continue
-+}
-+
+     continue
+ }
+ 
+-gdb_test "print ox" "No symbol \"ox\" in current context."
 +gdb_test "print ghx" "= 6"
 +
 +############################################
@@ -19925,54 +21162,6 @@ index 319552b..0673088 100644
 +# Assert that M::x is printed and not N::x
 +gdb_test "print x" "= 911" "print x (from M::x)"
 +
-diff --git a/gdb/testsuite/gdb.cp/namespace.exp b/gdb/testsuite/gdb.cp/namespace.exp
-index 4362fd8..f7cfd57 100644
---- a/gdb/testsuite/gdb.cp/namespace.exp
-+++ b/gdb/testsuite/gdb.cp/namespace.exp
-@@ -24,6 +24,7 @@
- # for namespaces.
- # Note: As of 2000-06-03, they passed under g++ - djb
- 
-+load_lib "cp-support.exp"
- 
- if $tracelevel then {
-         strace $tracelevel
-@@ -241,11 +242,16 @@ gdb_test "ptype E" "type = namespace C::D::E"
- gdb_test "ptype CClass" "type = (class C::CClass \{\r\n  public:|struct C::CClass \{)\r\n    int x;\r\n\}"
- gdb_test "ptype CClass::NestedClass" "type = (class C::CClass::NestedClass \{\r\n  public:|struct C::CClass::NestedClass \{)\r\n    int y;\r\n\}"
- gdb_test "ptype NestedClass" "No symbol \"NestedClass\" in current context."
--setup_kfail "gdb/1448" "*-*-*"
--gdb_test "ptype ::C::CClass" "type = class C::CClass \{\r\n  public:\r\n    int x;\r\n\}"
--setup_kfail "gdb/1448" "*-*-*"
--gdb_test "ptype ::C::CClass::NestedClass" "type = class C::CClass::NestedClass \{\r\n  public:\r\n    int y;\r\n\}"
--setup_kfail "gdb/1448" "*-*-*"
-+cp_test_ptype_class \
-+	"ptype ::C::CClass" "" "class" "C::CClass" \
-+	{
-+	    { field public "int x;" }
-+	}
-+cp_test_ptype_class \
-+	"ptype ::C::CClass::NestedClass" "" "class" "C::CClass::NestedClass" \
-+	{
-+	    { field public "int y;" }
-+	}
- gdb_test "ptype ::C::NestedClass" "No symbol \"NestedClass\" in namespace \"C\"."
- gdb_test "ptype C::CClass" "No symbol \"CClass\" in namespace \"C::C\"."
- gdb_test "ptype C::CClass::NestedClass" "No type \"CClass\" within class or namespace \"C::C\"."
-@@ -255,8 +261,11 @@ gdb_test "ptype C::NestedClass" "No symbol \"NestedClass\" in namespace \"C::C\"
- 
- gdb_test "print cOtherFile" "\\$\[0-9\].* = 316"
- gdb_test "ptype OtherFileClass" "type = (class C::OtherFileClass \{\r\n  public:|struct C::OtherFileClass \{)\r\n    int z;\r\n\}"
--setup_kfail "gdb/1448" "*-*-*"
--gdb_test "ptype ::C::OtherFileClass" "type = class C::OtherFileClass \{\r\n  public:\r\n    int z;\r\n\}"
-+cp_test_ptype_class \
-+	"ptype ::C::OtherFileClass" "" "class" "C::OtherFileClass" \
-+	{
-+	    { field public "int z;" }
-+	}
- gdb_test "ptype C::OtherFileClass" "No symbol \"OtherFileClass\" in namespace \"C::C\"."
- 
- # Some anonymous namespace tests.
 diff --git a/gdb/testsuite/gdb.cp/overload.exp b/gdb/testsuite/gdb.cp/overload.exp
 index 1bfa0f3..9fd31a8 100644
 --- a/gdb/testsuite/gdb.cp/overload.exp
@@ -21400,6 +22589,16 @@ index 0000000..4e92e75
 +
 +gdb_exit
 +return 0
+diff --git a/gdb/testsuite/gdb.cp/shadow.exp b/gdb/testsuite/gdb.cp/shadow.exp
+index 1e5e80b..40c35a4 100644
+--- a/gdb/testsuite/gdb.cp/shadow.exp
++++ b/gdb/testsuite/gdb.cp/shadow.exp
+@@ -85,5 +85,4 @@ gdb_test "print x" "= 55" "Print local x not namespace x"
+ gdb_breakpoint [gdb_get_line_number "marker5"]
+ gdb_continue_to_breakpoint "marker5"
+ 
+-setup_kfail "gdb/7936" "*-*-*"
+ gdb_test "print x" "= 11" "Print imported namespace x"
 diff --git a/gdb/testsuite/gdb.cp/shadowing.cc b/gdb/testsuite/gdb.cp/shadowing.cc
 new file mode 100644
 index 0000000..6d9c2f1
@@ -21551,6 +22750,56 @@ index 0000000..6922eed
 +if [test_compiler_info gcc-4-3-*] then { setup_xfail *-*-* }
 +
 +gdb_test "print x" "= 11" "Print imported namespace x"
+diff --git a/gdb/testsuite/gdb.cp/userdef.cc b/gdb/testsuite/gdb.cp/userdef.cc
+index 338c58a..56a735f 100644
+--- a/gdb/testsuite/gdb.cp/userdef.cc
++++ b/gdb/testsuite/gdb.cp/userdef.cc
+@@ -311,6 +311,11 @@ public:
+   int z;
+ };
+ 
++bool operator== (const Member &m1, const Member &m2)
++{
++  return m1.z == m2.z;
++}
++
+ class Container
+ {
+ public:
+@@ -330,8 +335,12 @@ int main (void)
+  A1 two(4,5);
+  A1 three(0,0);
+  Container c;
++ Member mem1, mem2;
+  int val;
+  
++ mem1.z = 5;
++ mem2.z = 7;
++
+  marker1(); // marker1-returns-here
+  cout << one; // marker1-returns-here
+  cout << two;
+diff --git a/gdb/testsuite/gdb.cp/userdef.exp b/gdb/testsuite/gdb.cp/userdef.exp
+index bd54c78..27ec80b 100644
+--- a/gdb/testsuite/gdb.cp/userdef.exp
++++ b/gdb/testsuite/gdb.cp/userdef.exp
+@@ -113,6 +113,7 @@ gdb_test "print one > two" "\\\$\[0-9\]* = 0\[\r\n\]"
+ gdb_test "print one >= two" "\\\$\[0-9\]* = 0\[\r\n\]"
+ 
+ gdb_test "print one == two" "\\\$\[0-9\]* = 0\[\r\n\]"
++gdb_test "print one.operator== (two)" "\\\$\[0-9\]* = 0\[\r\n\]"
+ 
+ gdb_test "print one != two" "\\\$\[0-9\]* = 1\[\r\n\]"
+ 
+@@ -155,5 +156,8 @@ gdb_test "print *c" "\\\$\[0-9\]* = \\(Member &\\) @$hex: {z = .*}"
+ gdb_test "print &*c" "\\\$\[0-9\]* = \\(Member \\*\\) $hex"
+ gdb_test "ptype &*c" "type = struct Member {\[\r\n \]+int z;\[\r\n\]+} &\\*"
+ 
++gdb_test "print operator== (mem1, mem2)" " = false"
++gdb_test "print operator== (mem1, mem1)" " = true"
++
+ gdb_exit
+ return 0
 diff --git a/gdb/testsuite/gdb.dwarf2/dw2-aranges.S b/gdb/testsuite/gdb.dwarf2/dw2-aranges.S
 new file mode 100644
 index 0000000..d5b9ca5
@@ -24760,7 +26009,7 @@ index ed76b09..8bf3634 100644
  }
  
 diff --git a/gdb/valops.c b/gdb/valops.c
-index ca34083..c23fd68 100644
+index 2cdbcbe..6b82476 100644
 --- a/gdb/valops.c
 +++ b/gdb/valops.c
 @@ -38,6 +38,7 @@
@@ -24985,15 +26234,19 @@ index ca34083..c23fd68 100644
        if (func_name == NULL)
          {
  	  *symp = fsym;
-@@ -3096,7 +3201,7 @@ value_maybe_namespace_elt (const struct type *curtype,
+@@ -3096,9 +3201,9 @@ value_maybe_namespace_elt (const struct type *curtype,
    struct symbol *sym;
    struct value *result;
  
 -  sym = cp_lookup_symbol_namespace (namespace_name, name, NULL,
+-				    get_selected_block (0), 
+-				    VAR_DOMAIN, 1);
 +  sym = cp_lookup_symbol_namespace(namespace_name, name,
- 				    get_selected_block (0), 
- 				    VAR_DOMAIN);
++                                   get_selected_block (0), 
++                                   VAR_DOMAIN);
  
+   if (sym == NULL)
+     return NULL;
 @@ -3240,7 +3345,7 @@ value_of_local (const char *name, int complain)
  
    /* Calling lookup_block_symbol is necessary to get the LOC_REGISTER
@@ -25359,3 +26612,25 @@ index 25cc2d9..6784654 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/gdb/xtensa-linux-tdep.c b/gdb/xtensa-linux-tdep.c
+index 667d9b3..0d86219 100644
+--- a/gdb/xtensa-linux-tdep.c
++++ b/gdb/xtensa-linux-tdep.c
+@@ -22,6 +22,7 @@
+ 
+ #include "solib-svr4.h"
+ #include "symtab.h"
++#include "linux-tdep.h"
+ 
+ /* OS specific initialization of gdbarch.  */
+ 
+@@ -30,6 +31,9 @@ xtensa_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+ {
+   set_solib_svr4_fetch_link_map_offsets
+     (gdbarch, svr4_ilp32_fetch_link_map_offsets);
++
++  set_gdbarch_convert_from_func_ptr_addr (gdbarch,
++					  linux_convert_from_func_ptr_addr);
+ }
+ 
+ /* Provide a prototype to silence -Wmissing-prototypes.  */

gdb-fortran-common.patch:
 dwarf2read.c                           |   65 ++++++++++++++-
 f-lang.c                               |   24 -----
 f-lang.h                               |   28 ------
 f-valprint.c                           |  141 +++++++++++++++------------------
 stack.c                                |    2 
 symtab.h                               |    5 -
 testsuite/gdb.fortran/common-block.exp |  101 +++++++++++++++++++++++
 testsuite/gdb.fortran/common-block.f90 |   67 +++++++++++++++
 8 files changed, 302 insertions(+), 131 deletions(-)

Index: gdb-fortran-common.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-fortran-common.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- gdb-fortran-common.patch	16 Jan 2010 22:32:08 -0000	1.1
+++ gdb-fortran-common.patch	28 Jan 2010 22:26:14 -0000	1.2
@@ -1,8 +1,8 @@
-Index: gdb-7.0.50.20100115/gdb/dwarf2read.c
+Index: gdb-7.0.50.20100128/gdb/dwarf2read.c
 ===================================================================
---- gdb-7.0.50.20100115.orig/gdb/dwarf2read.c	2010-01-15 21:35:15.000000000 +0100
-+++ gdb-7.0.50.20100115/gdb/dwarf2read.c	2010-01-15 21:41:32.000000000 +0100
-@@ -5811,12 +5811,14 @@ read_set_type (struct die_info *die, str
+--- gdb-7.0.50.20100128.orig/gdb/dwarf2read.c	2010-01-28 12:53:37.000000000 +0100
++++ gdb-7.0.50.20100128/gdb/dwarf2read.c	2010-01-28 12:54:34.000000000 +0100
+@@ -5818,12 +5818,14 @@ read_set_type (struct die_info *die, str
    return set_die_type (die, set_type, cu);
  }
  
@@ -19,7 +19,7 @@ Index: gdb-7.0.50.20100115/gdb/dwarf2rea
    struct attribute *attr;
    struct symbol *sym;
    CORE_ADDR base = (CORE_ADDR) 0;
-@@ -5841,10 +5843,40 @@ read_common_block (struct die_info *die,
+@@ -5848,10 +5850,40 @@ read_common_block (struct die_info *die,
      }
    if (die->child != NULL)
      {
@@ -60,7 +60,7 @@ Index: gdb-7.0.50.20100115/gdb/dwarf2rea
  	  attr = dwarf2_attr (child_die, DW_AT_data_member_location, cu);
  	  if (attr)
  	    {
-@@ -5862,8 +5894,25 @@ read_common_block (struct die_info *die,
+@@ -5869,8 +5901,25 @@ read_common_block (struct die_info *die,
  	      SYMBOL_VALUE_ADDRESS (sym) = base + byte_offset;
  	      add_symbol_to_list (sym, &global_symbols);
  	    }
@@ -86,7 +86,7 @@ Index: gdb-7.0.50.20100115/gdb/dwarf2rea
      }
  }
  
-@@ -9052,6 +9101,13 @@ new_symbol (struct die_info *die, struct
+@@ -9061,6 +9110,13 @@ new_symbol (struct die_info *die, struct
  	    {
  	      var_decode_location (attr, sym, cu);
  	      attr2 = dwarf2_attr (die, DW_AT_external, cu);
@@ -99,8 +99,8 @@ Index: gdb-7.0.50.20100115/gdb/dwarf2rea
 +
  	      if (attr2 && (DW_UNSND (attr2) != 0))
  		{
- 		  /* Workaround gfortran PR debug/40040 - it uses
-@@ -9230,6 +9286,11 @@ new_symbol (struct die_info *die, struct
+ 		  struct pending **list_to_add;
+@@ -9245,6 +9301,11 @@ new_symbol (struct die_info *die, struct
  	  SYMBOL_DOMAIN (sym) = MODULE_DOMAIN;
  	  add_symbol_to_list (sym, &global_symbols);
  	  break;
@@ -112,11 +112,11 @@ Index: gdb-7.0.50.20100115/gdb/dwarf2rea
  	default:
  	  /* Not a tag we recognize.  Hopefully we aren't processing
  	     trash data, but since we must specifically ignore things
-Index: gdb-7.0.50.20100115/gdb/f-lang.c
+Index: gdb-7.0.50.20100128/gdb/f-lang.c
 ===================================================================
---- gdb-7.0.50.20100115.orig/gdb/f-lang.c	2010-01-15 21:35:16.000000000 +0100
-+++ gdb-7.0.50.20100115/gdb/f-lang.c	2010-01-15 21:35:27.000000000 +0100
-@@ -448,27 +448,3 @@ _initialize_f_language (void)
+--- gdb-7.0.50.20100128.orig/gdb/f-lang.c	2010-01-28 12:53:38.000000000 +0100
++++ gdb-7.0.50.20100128/gdb/f-lang.c	2010-01-28 12:53:46.000000000 +0100
+@@ -446,27 +446,3 @@ _initialize_f_language (void)
  
    add_language (&f_language_defn);
  }
@@ -144,10 +144,10 @@ Index: gdb-7.0.50.20100115/gdb/f-lang.c
 -    }
 -  return (NULL);
 -}
-Index: gdb-7.0.50.20100115/gdb/f-lang.h
+Index: gdb-7.0.50.20100128/gdb/f-lang.h
 ===================================================================
---- gdb-7.0.50.20100115.orig/gdb/f-lang.h	2010-01-15 21:35:16.000000000 +0100
-+++ gdb-7.0.50.20100115/gdb/f-lang.h	2010-01-15 21:35:27.000000000 +0100
+--- gdb-7.0.50.20100128.orig/gdb/f-lang.h	2010-01-28 12:53:38.000000000 +0100
++++ gdb-7.0.50.20100128/gdb/f-lang.h	2010-01-28 12:53:46.000000000 +0100
 @@ -51,36 +51,8 @@ enum f90_range_type
      NONE_BOUND_DEFAULT		/* "(low:high)"  */
    };
@@ -185,10 +185,10 @@ Index: gdb-7.0.50.20100115/gdb/f-lang.h
  
  /* When reasonable array bounds cannot be fetched, such as when 
     you ask to 'mt print symbols' and there is no stack frame and 
-Index: gdb-7.0.50.20100115/gdb/f-valprint.c
+Index: gdb-7.0.50.20100128/gdb/f-valprint.c
 ===================================================================
---- gdb-7.0.50.20100115.orig/gdb/f-valprint.c	2010-01-15 21:35:16.000000000 +0100
-+++ gdb-7.0.50.20100115/gdb/f-valprint.c	2010-01-15 21:35:27.000000000 +0100
+--- gdb-7.0.50.20100128.orig/gdb/f-valprint.c	2010-01-28 12:53:38.000000000 +0100
++++ gdb-7.0.50.20100128/gdb/f-valprint.c	2010-01-28 12:53:46.000000000 +0100
 @@ -34,6 +34,8 @@
  #include "gdbcore.h"
  #include "command.h"
@@ -371,10 +371,10 @@ Index: gdb-7.0.50.20100115/gdb/f-valprin
  }
  
  void
-Index: gdb-7.0.50.20100115/gdb/stack.c
+Index: gdb-7.0.50.20100128/gdb/stack.c
 ===================================================================
---- gdb-7.0.50.20100115.orig/gdb/stack.c	2010-01-15 21:35:13.000000000 +0100
-+++ gdb-7.0.50.20100115/gdb/stack.c	2010-01-15 21:35:27.000000000 +0100
+--- gdb-7.0.50.20100128.orig/gdb/stack.c	2010-01-28 12:52:19.000000000 +0100
++++ gdb-7.0.50.20100128/gdb/stack.c	2010-01-28 12:53:46.000000000 +0100
 @@ -1474,6 +1474,8 @@ print_block_frame_locals (struct block *
  	case LOC_COMPUTED:
  	  if (SYMBOL_IS_ARGUMENT (sym))
@@ -384,10 +384,10 @@ Index: gdb-7.0.50.20100115/gdb/stack.c
  	  values_printed = 1;
  	  print_variable_and_value (NULL, sym, frame, stream, 4 * num_tabs);
  	  break;
-Index: gdb-7.0.50.20100115/gdb/symtab.h
+Index: gdb-7.0.50.20100128/gdb/symtab.h
 ===================================================================
---- gdb-7.0.50.20100115.orig/gdb/symtab.h	2010-01-15 21:35:16.000000000 +0100
-+++ gdb-7.0.50.20100115/gdb/symtab.h	2010-01-15 21:35:57.000000000 +0100
+--- gdb-7.0.50.20100128.orig/gdb/symtab.h	2010-01-28 12:52:20.000000000 +0100
++++ gdb-7.0.50.20100128/gdb/symtab.h	2010-01-28 12:53:46.000000000 +0100
 @@ -401,7 +401,10 @@ typedef enum domain_enum_tag
    TYPES_DOMAIN,
  
@@ -400,8 +400,10 @@ Index: gdb-7.0.50.20100115/gdb/symtab.h
  }
  domain_enum;
  
---- /dev/null
-+++ b/gdb/testsuite/gdb.fortran/common-block.exp
+Index: gdb-7.0.50.20100128/gdb/testsuite/gdb.fortran/common-block.exp
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.0.50.20100128/gdb/testsuite/gdb.fortran/common-block.exp	2010-01-28 12:53:46.000000000 +0100
 @@ -0,0 +1,101 @@
 +# Copyright 2008 Free Software Foundation, Inc.
 +
@@ -504,8 +506,10 @@ Index: gdb-7.0.50.20100115/gdb/symtab.h
 +gdb_test "p ix_x" " = 1 *" "p ix_x in"
 +gdb_test "p iy_y" " = 2 *" "p iy_y in"
 +gdb_test "p iz_z2" " = 3 *" "p iz_z2 in"
---- /dev/null
-+++ b/gdb/testsuite/gdb.fortran/common-block.f90
+Index: gdb-7.0.50.20100128/gdb/testsuite/gdb.fortran/common-block.f90
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.0.50.20100128/gdb/testsuite/gdb.fortran/common-block.f90	2010-01-28 12:53:46.000000000 +0100
 @@ -0,0 +1,67 @@
 +! Copyright 2008 Free Software Foundation, Inc.
 +!


Index: gdb.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb.spec,v
retrieving revision 1.403
retrieving revision 1.404
diff -u -p -r1.403 -r1.404
--- gdb.spec	25 Jan 2010 17:13:16 -0000	1.403
+++ gdb.spec	28 Jan 2010 22:26:14 -0000	1.404
@@ -32,11 +32,11 @@ Name: gdb%{?_with_debug:-debug}
 # Set version to contents of gdb/version.in.
 # NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3
 # and, since January 2005, X.Y.Z.date for daily snapshots, like 6.3.50.20050112 # (daily snapshot from mailine), or 6.3.0.20040112 (head of the release branch).
-Version: 7.0.50.20100121
+Version: 7.0.50.20100128
 
 # 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: 9%{?_with_upstream:.upstream}%{dist}
+Release: 10%{?_with_upstream:.upstream}%{dist}
 
 License: GPLv3+
 Group: Development/Debuggers
@@ -242,7 +242,7 @@ Patch229: gdb-6.3-bz140532-ppc-unwinding
 Patch231: gdb-6.3-bz202689-exec-from-pthread-test.patch
 
 # Backported fixups post the source tarball.
-Patch232: gdb-upstream.patch
+#Patch232: gdb-upstream.patch
 
 # Testcase for PPC Power6/DFP instructions disassembly (BZ 230000).
 Patch234: gdb-6.6-bz230000-power6-disassembly-test.patch
@@ -386,9 +386,6 @@ Patch381: gdb-simultaneous-step-resume-b
 # Fix GNU/Linux core open: Can't read pathname for load map: Input/output error.
 Patch382: gdb-core-open-vdso-warning.patch
 
-# Support GNU IFUNCs - indirect functions (BZ 539590).
-Patch387: gdb-bz539590-gnu-ifunc.patch
-
 # Fix callback-mode readline-6.0 regression for CTRL-C.
 Patch390: gdb-readline-6.0-signal.patch
 
@@ -427,15 +424,9 @@ Patch407: gdb-lineno-makeup-test.patch
 # Test power7 ppc disassembly.
 Patch408: gdb-ppc-power7-test.patch
 
-# Fix solib-display.exp crash
-Patch411: gdb-solib-display.patch
-
 # Revert: Add -Wunused-function to compile flags.
 Patch412: gdb-unused-revert.patch
 
-# Revert FSF GDB gdbserver tracepoints as incomplete now.
-Patch413: gdb-gdbserver-tracepoint-revert.patch
-
 # It may crash here but it is not understood why.
 Patch414: gdb-archer-pie-assert-temp-workaround.patch
 
@@ -573,7 +564,7 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc
 
 %if 0%{!?_with_upstream:1}
 
-%patch232 -p1
+#patch232 -p1
 %patch349 -p1
 %patch124 -p1
 %patch1 -p1
@@ -642,7 +633,6 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc
 %patch271 -p1
 %patch274 -p1
 %patch353 -p1
-%patch415 -p1
 %patch282 -p1
 %patch284 -p1
 %patch287 -p1
@@ -674,7 +664,6 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc
 %patch360 -p1
 %patch381 -p1
 %patch382 -p1
-%patch387 -p1
 %patch390 -p1
 %patch391 -p1
 %patch392 -p1
@@ -688,16 +677,20 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc
 %patch406 -p1
 %patch407 -p1
 %patch408 -p1
-%patch411 -p1
 %patch412 -p1
-%patch413 -p1
-# Always verify its applicability.
 %patch414 -p1
+%patch415 -p1
+%patch393 -p1
+%patch335 -p1
+# Patch414: gdb-archer-pie-assert-temp-workaround.patch
+# It may crash here but it is not understood why.
+# Patch415: gdb-6.6-buildid-locate-core-as-arg.patch
+# Currently disabled for RHEL as it is a new experimental feature not present
+# in FSF GDB and possibly affecting new user scripts.
 %if 0%{!?rhel:1}
 %patch414 -p1 -R
+%patch415 -p1 -R
 %endif
-%patch393 -p1
-%patch335 -p1
 %if 0%{!?el5:1}
 %patch393 -p1 -R
 %patch335 -p1 -R
@@ -1020,6 +1013,14 @@ fi
 %endif
 
 %changelog
+* Thu Jan 28 2010 Jan Kratochvil <jan.kratochvil at redhat.com> - 7.0.50.20100128-10.fc13
+- Upgrade to the FSF GDB snapshot: 7.0.50.20100128
+- archer-jankratochvil-fedora13 commit: 39c5a8b75fad3acd7204903db5dee025055a4594
+  - Fix a regression on "AAA::ALPHA" test due to a merge from FSF GDB.
+- Fix a regression of previous release due to false identification as core file.
+- Move ifunc .patch into the GIT-managed archer-jankratochvil-fedora13 branch.
+- Update gdb.pie/corefile.exp from 2007-01-26 FSF GDB commit by Andreas Schwab.
+
 * Mon Jan 25 2010 Jan Kratochvil <jan.kratochvil at redhat.com> - 7.0.50.20100121-9.fc13
 - Enable loading a core file just as a single argument to /usr/bin/gdb.
 


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/sources,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -p -r1.45 -r1.46
--- sources	21 Jan 2010 16:09:11 -0000	1.45
+++ sources	28 Jan 2010 22:26:15 -0000	1.46
@@ -1,2 +1,2 @@
-fcfbe6ccb36d86bc06891fbd70f1664d  gdb-7.0.50.20100121.tar.bz2
+057c9d088cd676396e0caae9d3ada879  gdb-7.0.50.20100128.tar.bz2
 04e5c4b1b9e633422cc48990fe61958d  libstdc++-v3-python-r155978.tar.bz2


--- gdb-bz539590-gnu-ifunc.patch DELETED ---


--- gdb-gdbserver-tracepoint-revert.patch DELETED ---


--- gdb-solib-display.patch DELETED ---


--- gdb-upstream.patch DELETED ---



More information about the scm-commits mailing list