rpms/gdb/devel gdb-6.8-bz457187-largefile.patch, NONE, 1.1 .cvsignore, 1.31, 1.32 gdb-6.3-readnever-20050907.patch, 1.4, 1.5 gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch, 1.9, 1.10 gdb-6.8-fortran-tag-constant.patch, 1.3, 1.4 gdb-6.8-inlining.patch, 1.8, 1.9 gdb-archer.patch, 1.1, 1.2 gdb.spec, 1.324, 1.325 sources, 1.30, 1.31

Jan Kratochvil jkratoch at fedoraproject.org
Mon Mar 2 23:14:46 UTC 2009


Author: jkratoch

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

Modified Files:
	.cvsignore gdb-6.3-readnever-20050907.patch 
	gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch 
	gdb-6.8-fortran-tag-constant.patch gdb-6.8-inlining.patch 
	gdb-archer.patch gdb.spec sources 
Added Files:
	gdb-6.8-bz457187-largefile.patch 
Log Message:
* 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
  * [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.
  * [exception-rewind] Fix fatal C++ exceptions in an inferior function call.
  * [expr] Expressions, single-quote elimination, C++ input canonicalization.
  * [using-directive] C++ namespaces.
  * [vla] C variable length arrays / DW_FORM_block / Fortran dynamic arrays.
  * [misc] Fix debuginfoless `return' (BZ 365111), fix command-line macros for
    expected GCC (BZ 479914), new testcase for valgrind (for BZ 483262),
    implement `info common' for Fortran, fix Fortran logical-kind=8 (BZ 465310),
    fix static variable in C++ constructors (BZ 445912), fix power7 (BZ 485319).
- Upgrade to the FSF GDB gdb-6.8.50 snapshot.
- Fix parsing elf64-i386 files for kdump PAE vmcore dumps (BZ 457187).
  - Turn on 64-bit BFD support, globally enable AC_SYS_LARGEFILE.


gdb-6.8-bz457187-largefile.patch:

--- NEW FILE gdb-6.8-bz457187-largefile.patch ---
gdb/
2009-03-02  Jan Kratochvil  <jan.kratochvil at redhat.com>

	* configure.ac: Call AC_SYS_LARGEFILE.
	* config.in: Regenerate.
	* configure: Regenerate.

diff -up -rup gdb-orig/configure.ac gdb/configure.ac
--- ./gdb-orig/configure.ac	2009-03-02 23:39:01.000000000 +0100
+++ ./gdb/configure.ac	2009-03-02 23:40:46.000000000 +0100
@@ -30,6 +30,7 @@ AC_GNU_SOURCE
 AC_AIX
 AC_ISC_POSIX
 gl_EARLY
+AC_SYS_LARGEFILE
 AM_PROG_CC_STDC
 
 AC_CONFIG_AUX_DIR(..)
diff -up -rup gdb-orig/config.in gdb/config.in
--- ./gdb-orig/config.in	2009-03-02 23:39:01.000000000 +0100
+++ ./gdb/config.in	2009-03-02 23:40:53.000000000 +0100
@@ -725,6 +725,9 @@
 # undef _ALL_SOURCE
 #endif
 
+/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS
+
 /* Enable GNU extensions on systems that have them.  */
 #ifndef _GNU_SOURCE
 # undef _GNU_SOURCE
@@ -734,6 +737,9 @@
    <sys/proc.h> problem on IRIX 5. */
 #undef _KMEMUSER
 
+/* Define for large files, on AIX-style hosts. */
+#undef _LARGE_FILES
+
 /* Define to 1 if on MINIX. */
 #undef _MINIX
 
diff -up -rup gdb-orig/configure gdb/configure
--- ./gdb-orig/configure	2009-03-02 23:39:01.000000000 +0100
+++ ./gdb/configure	2009-03-02 23:40:49.000000000 +0100
@@ -862,6 +862,7 @@ Optional Features:
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   --enable-maintainer-mode  enable make rules and dependencies not useful
 			  (and sometimes confusing) to the casual installer
+  --disable-largefile     omit support for large files
   --disable-dependency-tracking  speeds up one-time build
   --enable-dependency-tracking   do not reject slow dependency extractors
   --enable-targets        alternative target configurations
@@ -3313,6 +3314,370 @@ _ACEOF
 
 
 
+# Check whether --enable-largefile or --disable-largefile was given.
+if test "${enable_largefile+set}" = set; then
+  enableval="$enable_largefile"
+
+fi;
+if test "$enable_largefile" != no; then
+
+  echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5
+echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6
+if test "${ac_cv_sys_largefile_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_sys_largefile_CC=no
+     if test "$GCC" != yes; then
+       ac_save_CC=$CC
+       while :; do
+     	 # IRIX 6.2 and later do not support large files by default,
+     	 # so use the C compiler's -n32 option if that helps.
+	 cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+     	 rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext
+     	 CC="$CC -n32"
+     	 rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_sys_largefile_CC=' -n32'; break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext
+	 break
+       done
+       CC=$ac_save_CC
+       rm -f conftest.$ac_ext
+    fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5
+echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6
+  if test "$ac_cv_sys_largefile_CC" != no; then
+    CC=$CC$ac_cv_sys_largefile_CC
+  fi
+
+  echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6
+if test "${ac_cv_sys_file_offset_bits+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  while :; do
+  ac_cv_sys_file_offset_bits=no
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#define _FILE_OFFSET_BITS 64
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_sys_file_offset_bits=64; break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+  break
+done
+fi
+echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5
+echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6
+if test "$ac_cv_sys_file_offset_bits" != no; then
+
+cat >>confdefs.h <<_ACEOF
+#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
+_ACEOF
+
+fi
+rm -f conftest*
+  echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5
+echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6
+if test "${ac_cv_sys_large_files+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  while :; do
+  ac_cv_sys_large_files=no
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#define _LARGE_FILES 1
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+    We can't simply define LARGE_OFF_T to be 9223372036854775807,
+    since some C++ compilers masquerading as C compilers
+    incorrectly reject 9223372036854775807.  */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+		       && LARGE_OFF_T % 2147483647 == 1)
+		      ? 1 : -1];
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_sys_large_files=1; break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+  break
+done
+fi
+echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5
+echo "${ECHO_T}$ac_cv_sys_large_files" >&6
+if test "$ac_cv_sys_large_files" != no; then
+
+cat >>confdefs.h <<_ACEOF
+#define _LARGE_FILES $ac_cv_sys_large_files
+_ACEOF
+
+fi
+rm -f conftest*
+fi
+
 
 
 


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/.cvsignore,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- .cvsignore	2 Mar 2009 00:11:34 -0000	1.31
+++ .cvsignore	2 Mar 2009 23:14:15 -0000	1.32
@@ -1 +1 @@
-gdb-6.8.50.20090228.tar.bz2
+gdb-6.8.50.20090302.tar.bz2

gdb-6.3-readnever-20050907.patch:

Index: gdb-6.3-readnever-20050907.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.3-readnever-20050907.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- gdb-6.3-readnever-20050907.patch	2 Mar 2009 00:11:35 -0000	1.4
+++ gdb-6.3-readnever-20050907.patch	2 Mar 2009 23:14:15 -0000	1.5
@@ -11,10 +11,10 @@
 
         * gdb.texinfo (File Options): Document --readnever.
 
-Index: gdb-6.8.50.20090226/gdb/doc/gdb.texinfo
+Index: gdb-6.8.50.20090228/gdb/doc/gdb.texinfo
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/doc/gdb.texinfo	2009-02-27 00:04:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/doc/gdb.texinfo	2009-02-28 07:19:50.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/doc/gdb.texinfo	2009-03-02 01:01:15.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/doc/gdb.texinfo	2009-03-02 01:01:23.000000000 +0100
 @@ -988,6 +988,12 @@ Read each symbol file's entire symbol ta
  the default, which is to read it incrementally as it is needed.
  This makes startup slower, but makes future operations faster.
@@ -28,10 +28,10 @@
  @end table
  
  @node Mode Options
-Index: gdb-6.8.50.20090226/gdb/main.c
+Index: gdb-6.8.50.20090228/gdb/main.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/main.c	2009-02-28 07:15:57.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/main.c	2009-02-28 07:20:20.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/main.c	2009-03-02 01:01:17.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/main.c	2009-03-02 01:01:23.000000000 +0100
 @@ -427,6 +427,7 @@ captured_main (void *data)
        {"xdb", no_argument, &xdb_commands, 1},
        {"dbx", no_argument, &dbx_commands, 1},
@@ -48,10 +48,10 @@
  "), stream);
    fputs_unfiltered (_("\
    --se=FILE          Use FILE as symbol file and executable file.\n\
-Index: gdb-6.8.50.20090226/gdb/symfile.c
+Index: gdb-6.8.50.20090228/gdb/symfile.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/symfile.c	2009-02-27 07:51:56.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/symfile.c	2009-02-28 07:19:50.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/symfile.c	2009-03-02 01:01:17.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/symfile.c	2009-03-02 01:01:23.000000000 +0100
 @@ -77,6 +77,7 @@ static void clear_symtab_users_cleanup (
  
  /* Global variables owned by this file */
@@ -60,19 +60,19 @@
  
  /* External variables and functions referenced. */
  
-Index: gdb-6.8.50.20090226/gdb/dwarf2read.c
+Index: gdb-6.8.50.20090228/gdb/dwarf2read.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/dwarf2read.c	2009-02-27 00:04:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/dwarf2read.c	2009-02-28 07:21:27.000000000 +0100
-@@ -48,6 +48,7 @@
- #include "gdbcmd.h"
- #include "addrmap.h"
+--- gdb-6.8.50.20090228.orig/gdb/dwarf2read.c	2009-03-02 01:01:15.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/dwarf2read.c	2009-03-02 01:01:36.000000000 +0100
+@@ -49,6 +49,7 @@
  #include "f-lang.h"
+ #include "c-lang.h"
+ #include "typeprint.h"
 +#include "top.h"
  
  #include <fcntl.h>
  #include "gdb_string.h"
-@@ -1169,7 +1170,8 @@ dwarf2_has_info (struct objfile *objfile
+@@ -1161,7 +1162,8 @@ dwarf2_has_info (struct objfile *objfile
    dwarf_aranges_section = 0;
    
    bfd_map_over_sections (objfile->obfd, dwarf2_locate_sections, &update_sizes);
@@ -82,10 +82,10 @@
  }
  
  /* When loading sections, we can either look for ".<name>", or for
-Index: gdb-6.8.50.20090226/gdb/top.h
+Index: gdb-6.8.50.20090228/gdb/top.h
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/top.h	2009-01-03 06:57:53.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/top.h	2009-02-28 07:19:50.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/top.h	2009-01-03 06:57:53.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/top.h	2009-03-02 01:01:23.000000000 +0100
 @@ -59,6 +59,7 @@ extern void set_prompt (char *);
  
  /* From random places.  */

gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch:

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.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch	2 Mar 2009 00:11:35 -0000	1.9
+++ gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch	2 Mar 2009 23:14:15 -0000	1.10
@@ -30,52 +30,11 @@
   <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.20090226/gdb/dwarf2read.c
+Index: gdb-6.8.50.20090228/gdb/gdbtypes.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/dwarf2read.c	2009-02-28 07:22:44.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/dwarf2read.c	2009-02-28 07:31:33.000000000 +0100
-@@ -6376,6 +6376,8 @@ read_partial_die (struct partial_die_inf
-       switch (attr.name)
- 	{
- 	case DW_AT_name:
-+	  /* Prefer DW_AT_MIPS_linkage_name over DW_AT_name for non-C.  */
-+if (cu->language == language_c || part_die->name == NULL)
- 	  switch (part_die->tag)
- 	    {
- 	    case DW_TAG_compile_unit:
-@@ -6399,7 +6401,9 @@ read_partial_die (struct partial_die_inf
- 	    part_die->dirname = DW_STRING (&attr);
- 	  break;
- 	case DW_AT_MIPS_linkage_name:
--	  part_die->name = DW_STRING (&attr);
-+	  /* Prefer DW_AT_MIPS_linkage_name over DW_AT_name for non-C.  */
-+	  if (cu->language != language_c || part_die->name == NULL)
-+	    part_die->name = DW_STRING (&attr);
- 	  break;
- 	case DW_AT_low_pc:
- 	  has_low_pc_attr = 1;
-@@ -8650,9 +8654,13 @@ dwarf2_linkage_name (struct die_info *di
- {
-   struct attribute *attr;
- 
--  attr = dwarf2_attr (die, DW_AT_MIPS_linkage_name, cu);
--  if (attr && DW_STRING (attr))
--    return DW_STRING (attr);
-+  /* Prefer DW_AT_MIPS_linkage_name over DW_AT_name for non-C.  */
-+  if (cu->language != language_c)
-+    {
-+      attr = dwarf2_attr (die, DW_AT_MIPS_linkage_name, cu);
-+      if (attr && DW_STRING (attr))
-+	return DW_STRING (attr);
-+    }
-   return dwarf2_name (die, cu);
- }
- 
-Index: gdb-6.8.50.20090226/gdb/gdbtypes.c
-===================================================================
---- gdb-6.8.50.20090226.orig/gdb/gdbtypes.c	2009-02-27 00:04:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/gdbtypes.c	2009-02-28 07:22:55.000000000 +0100
-@@ -3643,6 +3643,8 @@ gdbtypes_post_init (struct gdbarch *gdba
+--- gdb-6.8.50.20090228.orig/gdb/gdbtypes.c	2009-03-02 01:01:15.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/gdbtypes.c	2009-03-02 01:01:53.000000000 +0100
+@@ -3633,6 +3633,8 @@ gdbtypes_post_init (struct gdbarch *gdba
      init_type (TYPE_CODE_INT, 
  	       gdbarch_int_bit (gdbarch) / TARGET_CHAR_BIT,
  	       0, "int", OBJFILE_INTERNAL);
@@ -84,7 +43,7 @@
    builtin_type->builtin_unsigned_int =
      init_type (TYPE_CODE_INT, 
  	       gdbarch_int_bit (gdbarch) / TARGET_CHAR_BIT,
-@@ -3752,6 +3754,12 @@ gdbtypes_post_init (struct gdbarch *gdba
+@@ -3742,6 +3744,12 @@ gdbtypes_post_init (struct gdbarch *gdba
  	       "<text variable, no debug info>", OBJFILE_INTERNAL);
    TYPE_TARGET_TYPE (builtin_type->nodebug_text_symbol) =
      builtin_type->builtin_int;
@@ -97,10 +56,10 @@
    builtin_type->nodebug_data_symbol =
      init_type (TYPE_CODE_INT, 
  	       gdbarch_int_bit (gdbarch) / HOST_CHAR_BIT, 0,
-Index: gdb-6.8.50.20090226/gdb/gdbtypes.h
+Index: gdb-6.8.50.20090228/gdb/gdbtypes.h
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/gdbtypes.h	2009-02-27 00:04:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/gdbtypes.h	2009-02-28 07:22:55.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/gdbtypes.h	2009-03-02 01:01:15.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/gdbtypes.h	2009-03-02 01:01:53.000000000 +0100
 @@ -1053,6 +1053,7 @@ struct builtin_type
  
    /* Types used for symbols with no debug information.  */
@@ -117,10 +76,10 @@
    struct type *builtin_long;
    struct type *builtin_signed_char;
    struct type *builtin_unsigned_char;
-Index: gdb-6.8.50.20090226/gdb/parse.c
+Index: gdb-6.8.50.20090228/gdb/parse.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/parse.c	2009-02-27 00:04:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/parse.c	2009-02-28 07:22:55.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/parse.c	2009-03-02 01:01:15.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/parse.c	2009-03-02 01:01:53.000000000 +0100
 @@ -508,7 +508,12 @@ write_exp_msymbol (struct minimal_symbol
      case mst_text:
      case mst_file_text:
@@ -135,10 +94,10 @@
        break;
  
      case mst_data:
-Index: gdb-6.8.50.20090226/gdb/target.c
+Index: gdb-6.8.50.20090228/gdb/target.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/target.c	2009-02-28 07:22:09.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/target.c	2009-02-28 07:22:55.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/target.c	2009-03-02 01:01:44.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/target.c	2009-03-02 01:01:53.000000000 +0100
 @@ -827,6 +827,25 @@ pop_all_targets (int quitting)
    pop_all_targets_above (dummy_stratum, quitting);
  }
@@ -195,10 +154,10 @@
  
    return addr;
  }
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.dwarf2/dw2-errno.c
+Index: gdb-6.8.50.20090228/gdb/testsuite/gdb.dwarf2/dw2-errno.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.dwarf2/dw2-errno.c	2009-02-28 07:22:55.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/testsuite/gdb.dwarf2/dw2-errno.c	2009-03-02 01:01:53.000000000 +0100
 @@ -0,0 +1,28 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -228,10 +187,10 @@
 +
 +  return 0;	/* breakpoint */
 +}
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.dwarf2/dw2-errno.exp
+Index: gdb-6.8.50.20090228/gdb/testsuite/gdb.dwarf2/dw2-errno.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.dwarf2/dw2-errno.exp	2009-02-28 07:22:55.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/testsuite/gdb.dwarf2/dw2-errno.exp	2009-03-02 01:01:53.000000000 +0100
 @@ -0,0 +1,67 @@
 +# Copyright 2007 Free Software Foundation, Inc.
 +

gdb-6.8-fortran-tag-constant.patch:

Index: gdb-6.8-fortran-tag-constant.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.8-fortran-tag-constant.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- gdb-6.8-fortran-tag-constant.patch	11 Feb 2009 00:43:22 -0000	1.3
+++ gdb-6.8-fortran-tag-constant.patch	2 Mar 2009 23:14:15 -0000	1.4
@@ -1,8 +1,8 @@
-Index: gdb-6.8.50.20090210/gdb/dwarf2read.c
+Index: gdb-6.8.50.20090228/gdb/dwarf2read.c
 ===================================================================
---- gdb-6.8.50.20090210.orig/gdb/dwarf2read.c	2009-02-11 01:25:45.000000000 +0100
-+++ gdb-6.8.50.20090210/gdb/dwarf2read.c	2009-02-11 01:26:25.000000000 +0100
-@@ -1845,6 +1845,7 @@ scan_partial_symbols (struct partial_die
+--- gdb-6.8.50.20090228.orig/gdb/dwarf2read.c	2009-03-02 01:07:36.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/dwarf2read.c	2009-03-02 01:07:50.000000000 +0100
+@@ -1996,6 +1996,7 @@ scan_partial_symbols (struct partial_die
  	      add_partial_subprogram (pdi, lowpc, highpc, need_pc, cu);
  	      break;
  	    case DW_TAG_variable:
@@ -10,7 +10,7 @@
  	    case DW_TAG_typedef:
  	    case DW_TAG_union_type:
  	      if (!pdi->is_declaration)
-@@ -2030,6 +2031,7 @@ add_partial_symbol (struct partial_die_i
+@@ -2211,6 +2212,7 @@ add_partial_symbol (struct partial_die_i
  	}
        break;
      case DW_TAG_variable:
@@ -18,15 +18,7 @@
        if (pdi->is_external)
  	{
  	  /* Global Variable.
-@@ -2895,6 +2897,7 @@ dwarf2_full_name (struct die_info *die, 
-   if (!pdi_needs_namespace (die->tag)
-       && die->tag != DW_TAG_subprogram
-       && die->tag != DW_TAG_variable
-+      && die->tag != DW_TAG_constant
-       && die->tag != DW_TAG_member)
-     return name;
- 
-@@ -3735,7 +3738,8 @@ dwarf2_add_field (struct field_info *fip
+@@ -4213,7 +4215,8 @@ dwarf2_add_field (struct field_info *fip
  	  fip->non_public_fields = 1;
  	}
      }
@@ -36,7 +28,7 @@
      {
        /* C++ static member.  */
  
-@@ -4213,7 +4217,8 @@ read_structure_type (struct die_info *di
+@@ -4703,7 +4706,8 @@ read_structure_type (struct die_info *di
        while (child_die && child_die->tag)
  	{
  	  if (child_die->tag == DW_TAG_member
@@ -46,7 +38,7 @@
  	    {
  	      /* NOTE: carlton/2002-11-05: A C++ static data member
  		 should be a DW_TAG_member that is a declaration, but
-@@ -4332,6 +4337,7 @@ process_structure_scope (struct die_info
+@@ -4822,6 +4826,7 @@ process_structure_scope (struct die_info
      {
        if (child_die->tag == DW_TAG_member
  	  || child_die->tag == DW_TAG_variable
@@ -54,7 +46,7 @@
  	  || child_die->tag == DW_TAG_inheritance)
  	{
  	  /* Do nothing.  */
-@@ -5862,6 +5868,7 @@ load_partial_dies (bfd *abfd, gdb_byte *
+@@ -6455,6 +6460,7 @@ load_partial_dies (bfd *abfd, gdb_byte *
  	  && abbrev->tag != DW_TAG_subprogram
  	  && abbrev->tag != DW_TAG_lexical_block
  	  && abbrev->tag != DW_TAG_variable
@@ -62,7 +54,7 @@
  	  && abbrev->tag != DW_TAG_namespace
  	  && abbrev->tag != DW_TAG_member)
  	{
-@@ -5969,6 +5976,7 @@ load_partial_dies (bfd *abfd, gdb_byte *
+@@ -6562,6 +6568,7 @@ load_partial_dies (bfd *abfd, gdb_byte *
        if (load_all
  	  || abbrev->tag == DW_TAG_subprogram
  	  || abbrev->tag == DW_TAG_variable
@@ -70,7 +62,7 @@
  	  || abbrev->tag == DW_TAG_namespace
  	  || part_die->is_declaration)
  	{
-@@ -7759,6 +7767,11 @@ new_symbol (struct die_info *die, struct
+@@ -8341,6 +8348,11 @@ new_symbol (struct die_info *die, struct
  	  /* Do not add the symbol to any lists.  It will be found via
  	     BLOCK_FUNCTION from the blockvector.  */
  	  break;

gdb-6.8-inlining.patch:

Index: gdb-6.8-inlining.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.8-inlining.patch,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- gdb-6.8-inlining.patch	2 Mar 2009 00:11:35 -0000	1.8
+++ gdb-6.8-inlining.patch	2 Mar 2009 23:14:15 -0000	1.9
@@ -5,10 +5,10 @@
 
 Removed dwarf_expr_frame_base NULL check duplicity with *-vla.patch.
 
-Index: gdb-6.8.50.20090226/gdb/NEWS
+Index: gdb-6.8.50.20090228/gdb/NEWS
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/NEWS	2009-02-27 00:04:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/NEWS	2009-02-28 07:34:29.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/NEWS	2009-03-02 01:01:15.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/NEWS	2009-03-02 01:04:45.000000000 +0100
 @@ -1,6 +1,11 @@
  		What has changed in GDB?
  	     (Organized release by release)
@@ -21,10 +21,10 @@
  *** Changes since GDB 6.8
  
  * GDB now has support for multi-byte and wide character sets on the
-Index: gdb-6.8.50.20090226/gdb/block.c
+Index: gdb-6.8.50.20090228/gdb/block.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/block.c	2009-01-03 06:57:50.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/block.c	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/block.c	2009-03-02 01:01:15.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/block.c	2009-03-02 01:04:45.000000000 +0100
 @@ -47,8 +47,16 @@ contained_in (const struct block *a, con
  {
    if (!a || !b)
@@ -67,10 +67,10 @@
  /* Return the blockvector immediately containing the innermost lexical
     block containing the specified pc value and section, or 0 if there
     is none.  PBLOCK is a pointer to the block.  If PBLOCK is NULL, we
-Index: gdb-6.8.50.20090226/gdb/block.h
+Index: gdb-6.8.50.20090228/gdb/block.h
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/block.h	2009-01-03 06:57:50.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/block.h	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/block.h	2009-01-03 06:57:50.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/block.h	2009-03-02 01:04:45.000000000 +0100
 @@ -65,7 +65,7 @@ struct block
    CORE_ADDR endaddr;
  
@@ -89,10 +89,10 @@
  extern int contained_in (const struct block *, const struct block *);
  
  extern struct blockvector *blockvector_for_pc (CORE_ADDR, struct block **);
-Index: gdb-6.8.50.20090226/gdb/blockframe.c
+Index: gdb-6.8.50.20090228/gdb/blockframe.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/blockframe.c	2009-01-03 06:57:50.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/blockframe.c	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/blockframe.c	2009-01-03 06:57:50.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/blockframe.c	2009-03-02 01:04:45.000000000 +0100
 @@ -36,6 +36,7 @@
  #include "command.h"
  #include "gdbcmd.h"
@@ -161,10 +161,10 @@
  	return frame;
  
        frame = get_prev_frame (frame);
-Index: gdb-6.8.50.20090226/gdb/breakpoint.c
+Index: gdb-6.8.50.20090228/gdb/breakpoint.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/breakpoint.c	2009-02-28 07:33:47.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/breakpoint.c	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/breakpoint.c	2009-03-02 01:04:33.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/breakpoint.c	2009-03-02 01:04:45.000000000 +0100
 @@ -2641,19 +2641,21 @@ watchpoint_check (void *p)
      within_current_scope = 1;
    else
@@ -342,11 +342,11 @@
  					      bp_until);
        make_cleanup_delete_breakpoint (breakpoint2);
      }
-Index: gdb-6.8.50.20090226/gdb/buildsym.c
+Index: gdb-6.8.50.20090228/gdb/buildsym.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/buildsym.c	2009-01-03 06:57:50.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/buildsym.c	2009-02-28 07:34:09.000000000 +0100
-@@ -1159,6 +1159,12 @@ end_symtab (CORE_ADDR end_addr, struct o
+--- gdb-6.8.50.20090228.orig/gdb/buildsym.c	2009-03-02 01:01:15.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/buildsym.c	2009-03-02 01:04:45.000000000 +0100
+@@ -1155,6 +1155,12 @@ end_symtab (CORE_ADDR end_addr, struct o
  	  struct symbol *sym;
  	  struct dict_iterator iter;
  
@@ -359,10 +359,10 @@
  	  for (sym = dict_iterator_first (BLOCK_DICT (block), &iter);
  	       sym != NULL;
  	       sym = dict_iterator_next (&iter))
-Index: gdb-6.8.50.20090226/gdb/doc/gdb.texinfo
+Index: gdb-6.8.50.20090228/gdb/doc/gdb.texinfo
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/doc/gdb.texinfo	2009-02-28 07:33:47.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/doc/gdb.texinfo	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/doc/gdb.texinfo	2009-03-02 01:04:33.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/doc/gdb.texinfo	2009-03-02 01:04:45.000000000 +0100
 @@ -137,6 +137,7 @@ software in general.  We will miss him.
  * Stack::                       Examining the stack
  * Source::                      Examining source files
@@ -512,10 +512,10 @@
  @node Macros
  @chapter C Preprocessor Macros
  
-Index: gdb-6.8.50.20090226/gdb/dwarf2loc.c
+Index: gdb-6.8.50.20090228/gdb/dwarf2loc.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/dwarf2loc.c	2009-02-27 00:04:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/dwarf2loc.c	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/dwarf2loc.c	2009-03-02 01:01:15.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/dwarf2loc.c	2009-03-02 01:04:45.000000000 +0100
 @@ -31,6 +31,7 @@
  #include "regcache.h"
  #include "objfiles.h"
@@ -536,19 +536,19 @@
  
    /* If we found a frame-relative symbol then it was certainly within
       some function associated with a frame. If we can't find the frame,
-Index: gdb-6.8.50.20090226/gdb/dwarf2read.c
+Index: gdb-6.8.50.20090228/gdb/dwarf2read.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/dwarf2read.c	2009-02-28 07:33:47.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/dwarf2read.c	2009-02-28 07:36:45.000000000 +0100
-@@ -49,6 +49,7 @@
- #include "addrmap.h"
- #include "f-lang.h"
+--- gdb-6.8.50.20090228.orig/gdb/dwarf2read.c	2009-03-02 01:04:32.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/dwarf2read.c	2009-03-02 01:07:36.000000000 +0100
+@@ -50,6 +50,7 @@
+ #include "c-lang.h"
+ #include "typeprint.h"
  #include "top.h"
 +#include "block.h"
  
  #include <fcntl.h>
  #include "gdb_string.h"
-@@ -2947,12 +2948,8 @@ process_die (struct die_info *die, struc
+@@ -2984,12 +2985,8 @@ process_die (struct die_info *die, struc
        read_file_scope (die, cu);
        break;
      case DW_TAG_subprogram:
@@ -562,10 +562,10 @@
        break;
      case DW_TAG_lexical_block:
      case DW_TAG_try_block:
-@@ -3233,6 +3230,22 @@ read_func_scope (struct die_info *die, s
+@@ -3464,6 +3461,22 @@ read_func_scope (struct die_info *die, s
    CORE_ADDR baseaddr;
    struct block *block;
-   unsigned die_children;
+   unsigned die_children = 0;
 +  struct attribute *call_line, *call_file;
 +  int inlined_func = (die->tag == DW_TAG_inlined_subroutine);
 +
@@ -585,7 +585,7 @@
  
    baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
  
-@@ -7310,6 +7323,9 @@ die_specification (struct die_info *die,
+@@ -7526,6 +7539,9 @@ die_specification (struct die_info *die,
  					     *spec_cu);
  
    if (spec_attr == NULL)
@@ -595,7 +595,7 @@
      return NULL;
    else
      return follow_die_ref (die, spec_attr, spec_cu);
-@@ -7993,6 +8009,7 @@ new_symbol (struct die_info *die, struct
+@@ -8209,6 +8225,7 @@ new_symbol (struct die_info *die, struct
    struct attribute *attr = NULL;
    struct attribute *attr2 = NULL;
    CORE_ADDR baseaddr;
@@ -603,7 +603,7 @@
  
    baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
  
-@@ -8022,13 +8039,17 @@ new_symbol (struct die_info *die, struct
+@@ -8259,13 +8276,17 @@ new_symbol (struct die_info *die, struct
  	SYMBOL_TYPE (sym) = type;
        else
  	SYMBOL_TYPE (sym) = die_type (die, cu);
@@ -623,7 +623,7 @@
        if (attr)
  	{
  	  int file_index = DW_UNSND (attr);
-@@ -8075,6 +8096,14 @@ new_symbol (struct die_info *die, struct
+@@ -8312,6 +8333,14 @@ new_symbol (struct die_info *die, struct
  	      add_symbol_to_list (sym, cu->list_in_scope);
  	    }
  	  break;
@@ -638,7 +638,7 @@
  	case DW_TAG_variable:
  	  /* Compilation with minimal debug info may result in variables
  	     with missing type entries. Change the misleading `void' type
-@@ -8130,7 +8159,14 @@ new_symbol (struct die_info *die, struct
+@@ -8367,7 +8396,14 @@ new_symbol (struct die_info *die, struct
  	    }
  	  break;
  	case DW_TAG_formal_parameter:
@@ -654,10 +654,10 @@
  	  attr = dwarf2_attr (die, DW_AT_location, cu);
  	  if (attr)
  	    {
-Index: gdb-6.8.50.20090226/gdb/frame-unwind.c
+Index: gdb-6.8.50.20090228/gdb/frame-unwind.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/frame-unwind.c	2009-01-03 06:57:51.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/frame-unwind.c	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/frame-unwind.c	2009-01-03 06:57:51.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/frame-unwind.c	2009-03-02 01:04:45.000000000 +0100
 @@ -21,6 +21,7 @@
  #include "frame.h"
  #include "frame-unwind.h"
@@ -678,10 +678,10 @@
    return table;
  }
  
-Index: gdb-6.8.50.20090226/gdb/frame.c
+Index: gdb-6.8.50.20090228/gdb/frame.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/frame.c	2009-02-28 07:22:02.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/frame.c	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/frame.c	2009-03-02 01:01:44.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/frame.c	2009-03-02 01:04:45.000000000 +0100
 @@ -41,8 +41,14 @@
  #include "objfiles.h"
  #include "exceptions.h"
@@ -1038,10 +1038,10 @@
  }
  
  /* Per "frame.h", return the ``address'' of the frame.  Code should
-Index: gdb-6.8.50.20090226/gdb/frame.h
+Index: gdb-6.8.50.20090228/gdb/frame.h
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/frame.h	2009-02-05 18:28:20.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/frame.h	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/frame.h	2009-02-05 18:28:20.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/frame.h	2009-03-02 01:04:45.000000000 +0100
 @@ -34,6 +34,9 @@
     frame_unwind_WHAT...(): Unwind THIS frame's WHAT from the NEXT
     frame.
@@ -1103,10 +1103,10 @@
  extern struct frame_id frame_unwind_id (struct frame_info *next_frame);
  
  /* Assuming that a frame is `normal', return its base-address, or 0 if
-Index: gdb-6.8.50.20090226/gdb/gdbthread.h
+Index: gdb-6.8.50.20090228/gdb/gdbthread.h
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/gdbthread.h	2009-02-27 00:04:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/gdbthread.h	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/gdbthread.h	2009-03-02 01:01:15.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/gdbthread.h	2009-03-02 01:04:45.000000000 +0100
 @@ -83,6 +83,13 @@ struct thread_info
       This is how we know when we step into a subroutine call, and how
       to set the frame for the breakpoint used to step out.  */
@@ -1121,10 +1121,10 @@
    int current_line;
    struct symtab *current_symtab;
  
-Index: gdb-6.8.50.20090226/gdb/infcall.c
+Index: gdb-6.8.50.20090228/gdb/infcall.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/infcall.c	2009-02-27 00:04:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/infcall.c	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/infcall.c	2009-03-02 01:01:15.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/infcall.c	2009-03-02 01:04:45.000000000 +0100
 @@ -898,15 +898,8 @@ The program being debugged exited while 
  
  	  if (unwind_on_signal_p)
@@ -1143,10 +1143,10 @@
  
  	      /* 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.20090226/gdb/infcmd.c
+Index: gdb-6.8.50.20090228/gdb/infcmd.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/infcmd.c	2009-02-27 00:04:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/infcmd.c	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/infcmd.c	2009-03-02 01:01:15.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/infcmd.c	2009-03-02 01:04:45.000000000 +0100
 @@ -52,6 +52,7 @@
  #include "cli/cli-decode.h"
  #include "gdbthread.h"
@@ -1248,10 +1248,10 @@
    /* Find the function we will return from.  */
  
    function = find_pc_function (get_frame_pc (get_selected_frame (NULL)));
-Index: gdb-6.8.50.20090226/gdb/inferior.h
+Index: gdb-6.8.50.20090228/gdb/inferior.h
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/inferior.h	2009-02-27 00:04:34.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/inferior.h	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/inferior.h	2009-03-02 01:01:15.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/inferior.h	2009-03-02 01:04:45.000000000 +0100
 @@ -259,6 +259,9 @@ extern void error_is_running (void);
  /* Calls error_is_running if the current thread is running.  */
  extern void ensure_not_running (void);
@@ -1262,10 +1262,10 @@
  /* From infcmd.c */
  
  extern void tty_command (char *, int);
-Index: gdb-6.8.50.20090226/gdb/infrun.c
+Index: gdb-6.8.50.20090228/gdb/infrun.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/infrun.c	2009-02-28 07:31:50.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/infrun.c	2009-02-28 07:37:36.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/infrun.c	2009-03-02 01:04:32.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/infrun.c	2009-03-02 01:04:45.000000000 +0100
 @@ -48,6 +48,7 @@
  #include "gdb_assert.h"
  #include "mi/mi-common.h"
@@ -1538,10 +1538,10 @@
    tp->step_over_calls = inf_status->step_over_calls;
    stop_after_trap = inf_status->stop_after_trap;
    inf->stop_soon = inf_status->stop_soon;
-Index: gdb-6.8.50.20090226/gdb/inline-frame.c
+Index: gdb-6.8.50.20090228/gdb/inline-frame.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090226/gdb/inline-frame.c	2009-02-28 07:34:09.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/inline-frame.c	2009-03-02 01:04:45.000000000 +0100
 @@ -0,0 +1,382 @@
 +/* Inline frame unwinder for GDB.
 +
@@ -1925,10 +1925,10 @@
 +
 +  return inline_count;
 +}
-Index: gdb-6.8.50.20090226/gdb/inline-frame.h
+Index: gdb-6.8.50.20090228/gdb/inline-frame.h
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090226/gdb/inline-frame.h	2009-02-28 07:34:09.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/inline-frame.h	2009-03-02 01:04:45.000000000 +0100
 @@ -0,0 +1,62 @@
 +/* Definitions for inline frame support.
 +
@@ -1992,11 +1992,11 @@
 +int frame_inlined_callees (struct frame_info *this_frame);
 +
 +#endif /* !defined (INLINE_FRAME_H) */
-Index: gdb-6.8.50.20090226/gdb/minsyms.c
+Index: gdb-6.8.50.20090228/gdb/minsyms.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/minsyms.c	2009-02-28 07:31:49.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/minsyms.c	2009-02-28 07:34:09.000000000 +0100
-@@ -767,7 +767,7 @@ prim_record_minimal_symbol_and_info (con
+--- gdb-6.8.50.20090228.orig/gdb/minsyms.c	2009-03-02 01:04:32.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/minsyms.c	2009-03-02 01:04:45.000000000 +0100
+@@ -795,7 +795,7 @@ prim_record_minimal_symbol_and_info (con
  
    if (msym_bunch_index == BUNCH_SIZE)
      {
@@ -2005,10 +2005,10 @@
        msym_bunch_index = 0;
        new->next = msym_bunch;
        msym_bunch = new;
-Index: gdb-6.8.50.20090226/gdb/s390-tdep.c
+Index: gdb-6.8.50.20090228/gdb/s390-tdep.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/s390-tdep.c	2009-02-22 02:02:19.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/s390-tdep.c	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/s390-tdep.c	2009-02-22 02:02:19.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/s390-tdep.c	2009-03-02 01:04:45.000000000 +0100
 @@ -1182,6 +1182,7 @@ s390_prologue_frame_unwind_cache (struct
    CORE_ADDR prev_sp;
    int frame_pointer;
@@ -2042,10 +2042,10 @@
  	  || get_frame_type (get_next_frame (this_frame)) != NORMAL_FRAME))
      {
        /* See the comment in s390_in_function_epilogue_p on why this is
-Index: gdb-6.8.50.20090226/gdb/stack.c
+Index: gdb-6.8.50.20090228/gdb/stack.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/stack.c	2009-02-27 00:04:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/stack.c	2009-02-28 07:35:20.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/stack.c	2009-03-02 01:01:15.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/stack.c	2009-03-02 01:04:45.000000000 +0100
 @@ -45,6 +45,7 @@
  #include "valprint.h"
  #include "gdbthread.h"
@@ -2192,26 +2192,27 @@
    /* Compute the return value.  If the computation triggers an error,
       let it bail.  If the return type can't be handled, set
       RETURN_VALUE to NULL, and QUERY_PREFIX to an informational
-Index: gdb-6.8.50.20090226/gdb/symtab.c
+Index: gdb-6.8.50.20090228/gdb/symtab.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/symtab.c	2009-02-28 07:31:49.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/symtab.c	2009-02-28 07:34:09.000000000 +0100
-@@ -1408,10 +1408,13 @@ lookup_symbol_aux_local (const char *nam
+--- gdb-6.8.50.20090228.orig/gdb/symtab.c	2009-03-02 01:04:32.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/symtab.c	2009-03-02 01:06:36.000000000 +0100
+@@ -1414,11 +1414,14 @@ lookup_symbol_aux_local (const char *nam
        sym = lookup_symbol_aux_block (name, linkage_name, block, domain);
        if (sym != NULL)
  	return sym;
 +
 +      if (BLOCK_FUNCTION (block) != NULL && block_inlined_p (block))
 +	break;
+     
        block = BLOCK_SUPERBLOCK (block);
      }
  
--  /* We've reached the static block without finding a result.  */
+-  /* We've reached the global block without finding a result.  */
 +  /* We've reached the edge of the function without finding a result.  */
  
    return NULL;
  }
-@@ -2668,6 +2671,7 @@ find_function_start_sal (struct symbol *
+@@ -2675,6 +2678,7 @@ find_function_start_sal (struct symbol *
  
    CORE_ADDR pc;
    struct symtab_and_line sal;
@@ -2219,7 +2220,7 @@
  
    pc = BLOCK_START (block);
    fixup_symbol_section (sym, objfile);
-@@ -2706,6 +2710,25 @@ find_function_start_sal (struct symbol *
+@@ -2713,6 +2717,25 @@ find_function_start_sal (struct symbol *
  
    sal.pc = pc;
  
@@ -2245,7 +2246,7 @@
    return sal;
  }
  
-@@ -3728,6 +3751,24 @@ add_macro_name (const char *name, const 
+@@ -3735,6 +3758,24 @@ add_macro_name (const char *name, const 
  			    datum->text, datum->word);
  }
  
@@ -2270,7 +2271,7 @@
  char **
  default_make_symbol_completion_list (char *text, char *word)
  {
-@@ -3740,9 +3781,9 @@ default_make_symbol_completion_list (cha
+@@ -3747,9 +3788,9 @@ default_make_symbol_completion_list (cha
    struct partial_symtab *ps;
    struct minimal_symbol *msymbol;
    struct objfile *objfile;
@@ -2282,7 +2283,7 @@
    struct partial_symbol **psym;
    /* The symbol we are completing on.  Points in same buffer as text.  */
    char *sym_text;
-@@ -3852,41 +3893,43 @@ default_make_symbol_completion_list (cha
+@@ -3859,41 +3900,43 @@ default_make_symbol_completion_list (cha
    }
  
    /* Search upwards from currently selected frame (so that we can
@@ -2357,7 +2358,7 @@
  
    /* Go through the symtabs and check the externs and statics for
       symbols which match.  */
-@@ -3905,9 +3948,6 @@ default_make_symbol_completion_list (cha
+@@ -3912,9 +3955,6 @@ default_make_symbol_completion_list (cha
    {
      QUIT;
      b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), STATIC_BLOCK);
@@ -2367,7 +2368,7 @@
      ALL_BLOCK_SYMBOLS (b, iter, sym)
        {
  	COMPLETION_LIST_ADD_SYMBOL (sym, sym_text, sym_text_len, text, word);
-@@ -4374,6 +4414,25 @@ skip_prologue_using_sal (CORE_ADDR func_
+@@ -4381,6 +4421,25 @@ skip_prologue_using_sal (CORE_ADDR func_
  	     line mark the prologue -> body transition.  */
  	  if (sal.line >= prologue_sal.line)
  	    break;
@@ -2393,11 +2394,11 @@
  	  /* The case in which compiler's optimizer/scheduler has
  	     moved instructions into the prologue.  We look ahead in
  	     the function looking for address ranges whose
-Index: gdb-6.8.50.20090226/gdb/symtab.h
+Index: gdb-6.8.50.20090228/gdb/symtab.h
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/symtab.h	2009-02-27 00:04:32.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/symtab.h	2009-02-28 07:34:09.000000000 +0100
-@@ -559,9 +559,18 @@ struct symbol
+--- gdb-6.8.50.20090228.orig/gdb/symtab.h	2009-03-02 01:01:15.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/symtab.h	2009-03-02 01:04:45.000000000 +0100
+@@ -556,9 +556,18 @@ struct symbol
  
    unsigned is_argument : 1;
  
@@ -2419,7 +2420,7 @@
  
    unsigned short line;
  
-@@ -592,6 +601,7 @@ struct symbol
+@@ -589,6 +598,7 @@ struct symbol
  #define SYMBOL_DOMAIN(symbol)	(symbol)->domain
  #define SYMBOL_CLASS(symbol)		(symbol)->aclass
  #define SYMBOL_IS_ARGUMENT(symbol)	(symbol)->is_argument
@@ -2427,10 +2428,10 @@
  #define SYMBOL_TYPE(symbol)		(symbol)->type
  #define SYMBOL_LINE(symbol)		(symbol)->line
  #define SYMBOL_SYMTAB(symbol)		(symbol)->symtab
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.base/break.exp
+Index: gdb-6.8.50.20090228/gdb/testsuite/gdb.base/break.exp
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.base/break.exp	2009-01-19 20:05:01.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.base/break.exp	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/testsuite/gdb.base/break.exp	2009-01-19 20:05:01.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/testsuite/gdb.base/break.exp	2009-03-02 01:04:45.000000000 +0100
 @@ -880,6 +880,13 @@ gdb_expect {
          # marker4() is defined at line 46 when compiled with -DPROTOTYPES
  	pass "run until breakpoint set at small function, optimized file (line bp_location14)"
@@ -2445,10 +2446,10 @@
      -re ".*$gdb_prompt " {
  	fail "run until breakpoint set at small function, optimized file"
      }
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.cp/annota2.exp
+Index: gdb-6.8.50.20090228/gdb/testsuite/gdb.cp/annota2.exp
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.cp/annota2.exp	2009-01-03 06:58:04.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.cp/annota2.exp	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/testsuite/gdb.cp/annota2.exp	2009-01-03 06:58:04.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/testsuite/gdb.cp/annota2.exp	2009-03-02 01:04:45.000000000 +0100
 @@ -119,10 +119,11 @@ gdb_expect {
  # continue until exit
  # this will test:
@@ -2462,10 +2463,10 @@
  	  { pass "continue until exit" }
    -re ".*$gdb_prompt$"     { fail "continue to exit" }
    timeout	            { fail "continue to exit (timeout)" }
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-bt.c
+Index: gdb-6.8.50.20090228/gdb/testsuite/gdb.opt/inline-bt.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-bt.c	2009-02-28 07:34:09.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/testsuite/gdb.opt/inline-bt.c	2009-03-02 01:04:45.000000000 +0100
 @@ -0,0 +1,47 @@
 +/* Copyright (C) 2008 Free Software Foundation, Inc.
 +
@@ -2514,10 +2515,10 @@
 +
 +  return 0;
 +}
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-bt.exp
+Index: gdb-6.8.50.20090228/gdb/testsuite/gdb.opt/inline-bt.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-bt.exp	2009-02-28 07:34:09.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/testsuite/gdb.opt/inline-bt.exp	2009-03-02 01:04:45.000000000 +0100
 @@ -0,0 +1,63 @@
 +# Copyright 2008 Free Software Foundation, Inc.
 +
@@ -2582,10 +2583,10 @@
 +gdb_test "info frame" ".*inlined into frame.*" "func1 inlined (3)"
 +gdb_test "up" "#2  .*func2.*" "up from func1 (3)"
 +gdb_test "info frame" ".*inlined into frame.*" "func2 inlined (3)"
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-cmds.c
+Index: gdb-6.8.50.20090228/gdb/testsuite/gdb.opt/inline-cmds.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-cmds.c	2009-02-28 07:34:09.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/testsuite/gdb.opt/inline-cmds.c	2009-03-02 01:04:45.000000000 +0100
 @@ -0,0 +1,85 @@
 +/* Copyright (C) 2008 Free Software Foundation, Inc.
 +
@@ -2672,10 +2673,10 @@
 +
 +  return 0;
 +}
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-cmds.exp
+Index: gdb-6.8.50.20090228/gdb/testsuite/gdb.opt/inline-cmds.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-cmds.exp	2009-02-28 07:34:09.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/testsuite/gdb.opt/inline-cmds.exp	2009-03-02 01:04:45.000000000 +0100
 @@ -0,0 +1,279 @@
 +# Copyright 2008 Free Software Foundation, Inc.
 +
@@ -2956,10 +2957,10 @@
 +gdb_test "info frame" ".*inlined into frame.*" "outer_inline2 inlined"
 +gdb_test "up" "#4  main.*" "up from outer_inline2"
 +gdb_test "info frame" ".*\n caller of frame.*" "main not inlined"
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-locals.c
+Index: gdb-6.8.50.20090228/gdb/testsuite/gdb.opt/inline-locals.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-locals.c	2009-02-28 07:34:09.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/testsuite/gdb.opt/inline-locals.c	2009-03-02 01:04:45.000000000 +0100
 @@ -0,0 +1,52 @@
 +/* Copyright (C) 2008 Free Software Foundation, Inc.
 +
@@ -3013,10 +3014,10 @@
 +
 +  return 0;
 +}
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-locals.exp
+Index: gdb-6.8.50.20090228/gdb/testsuite/gdb.opt/inline-locals.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-locals.exp	2009-02-28 07:34:09.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/testsuite/gdb.opt/inline-locals.exp	2009-03-02 01:04:45.000000000 +0100
 @@ -0,0 +1,118 @@
 +# Copyright 2008 Free Software Foundation, Inc.
 +
@@ -3136,10 +3137,10 @@
 +}
 +
 +gdb_test "print array\[0\]" "\\\$$decimal = 184" "print local (3)"
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-markers.c
+Index: gdb-6.8.50.20090228/gdb/testsuite/gdb.opt/inline-markers.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-markers.c	2009-02-28 07:34:09.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/testsuite/gdb.opt/inline-markers.c	2009-03-02 01:04:45.000000000 +0100
 @@ -0,0 +1,36 @@
 +/* Copyright (C) 2008 Free Software Foundation, Inc.
 +
@@ -3177,10 +3178,10 @@
 +{
 +  inlined_fn (); /* inlined */
 +}
-Index: gdb-6.8.50.20090226/gdb/testsuite/lib/gdb.exp
+Index: gdb-6.8.50.20090228/gdb/testsuite/lib/gdb.exp
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/testsuite/lib/gdb.exp	2009-02-28 07:31:58.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/testsuite/lib/gdb.exp	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/testsuite/lib/gdb.exp	2009-03-02 01:04:32.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/testsuite/lib/gdb.exp	2009-03-02 01:04:45.000000000 +0100
 @@ -1474,6 +1474,37 @@ proc skip_hp_tests {} {
      return $skip_hp
  }
@@ -3219,10 +3220,10 @@
  set compiler_info		"unknown"
  set gcc_compiled		0
  set hp_cc_compiler		0
-Index: gdb-6.8.50.20090226/gdb/valops.c
+Index: gdb-6.8.50.20090228/gdb/valops.c
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/valops.c	2009-02-27 07:51:56.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/valops.c	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/valops.c	2009-03-02 01:01:17.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/valops.c	2009-03-02 01:04:45.000000000 +0100
 @@ -1072,7 +1072,7 @@ value_of_variable (struct symbol *var, s
        frame = block_innermost_frame (b);
        if (!frame)
@@ -3232,11 +3233,11 @@
  	      && SYMBOL_PRINT_NAME (BLOCK_FUNCTION (b)))
  	    error (_("No frame is currently executing in block %s."),
  		   SYMBOL_PRINT_NAME (BLOCK_FUNCTION (b)));
-Index: gdb-6.8.50.20090226/gdb/Makefile.in
+Index: gdb-6.8.50.20090228/gdb/Makefile.in
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/Makefile.in	2009-02-28 07:31:58.000000000 +0100
-+++ gdb-6.8.50.20090226/gdb/Makefile.in	2009-02-28 07:34:09.000000000 +0100
-@@ -663,6 +663,7 @@ SFILES = ada-exp.y ada-lang.c ada-typepr
+--- gdb-6.8.50.20090228.orig/gdb/Makefile.in	2009-03-02 01:04:32.000000000 +0100
++++ gdb-6.8.50.20090228/gdb/Makefile.in	2009-03-02 01:04:45.000000000 +0100
+@@ -665,6 +665,7 @@ SFILES = ada-exp.y ada-lang.c ada-typepr
  	inf-loop.c \
  	infcall.c \
  	infcmd.c inflow.c infrun.c \
@@ -3244,7 +3245,7 @@
  	interps.c \
  	jv-exp.y jv-lang.c jv-valprint.c jv-typeprint.c \
  	language.c linespec.c \
-@@ -835,6 +836,7 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $
+@@ -837,6 +838,7 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $
  	user-regs.o \
  	frame.o frame-unwind.o doublest.o \
  	frame-base.o \
@@ -3252,10 +3253,10 @@
  	gnu-v2-abi.o gnu-v3-abi.o cp-abi.o cp-support.o \
  	cp-namespace.o \
  	reggroups.o regset.o \
-Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/Makefile.in
+Index: gdb-6.8.50.20090228/gdb/testsuite/gdb.opt/Makefile.in
 ===================================================================
---- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.opt/Makefile.in	2008-04-18 01:06:54.000000000 +0200
-+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/Makefile.in	2009-02-28 07:34:09.000000000 +0100
+--- gdb-6.8.50.20090228.orig/gdb/testsuite/gdb.opt/Makefile.in	2008-04-18 01:06:54.000000000 +0200
++++ gdb-6.8.50.20090228/gdb/testsuite/gdb.opt/Makefile.in	2009-03-02 01:04:45.000000000 +0100
 @@ -1,7 +1,7 @@
  VPATH = @srcdir@
  srcdir = @srcdir@

gdb-archer.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.1 -r 1.2 gdb-archer.patch
Index: gdb-archer.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-archer.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- gdb-archer.patch	2 Mar 2009 00:11:35 -0000	1.1
+++ gdb-archer.patch	2 Mar 2009 23:14:15 -0000	1.2
@@ -1,8 +1,30 @@
+http://sourceware.org/gdb/wiki/ProjectArcher
+http://sourceware.org/gdb/wiki/ArcherBranchManagement
+
+GIT snapshot:
+commit 8cc3753a9aad85bf53bef54c04334c60d16cb251
+
+branch `archer' - the merge of branches:
+archer-jankratochvil-merge-expr
+	archer-keiths-expr-cumulative
+		(archer-swagiaal-using-directive)
+archer-jankratochvil-misc
+archer-jankratochvil-python
+	archer-jankratochvil-type-refcount
+	archer-tromey-python
+archer-jankratochvil-vla
+	archer-jankratochvil-type-refcount
+archer-pmuldoon-exception-rewind-master
+archer-sergio-catch-syscall
+archer-tromey-charset
+archer-tromey-delayed-symfile
+
+
 diff --git a/gdb/Makefile.in b/gdb/Makefile.in
-index af3f534..716884d 100644
+index 74aa72e..fdb0582 100644
 --- a/gdb/Makefile.in
 +++ b/gdb/Makefile.in
-@@ -167,11 +167,16 @@ INTL_CFLAGS = @INCINTL@
+@@ -167,11 +167,18 @@ INTL_CFLAGS = @INCINTL@
  
  # Where is the ICONV library?  This can be empty if libc has iconv.
  LIBICONV = @LIBICONV@
@@ -16,10 +38,12 @@
 +# Did the user give us a --with-gdb-datadir option?
 +GDB_DATADIR_PATH = @GDB_DATADIR_PATH@
 +
++GDB_PYTHONDIR_PATH = @GDB_PYTHONDIR_PATH@
++
  # Helper code from gnulib.
  LIBGNU = gnulib/libgnu.a
  INCGNU = -I$(srcdir)/gnulib -Ignulib
-@@ -270,12 +275,34 @@ SUBDIR_TUI_CFLAGS= \
+@@ -270,12 +277,34 @@ SUBDIR_TUI_CFLAGS= \
  #
  SUBDIR_PYTHON_OBS = \
  	python.o \
@@ -54,7 +78,7 @@
  	python/python-utils.c \
  	python/python-value.c
  SUBDIR_PYTHON_DEPS =
-@@ -389,7 +416,8 @@ INTERNAL_CFLAGS_BASE = \
+@@ -390,7 +419,8 @@ INTERNAL_CFLAGS_BASE = \
  	$(CFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) \
  	$(GDB_CFLAGS) $(OPCODES_CFLAGS) $(READLINE_CFLAGS) \
  	$(BFD_CFLAGS) $(INCLUDE_CFLAGS) $(LIBDECNUMBER_CFLAGS) \
@@ -64,7 +88,7 @@
  INTERNAL_WARN_CFLAGS = $(INTERNAL_CFLAGS_BASE) $(GDB_WARN_CFLAGS)
  INTERNAL_CFLAGS = $(INTERNAL_WARN_CFLAGS) $(GDB_WERROR_CFLAGS)
  
-@@ -401,7 +429,7 @@ LDFLAGS = @LDFLAGS@
+@@ -402,7 +432,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.
@@ -73,7 +97,7 @@
  
  # If your system is missing alloca(), or, more likely, it's there but
  # it doesn't work, then refer to libiberty.
-@@ -662,6 +690,7 @@ SFILES = ada-exp.y ada-lang.c ada-typeprint.c ada-valprint.c ada-tasks.c \
+@@ -663,6 +693,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 \
@@ -81,7 +105,7 @@
  	inferior.c
  
  LINTFILES = $(SFILES) $(YYFILES) $(CONFIG_SRCS) init.c
-@@ -732,7 +761,8 @@ config/sparc/nm-sol2.h config/nm-linux.h config/mips/nm-irix5.h	\
+@@ -733,7 +764,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 \
@@ -91,7 +115,7 @@
  
  # Header files that already have srcdir in them, or which are in objdir.
  
-@@ -811,10 +841,16 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \
+@@ -812,10 +844,16 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \
  	trad-frame.o \
  	tramp-frame.o \
  	solib.o solib-null.o \
@@ -109,7 +133,7 @@
  TSOBS = inflow.o
  
  SUBDIRS = @subdirs@
-@@ -848,11 +884,38 @@ generated_files = config.h observer.h observer.inc ada-lex.c \
+@@ -849,11 +887,38 @@ generated_files = config.h observer.h observer.inc ada-lex.c \
  	$(COMPILE) $<
  	$(POSTCOMPILE)
  
@@ -149,7 +173,7 @@
  installcheck:
  
  # The check target can not use subdir_do, because subdir_do does not
-@@ -906,8 +969,11 @@ gdb.z:gdb.1
+@@ -907,8 +972,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.
@@ -163,7 +187,7 @@
  	transformed_name=`t='$(program_transform_name)'; \
  			  echo gdb | sed -e "$$t"` ; \
  		if test "x$$transformed_name" = x; then \
-@@ -1200,6 +1266,12 @@ stamp-h: config.in config.status
+@@ -1202,6 +1270,12 @@ stamp-h: config.in config.status
  	  CONFIG_LINKS= \
  	  $(SHELL) config.status
  
@@ -176,7 +200,7 @@
  config.status: configure configure.tgt configure.host
  	$(SHELL) config.status --recheck
  
-@@ -1843,10 +1915,54 @@ python.o: $(srcdir)/python/python.c
+@@ -1845,10 +1919,54 @@ python.o: $(srcdir)/python/python.c
  	$(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/python.c
  	$(POSTCOMPILE)
  
@@ -231,7 +255,7 @@
  python-utils.o: $(srcdir)/python/python-utils.c
  	$(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/python-utils.c
  	$(POSTCOMPILE)
-@@ -1855,6 +1971,30 @@ python-value.o: $(srcdir)/python/python-value.c
+@@ -1857,6 +1975,39 @@ python-value.o: $(srcdir)/python/python-value.c
  	$(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/python-value.c
  	$(POSTCOMPILE)
  
@@ -242,22 +266,31 @@
 +    gdb/command/pahole.py gdb/command/__init__.py \
 +    gdb/command/ignore_errors.py gdb/command/save_breakpoints.py \
 +    gdb/libstdcxx/v6/printers.py gdb/libstdcxx/v6/__init__.py \
-+    gdb/libstdcxx/__init__.py gdb/function/caller_is.py	\
++    gdb/libstdcxx/__init__.py gdb/function/caller_is.py \
 +    gdb/function/in_scope.py gdb/function/__init__.py gdb/backtrace.py \
 +    gdb/__init__.py
 +
 +# Install the Python library.  Python library files go under
-+# $(GDB_DATADIR_PATH)/python.
++# $(GDB_PYTHONDIR_PATH)/python.
 +install-python:
 +	files='$(PY_FILES)'; for file in $$files; do \
 +	  dir=`echo "$$file" | sed 's,/[^/]*$$,,'`; \
-+	  $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR_PATH)/python/$$dir; \
-+	  $(INSTALL_DATA) $(srcdir)/python/lib/$$file $(DESTDIR)$(GDB_DATADIR_PATH)/python/$$file; \
++	  $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_PYTHONDIR_PATH)/$$dir; \
++	  $(INSTALL_DATA) $(srcdir)/python/lib/$$file $(DESTDIR)$(GDB_PYTHONDIR_PATH)/$$file; \
 +	done
 +
-+# Brute force.
++# Other packages may have their files installed in $(GDB_PYTHONDIR_PATH).
 +uninstall-python:
-+	rm -rf $(DESTDIR)/$(GDB_DATADIR_PATH)/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,/[^/]*$$,,'`; \
++	  done \
++	done
 +
  #
  # Dependency tracking.  Most of this is conditional on GNU Make being
@@ -798,6 +831,39 @@
  	    fprintf_filtered (file, "\n");
  	  }
  	  break;
+diff --git a/gdb/block.c b/gdb/block.c
+index 8f0140c..d451769 100644
+--- a/gdb/block.c
++++ b/gdb/block.c
+@@ -207,24 +207,16 @@ block_set_scope (struct block *block, const char *scope,
+ }
+ 
+ /* This returns the first using directives associated to BLOCK, if
+-   any.  */
+-
+-/* FIXME: carlton/2003-04-23: This uses the fact that we currently
+-   only have using directives in static blocks, because we only
+-   generate using directives from anonymous namespaces.  Eventually,
[...5758 lines suppressed...]
+ extern char *ui_file_xstrdup (struct ui_file *file, long *length);
+ 
+-
++/* Similar to ui_file_xstrdup, but return a new string allocated on
++   OBSTACK.  */
++extern char *ui_file_obsavestring (struct ui_file *file,
++				   struct obstack *obstack, long *length);
+ 
+ extern long ui_file_read (struct ui_file *file, char *buf, long length_buf);
+ 
 diff --git a/gdb/utils.c b/gdb/utils.c
 index 9224839..88a9a39 100644
 --- a/gdb/utils.c
@@ -33030,7 +37059,7 @@
  }
  
 diff --git a/gdb/valops.c b/gdb/valops.c
-index 9810f2b..3f8d92c 100644
+index 9810f2b..14c562e 100644
 --- a/gdb/valops.c
 +++ b/gdb/valops.c
 @@ -38,6 +38,7 @@
@@ -33356,7 +37385,105 @@
  	  if (base_offset == -1)
  	    error (_("virtual baseclass botch"));
  	}
-@@ -2725,7 +2808,7 @@ value_struct_elt_for_reference (struct type *domain, int offset,
+@@ -2083,12 +2166,25 @@ find_overload_match (struct type **arg_types, int nargs,
+   if (method)
+     {
+       gdb_assert (obj);
++
++      /* OBJ may be a pointer value rather than the object itself.  */
++      obj = coerce_ref (obj);
++      while (TYPE_CODE (check_typedef (value_type (obj))) == TYPE_CODE_PTR)
++	obj = coerce_ref (value_ind (obj));
+       obj_type_name = TYPE_NAME (value_type (obj));
+-      /* Hack: evaluate_subexp_standard often passes in a pointer
+-         value rather than the object itself, so try again.  */
+-      if ((!obj_type_name || !*obj_type_name) 
+-	  && (TYPE_CODE (value_type (obj)) == TYPE_CODE_PTR))
+-	obj_type_name = TYPE_NAME (TYPE_TARGET_TYPE (value_type (obj)));
++
++      /* First check whether this is a data member, e.g. a pointer to
++	 a function.  */
++      if (TYPE_CODE (check_typedef (value_type (obj))) == TYPE_CODE_STRUCT)
++	{
++	  *valp = search_struct_field (name, obj, 0,
++				       check_typedef (value_type (obj)), 0);
++	  if (*valp)
++	    {
++	      *staticp = 1;
++	      return 0;
++	    }
++	}
+ 
+       fns_ptr = value_find_oload_method_list (&temp, name, 
+ 					      0, &num_fns, 
+@@ -2108,16 +2204,29 @@ find_overload_match (struct type **arg_types, int nargs,
+     }
+   else
+     {
+-      const char *qualified_name = SYMBOL_CPLUS_DEMANGLED_NAME (fsym);
++      const char *qualified_name = SYMBOL_NATURAL_NAME (fsym);
+ 
+-      /* If we have a C++ name, try to extract just the function
+-	 part.  */
+-      if (qualified_name)
+-	func_name = cp_func_name (qualified_name);
++      /* If we have a function with a C++ name, try to extract just
++	 the function part.  Do not try this for non-functions (e.g.
++	 function pointers).  */
++      if (qualified_name
++	  && TYPE_CODE (check_typedef (SYMBOL_TYPE (fsym))) == TYPE_CODE_FUNC)
++	{
++	  func_name = cp_func_name (qualified_name);
++
++	  /* If cp_func_name did not remove anything, the name of the
++	     symbol did not include scope or argument types - it was
++	     probably a C-style function.  */
++	  if (func_name && strcmp (func_name, qualified_name) == 0)
++	    {
++	      xfree (func_name);
++	      func_name = NULL;
++	    }
++	}
+ 
+-      /* If there was no C++ name, this must be a C-style function.
+-	 Just return the same symbol.  Do the same if cp_func_name
+-	 fails for some reason.  */
++      /* If there was no C++ name, this must be a C-style function or
++	 not a function at all.  Just return the same symbol.  Do the
++	 same if cp_func_name fails for some reason.  */
+       if (func_name == NULL)
+         {
+ 	  *symp = fsym;
+@@ -2558,8 +2667,8 @@ check_field (struct type *type, const char *name)
+    the comment before value_struct_elt_for_reference.  */
+ 
+ struct value *
+-value_aggregate_elt (struct type *curtype,
+-		     char *name, int want_address,
++value_aggregate_elt (struct type *curtype, char *name,
++		     struct type *expect_type, int want_address,
+ 		     enum noside noside)
+ {
+   switch (TYPE_CODE (curtype))
+@@ -2567,7 +2676,7 @@ value_aggregate_elt (struct type *curtype,
+     case TYPE_CODE_STRUCT:
+     case TYPE_CODE_UNION:
+       return value_struct_elt_for_reference (curtype, 0, curtype, 
+-					     name, NULL,
++					     name, expect_type,
+ 					     want_address, noside);
+     case TYPE_CODE_NAMESPACE:
+       return value_namespace_elt (curtype, name, 
+@@ -2671,7 +2780,7 @@ value_struct_elt_for_reference (struct type *domain, int offset,
+ 	  if (intype)
+ 	    {
+ 	      while (j--)
+-		if (TYPE_FN_FIELD_TYPE (f, j) == intype)
++		if (compare_parameters (TYPE_FN_FIELD_TYPE (f, j), intype))
+ 		  break;
+ 	      if (j < 0)
+ 		error (_("no member function matches that type instantiation"));
+@@ -2725,7 +2834,7 @@ value_struct_elt_for_reference (struct type *domain, int offset,
  		  result = allocate_value (lookup_methodptr_type (TYPE_FN_FIELD_TYPE (f, j)));
  		  cplus_make_method_ptr (value_type (result),
  					 value_contents_writeable (result),
@@ -33365,7 +37492,16 @@
  		}
  	    }
  	  return result;
-@@ -2884,7 +2967,7 @@ value_full_object (struct value *argp,
+@@ -2791,7 +2900,7 @@ value_maybe_namespace_elt (const struct type *curtype,
+   struct symbol *sym;
+   struct value *result;
+ 
+-  sym = cp_lookup_symbol_namespace (namespace_name, name, NULL,
++  sym = cp_lookup_symbol_namespace_incremental (namespace_name, name, NULL,
+ 				    get_selected_block (0), 
+ 				    VAR_DOMAIN);
+ 
+@@ -2884,7 +2993,7 @@ value_full_object (struct value *argp,
    /* Go back by the computed top_offset from the beginning of the
       object, adjusting for the embedded offset of argp if that's what
       value_rtti_type used for its computation.  */
@@ -33374,7 +37510,7 @@
  			   (using_enc ? 0 : value_embedded_offset (argp)));
    deprecated_set_value_type (new_val, value_type (argp));
    set_value_embedded_offset (new_val, (using_enc
-@@ -2989,8 +3072,6 @@ value_slice (struct value *array, int lowbound, int length)
+@@ -2989,8 +3098,6 @@ value_slice (struct value *array, int lowbound, int length)
        || lowbound + length - 1 > upperbound)
      error (_("slice out of range"));
  
@@ -34079,7 +38215,7 @@
 +  make_final_cleanup (value_history_cleanup, NULL);
  }
 diff --git a/gdb/value.h b/gdb/value.h
-index aa43365..fdb22d2 100644
+index aa43365..f41def9 100644
 --- a/gdb/value.h
 +++ b/gdb/value.h
 @@ -272,12 +272,23 @@ extern void set_value_component_location (struct value *component,
@@ -34136,7 +38272,15 @@
  extern struct value *value_string (char *ptr, int len);
  extern struct value *value_bitstring (char *ptr, int len);
  
-@@ -533,14 +551,14 @@ extern void set_internalvar_component (struct internalvar *var,
+@@ -435,6 +453,7 @@ extern struct value *value_struct_elt (struct value **argp,
+ 
+ extern struct value *value_aggregate_elt (struct type *curtype,
+ 					  char *name,
++					  struct type *expect_type,
+ 					  int want_address,
+ 					  enum noside noside);
+ 
+@@ -533,14 +552,14 @@ extern void set_internalvar_component (struct internalvar *var,
  				       int bitpos, int bitsize,
  				       struct value *newvalue);
  
@@ -34154,7 +38298,7 @@
  
  extern int value_equal (struct value *arg1, struct value *arg2);
  
-@@ -619,7 +637,7 @@ extern int common_val_print (struct value *val,
+@@ -619,7 +638,7 @@ extern int common_val_print (struct value *val,
  			     const struct value_print_options *options,
  			     const struct language_defn *language);
  
@@ -34163,7 +38307,7 @@
  			     struct ui_file *stream,
  			     const struct value_print_options *options);
  
-@@ -658,5 +676,22 @@ extern struct value *value_allocate_space_in_inferior (int);
+@@ -658,5 +677,22 @@ extern struct value *value_allocate_space_in_inferior (int);
  
  extern struct value *value_of_local (const char *name, int complain);
  


Index: gdb.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb.spec,v
retrieving revision 1.324
retrieving revision 1.325
diff -u -r1.324 -r1.325
--- gdb.spec	2 Mar 2009 00:11:35 -0000	1.324
+++ gdb.spec	2 Mar 2009 23:14:15 -0000	1.325
@@ -9,7 +9,7 @@
 # Set version to contents of gdb/version.in.
 # NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3 
 # and, since January 2005, X.Y.Z.date for daily snapshots, like 6.3.50.20050112 # (daily snapshot from mailine), or 6.3.0.20040112 (head of the release branch).
-Version: 6.8.50.20090228
+Version: 6.8.50.20090302
 
 # 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.
@@ -370,11 +370,16 @@
 # The merged branch `archer' of: http://sourceware.org/gdb/wiki/ProjectArcher
 Patch349: gdb-archer.patch
 
+# Fix parsing elf64-i386 files for kdump PAE vmcore dumps (BZ 457187).
+# - Turn on 64-bit BFD support, globally enable AC_SYS_LARGEFILE.
+Patch352: gdb-6.8-bz457187-largefile.patch
+
 BuildRequires: ncurses-devel texinfo gettext flex bison expat-devel
 Requires: readline
 BuildRequires: readline-devel
 Requires: rpm-libs
 BuildRequires: rpm-devel
+%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
 Requires: python-libs
 BuildRequires: python-devel
 
@@ -556,6 +561,7 @@
 %patch337 -p1
 %patch343 -p1
 %patch348 -p1
+%patch352 -p1
 %patch124 -p1
 
 find -name "*.orig" | xargs rm -f
@@ -629,6 +635,7 @@
 %else
 	--without-libunwind				\
 %endif
+	--enable-64-bit-bfd				\
 %if 0%{?_with_debug:1}
 	--enable-static --disable-shared --enable-debug	\
 %endif
@@ -806,7 +813,8 @@
 %{_bindir}/pstack
 %{_mandir}/*/gstack.1*
 %{_mandir}/*/pstack.1*
-%{_datadir}/%{name}
+%{python_sitelib}/gdb
+%{_datadir}/gdb
 %endif	# 0%{!?_with_upstream:1}
 %{_infodir}/annotate.info*
 %{_infodir}/gdb.info*
@@ -822,18 +830,22 @@
 %endif
 
 %changelog
-* Sat Feb 28 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090228-1
+* 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
   * [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.
   * [exception-rewind] Fix fatal C++ exceptions in an inferior function call.
+  * [expr] Expressions, single-quote elimination, C++ input canonicalization.
+  * [using-directive] C++ namespaces.
   * [vla] C variable length arrays / DW_FORM_block / Fortran dynamic arrays.
   * [misc] Fix debuginfoless `return' (BZ 365111), fix command-line macros for
     expected GCC (BZ 479914), new testcase for valgrind (for BZ 483262),
     implement `info common' for Fortran, fix Fortran logical-kind=8 (BZ 465310),
-    fix static variable in C++ constructors (BZ 445912)
+    fix static variable in C++ constructors (BZ 445912), fix power7 (BZ 485319).
 - Upgrade to the FSF GDB gdb-6.8.50 snapshot.
+- Fix parsing elf64-i386 files for kdump PAE vmcore dumps (BZ 457187).
+  - Turn on 64-bit BFD support, globally enable AC_SYS_LARGEFILE.
 
 * Tue Feb 24 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 6.8.50.20090210-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/sources,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- sources	2 Mar 2009 00:11:35 -0000	1.30
+++ sources	2 Mar 2009 23:14:15 -0000	1.31
@@ -1 +1 @@
-4cde9c3dd1df54ec819af6407ec9d61b  gdb-6.8.50.20090228.tar.bz2
+a8eae0d4ef955ebcecfc7511af31070a  gdb-6.8.50.20090302.tar.bz2




More information about the fedora-extras-commits mailing list